/* <lnkdef.h> * * OBJFMT -- linker options record (LNK) */ #ifndef _LNKDEF_H #define _LNKDEF_H #define LNK$C_OLB 0 /* object library spec */ #define LNK$C_SHR 1 /* shareable image library spec */ #define LNK$C_OLI 2 /* object library with inclusion list */ #define LNK$C_OBJ 3 /* object file or symbol table file */ #define LNK$C_SHA 4 /* individually specified shr img */ #define LNK$C_MAXRECTYP 4 /* highest current record type */ #define LNK$V_SELSER 0 #define LNK$V_LIBSRCH 1 #define LNK$M_SELSER (1<<LNK$V_SELSER) /* 0x01 */ #define LNK$M_LIBSRCH (1<<LNK$V_LIBSRCH) /* 0x02 */ struct lnkdef { unsigned char lnk$b_rectyp; /* record type LNK */ unsigned char lnk$b_lnktyp; /* sub record type */ union { unsigned short lnk$w_flags; struct { unsigned lnk$v_selser : 1; /* selectively searched (LNK$C_OBJ) */ unsigned lnk$v_libsrch : 1; unsigned : 6; } lnk$r_flags_bits; } lnk$r_flags_overlay; union { unsigned short lnk$w_namlng; /* length of filespec name */ struct { unsigned : 8, : 8; /* char fill[2]; */ char lnk$t_name[1]; /* actual name */ } lnk$r_namlng_fields; } lnk$r_namlng_overlay; }; #endif /*_LNKDEF_H*/