1 /* 2 * @(#)lmanifest.h 1.2 (Berkeley) 03/29/83 3 */ 4 /* the key: 5 LDI defined and initialized: storage set aside 6 LIB defined on a library 7 LDC defined as a common region on UNIX 8 LDX defined by an extern: if ! pflag, same as LDI 9 LRV function returns a value 10 LUV function used in a value context 11 LUE function used in effects context 12 LUM mentioned somewhere other than at the declaration 13 LST defined as a static 14 */ 15 # define LDI 0001 16 # define LIB 0002 17 # define LDC 0004 18 # define LDX 0010 19 # define LRV 0020 20 # define LUV 0040 21 # define LUE 0100 22 # define LUM 0200 23 # define LST 0400 24 25 # define LFN 01000 /* filename record */ 26 27 /* number of chars in NAME, and filename */ 28 #ifndef FLEXNAMES 29 # define LCHNM 8 30 # define LFNM 14 31 #endif 32 33 typedef struct ty { 34 TWORD aty; 35 short extra; 36 short extra1; 37 } ATYPE; 38 39 #define X_NONAME 0x8000 /* for extra1, if structure has no name */ 40 41 typedef struct line { 42 short decflag; 43 #ifndef FLEXNAMES 44 char name[LCHNM]; 45 #else 46 char *name; 47 #endif 48 short nargs; 49 short fline; 50 ATYPE type; 51 } LINE; 52 53 union rec { 54 struct line l; 55 struct { 56 short decflag; 57 #ifndef FLEXNAMES 58 char fn[LFNM]; 59 #else 60 char *fn; 61 #endif 62 } f; 63 }; 64