/********************************************************************************************************************************/ /* 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 $EGSDEF ***/ #ifndef __EGSDEF_LOADED #define __EGSDEF_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 /* */ /* EVAX Global symbol definition record (EGSD) */ /* */ #define EGSD$K_ENTRIES 2 /*Offset to first entry in record */ #define EGSD$C_ENTRIES 2 /*Offset to first entry in record */ #define EGSD$C_PSC 0 /*Psect definition */ #define EGSD$C_SYM 1 /*Symbol specification */ #define EGSD$C_IDC 2 /*Random entity check */ #define EGSD$C_SPSC 5 /*Shareable image psect definition */ #define EGSD$C_SYMV 6 /*Vectored (dual-valued) versions of SYM, */ #define EGSD$C_SYMM 7 /*Masked versions of SYM, */ #define EGSD$C_SYMG 8 /*EGST - gst version of SYM */ #define EGSD$C_PSC64 9 /*Psect with 64-bit length */ #define EGSD$C_SPSC64 10 /*Shareable image psect definition w/64b len/base */ #define EGSD$C_MAXRECTYP 10 /*Maximum entry type defined */ #ifdef __NEW_STARLET typedef struct _egsdef { unsigned short int egsd$w_rectyp; /*Record type (OBJ$C_GSD) */ unsigned short int egsd$w_recsiz; /*Size of theis EVAX EGSD */ unsigned int egsd$l_alignlw; /*Insure that subrecords are QW aligned */ unsigned short int egsd$w_gsdtyp; /*Type of entry (first byte of entry) */ unsigned short int egsd$w_gsdsiz; /*Size of this entry */ } EGSDEF; #else /* __OLD_STARLET */ struct egsdef { unsigned short int egsd$w_rectyp; /*Record type (OBJ$C_GSD) */ unsigned short int egsd$w_recsiz; /*Size of theis EVAX EGSD */ unsigned int egsd$l_alignlw; /*Insure that subrecords are QW aligned */ unsigned short int egsd$w_gsdtyp; /*Type of entry (first byte of entry) */ unsigned short int egsd$w_gsdsiz; /*Size of this entry */ } ; #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 /* __EGSDEF_LOADED */