/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:03 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]OBJFMT.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $LNKDEF ***/ #ifndef __LNKDEF_LOADED #define __LNKDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /* */ /* Linker Options Record (LNK) */ /* */ #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$M_SELSER 0x1 #define LNK$M_LIBSRCH 0x2 #ifdef __NEW_STARLET typedef struct _lnkdef { unsigned char lnk$b_rectyp; /* record type LNK */ unsigned char lnk$b_lnktyp; /* sub record type */ __union { unsigned short int lnk$w_flags; __struct { unsigned lnk$v_selser : 1; /* selectively searched (LNK$C_OBJ) */ unsigned lnk$v_libsrch : 1; unsigned lnk$v_fill_14_ : 6; } lnk$r_flags_bits; } lnk$r_flags_overlay; __union { unsigned short int lnk$w_namlng; /* length of filespec name */ __struct { char lnkdef$$_fill_1 [2]; } lnk$r_namlng_fields; } lnk$r_namlng_overlay; } LNKDEF; #if !defined(__VAXC) #define lnk$w_flags lnk$r_flags_overlay.lnk$w_flags #define lnk$v_selser lnk$r_flags_overlay.lnk$r_flags_bits.lnk$v_selser #define lnk$v_libsrch lnk$r_flags_overlay.lnk$r_flags_bits.lnk$v_libsrch #define lnk$w_namlng lnk$r_namlng_overlay.lnk$w_namlng #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ struct lnkdef { unsigned char lnk$b_rectyp; /* record type LNK */ unsigned char lnk$b_lnktyp; /* sub record type */ __union { unsigned short int lnk$w_flags; __struct { unsigned lnk$v_selser : 1; /* selectively searched (LNK$C_OBJ) */ unsigned lnk$v_libsrch : 1; unsigned lnk$v_fill_14_ : 6; } lnk$r_flags_bits; } lnk$r_flags_overlay; __union { unsigned short int lnk$w_namlng; /* length of filespec name */ __struct { char lnkdef$$_fill_1 [2]; } lnk$r_namlng_fields; } lnk$r_namlng_overlay; } ; #if !defined(__VAXC) #define lnk$w_flags lnk$r_flags_overlay.lnk$w_flags #define lnk$v_selser lnk$r_flags_overlay.lnk$r_flags_bits.lnk$v_selser #define lnk$v_libsrch lnk$r_flags_overlay.lnk$r_flags_bits.lnk$v_libsrch #define lnk$w_namlng lnk$r_namlng_overlay.lnk$w_namlng #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __LNKDEF_LOADED */