17992Srrh /* 2*11761Sedward * @(#)lmanifest.h 1.2 (Berkeley) 03/29/83 37992Srrh */ 47992Srrh /* the key: 57992Srrh LDI defined and initialized: storage set aside 67992Srrh LIB defined on a library 77992Srrh LDC defined as a common region on UNIX 87992Srrh LDX defined by an extern: if ! pflag, same as LDI 97992Srrh LRV function returns a value 107992Srrh LUV function used in a value context 117992Srrh LUE function used in effects context 127992Srrh LUM mentioned somewhere other than at the declaration 13*11761Sedward LST defined as a static 147992Srrh */ 15*11761Sedward # define LDI 0001 16*11761Sedward # define LIB 0002 17*11761Sedward # define LDC 0004 18*11761Sedward # define LDX 0010 19*11761Sedward # define LRV 0020 20*11761Sedward # define LUV 0040 217992Srrh # define LUE 0100 227992Srrh # define LUM 0200 23*11761Sedward # define LST 0400 247992Srrh 25*11761Sedward # define LFN 01000 /* filename record */ 267992Srrh 277992Srrh /* number of chars in NAME, and filename */ 287992Srrh #ifndef FLEXNAMES 297992Srrh # define LCHNM 8 307992Srrh # define LFNM 14 317992Srrh #endif 327992Srrh 337992Srrh typedef struct ty { 347992Srrh TWORD aty; 357992Srrh short extra; 36*11761Sedward short extra1; 377992Srrh } ATYPE; 387992Srrh 39*11761Sedward #define X_NONAME 0x8000 /* for extra1, if structure has no name */ 40*11761Sedward 417992Srrh typedef struct line { 427992Srrh short decflag; 437992Srrh #ifndef FLEXNAMES 447992Srrh char name[LCHNM]; 457992Srrh #else 467992Srrh char *name; 477992Srrh #endif 487992Srrh short nargs; 497992Srrh short fline; 507992Srrh ATYPE type; 517992Srrh } LINE; 527992Srrh 537992Srrh union rec { 547992Srrh struct line l; 557992Srrh struct { 567992Srrh short decflag; 577992Srrh #ifndef FLEXNAMES 587992Srrh char fn[LFNM]; 597992Srrh #else 607992Srrh char *fn; 617992Srrh #endif 627992Srrh } f; 637992Srrh }; 64