home *** CD-ROM | disk | FTP | other *** search
/ kermit.columbia.edu / kermit.columbia.edu.tar / kermit.columbia.edu / tmp9 / ckcvar.h < prev    next >
C/C++ Source or Header  |  2002-08-06  |  2KB  |  89 lines

  1. typedef
  2. struct _cktype {
  3.     unsigned char function:1;
  4.     unsigned char pointer :1;
  5.     unsigned char type    :4;
  6. } CKTYPE, * PCKTYPE ;
  7.  
  8. typedef
  9. union _ckfld {
  10.            char     schar ;
  11.     unsigned char   uchar ;
  12.            short    sshort ;
  13.     unsigned short  ushort ;
  14.            int      sint ;
  15.     unsigned int    uint ;
  16.            long     slong ;
  17.     unsigned long   ulong ;
  18.            char *   sstr  ;
  19.     unsigned char * ustr ;
  20.  
  21.            char     *pschar ;
  22.     unsigned char   *puchar ;
  23.            short    *psshort ;
  24.     unsigned short  *pushort ;
  25.            int      *psint ;
  26.     unsigned int    *puint ;
  27.            long     *pslong ;
  28.     unsigned long   *pulong ;
  29.            char *   *psstr  ;
  30.     unsigned char * *pustr ;
  31.  
  32.            char      (*scharf)() ;
  33.     unsigned char    (*ucharf)() ;
  34.            short     (*sshortf)() ;
  35.     unsigned short   (*ushortf)() ;
  36.            int       (*sintf)() ;
  37.     unsigned int     (*uintf)() ;
  38.            long      (*slongf)() ;
  39.     unsigned long    (*ulongf)() ;
  40.            char *    (*sstrf)()  ;
  41.     unsigned char *  (*ustrf)() ;
  42.  
  43.            char     *(*pscharf)() ;
  44.     unsigned char   *(*pucharf)() ;
  45.            short    *(*psshortf)() ;
  46.     unsigned short  *(*pushortf)() ;
  47.            int      *(*psintf)() ;
  48.     unsigned int    *(*puintf)() ;
  49.            long     *(*pslongf)() ;
  50.     unsigned long   *(*pulongf)() ;
  51.            char *   *(*psstrf)()  ;
  52.     unsigned char * *(*pustrf)() ;
  53. } CKFLD, * PCKFLD ;
  54.  
  55. typedef struct _ckvar CKVAR, * PCKVAR ;
  56. #ifdef ANSI
  57. typedef unsigned char * (*SETSTRF)(PCKVAR) ;
  58. #else
  59. typedef unsigned char * (*SETSTRF)() ;
  60. #endif
  61.  
  62. typedef
  63. struct _ckvar {
  64.     CKTYPE  def_t ;
  65.     CKFLD   def;
  66.     CKTYPE  cur_t;
  67.     CKFLD   cur;
  68.     SETSTRF setstrf;
  69. } ;
  70.  
  71. typedef struct _ckvargrp CKVARGRP, * PCKVARGRP ;
  72. struct _ckvargrp {
  73.     int varcount ;
  74. #ifdef ANSI
  75.     int (*initf)(PCKVARGRP);
  76.    #else
  77.     int (*initf);
  78. #endif
  79.     CKVAR var[64];
  80. } ;
  81.  
  82. typedef struct _ckvarall CKVARALL, * PCKVARALL ;
  83. struct _ckvarall {
  84.     CKVARGRP term ;
  85.     CKVARGRP file ;
  86.     CKVARGRP misc ;
  87.     CKVARGRP proto ;
  88. };
  89.