home *** CD-ROM | disk | FTP | other *** search
/ Vectronix 2 / VECTRONIX2.iso / FILES_07 / MARK_WC2.LZH / INCLUDE / GEMOUT.H < prev    next >
C/C++ Source or Header  |  1988-04-27  |  1KB  |  51 lines

  1. /*
  2.  * gemout.h -- Miscellaneous definitions of GEM objects and archives;
  3.  * mostly for the benefit of ST-native 'file' program.
  4.  *
  5.  * Copyright (c) 1986-1987, Mark Williams Company, Chicago
  6.  * This file and its contents may not be copied or distributed
  7.  * without permission.
  8.  */
  9. #define GEMNSEG        4        /* # of ST segments */
  10. #define GEMOMAGIC    0x601A        /* ST magic number */
  11.  
  12. /* GEM object header */
  13. struct gemohdr {
  14.     short    g_magic;        /* Magic number */
  15.     long    g_ssize[GEMNSEG];    /* Segment sizes */
  16.     long    g_reserved;        /* Reserved, always zero */
  17.     long    g_entry;
  18.     short    g_relflag;        /* != 0 if stripped */
  19. };
  20.  
  21. #define GO_TEXT        0        /* Text segment */
  22. #define GO_DATA        1        /* Data segment */
  23. #define GO_BSS        2        /* Block storage segment */
  24. #define GO_SYM        3        /* Symbol table */
  25. /*
  26.  * GEM object symbol structure
  27.  */
  28. struct gemsym {
  29.     char gs_name[8];
  30.     int gs_type;
  31.     long gs_value;
  32. };
  33.  
  34. /*
  35.  * GEM archive format,
  36.  * with DRI modification of additional two bytes to header.
  37.  */
  38. #define GEMAMAGIC    0177545
  39.  
  40. struct gemahdr {
  41.     char    ga_name[14];
  42.     long    ga_date;
  43.     char    ga_uid;
  44.     char    ga_gid;
  45.     short    ga_mode;
  46.     long    ga_size;
  47.     short    ga_fill;
  48. };
  49.  
  50. /* End of gemout.h */
  51.