home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / gened10.zip / GDSTYPEC.H < prev    next >
Text File  |  1996-04-03  |  6KB  |  113 lines

  1. /*** $PROLOG(C,INCLUDE) **********************************************/
  2. /*                                                                   */
  3. /*  INCLUDE NAME : GDSTYPEC                                          */
  4. /*                                                                   */
  5. /*  DESCRIPTIVE NAME : GDSED types                                   */
  6. /*                                                                   */
  7. /*  STATUS :                                                         */
  8. /*                                                                   */
  9. /*    RELEASE : 1.0.0                                                */
  10. /*    MODIFICATION : 0                                               */
  11. /*    DATE : 930930                                                  */
  12. /*                                                                   */
  13. /*  DESCRIPTION :  GDSED types declarations. This must be included   */
  14. /*                 by User Application Program if the .C file is used*/
  15. /*                 instead of the .DAT file.                         */
  16. /*                                                                   */
  17. /*  MODULE TYPE : INCLUDE FILE                                       */
  18. /*                                                                   */
  19. /*      SIZE :                                                       */
  20. /*                                                                   */
  21. /*  CHANGE ACTIVITY :                                                */
  22. /*                                                                   */
  23. /*  $INC(GDSTYPEC),COMP(GDS),    PROD(GDS)    : MODULE DESCRIPTOR    */
  24. /*                                                                   */
  25. /*  FLAG REASON   RLSE     DATE   ORIGIN  FLAG DESCRIPTOR            */
  26. /*  ---- -------- -------- ------ ------  -------------------------  */
  27. /*  $X0= GDSED    100      930930   RNSL: IMPLICIT FLAG, ORIGINAL    */
  28. /*  $Y1= xxxxxxxx nnn      yymmdd _logo_: _____Description_______    */
  29. /*                                                                   */
  30. /*                                                                   */
  31. /*** $EPROLOG(C,INCLUDE) *********************************************/
  32. /*********************************************************************/
  33. /*  Licensed Materials - Property of IBM                             */
  34. /*                                                                   */
  35. /*  GenE/D version 1.00 - 5648-075                                   */
  36. /*  Copyright (C) International Business Machines Corp., 1993        */
  37. /*  All rights reserved                                              */
  38. /*********************************************************************/
  39.  
  40.  
  41. /*************************************************************************
  42.  * The following types declarations are needed if the .C file is used,
  43.  * instead of .DAT file.
  44.  *************************************************************************
  45.  */
  46.  
  47. /**********************************************************************
  48.  * Metatable and Symbol Table index
  49.  **********************************************************************
  50.  */
  51. typedef unsigned short symdex;  /* symbol table index */
  52.  
  53. typedef unsigned short tbldex;  /* metatable index */
  54.  
  55. /**********************************************************************
  56.  * Metatoken
  57.  **********************************************************************
  58.  */
  59. typedef unsigned char mtok;     /* type for a single metatable token */
  60.  
  61. /**********************************************************************
  62.  * Type of tagging
  63.  **********************************************************************
  64.  */
  65. enum tagging {
  66.    implicit, explicit
  67. };
  68.  
  69. /**********************************************************************
  70.  * Imported Symbol
  71.  **********************************************************************
  72.  */
  73. struct berimp {                 /* imported symbol */
  74.    symdex          modname;     /* index of module name in the */
  75.                                 /* symbol table */
  76.    symdex          symname;     /* index of symbol name in the */
  77.                                 /* symbol table */
  78.    struct moddef  *module;      /* addr of resolved module defn */
  79.    tbldex          def;         /* index of resolved defn of symbol */
  80. };
  81.  
  82. /**********************************************************************
  83.  * Exported Symbol
  84.  **********************************************************************
  85.  */
  86. struct berexp {                 /* exported symbol */
  87.    symdex          symname;     /* index of symbol in symbol table */
  88.    tbldex          symdef;      /* index of symbol defn in metatable */
  89. };
  90.  
  91. /**********************************************************************
  92.  * Module Structure
  93.  **********************************************************************
  94.  */
  95. struct moddef {
  96.    char           *name;        /* address of module name in the */
  97.                                 /* symbol table */
  98.    char           *oid;         /* module object identifier */
  99.    char           *symtab;      /* symbols for module */
  100.    enum tagging    tagdefault;  /* implicit or explicit tagging */
  101.                                 /* default */
  102.    mtok           *toks;        /* metatable for module */
  103.    unsigned short  size;        /* metatable size */
  104.    int             numtypvals;  /* number of type defns */
  105.    tbldex         *typvals;     /* addr of array of references to */
  106.                                 /* type definitions */
  107.    int             numimps;     /* number of imported symbols */
  108.    struct berimp  *imps;        /* addr of array of imported symbols */
  109.    int             numexps;     /* number of exported symbols */
  110.    struct berexp  *exps;        /* addr of array of exported symbols */
  111.    struct moddef  *next;        /* next module */
  112. };
  113.