/********************************************************************************************************************************/ /* 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 $GSDEF ***/ #ifndef __GSDEF_LOADED #define __GSDEF_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 /* */ /* Global symbol definition record (GSD) */ /* */ #define GSD$K_ENTRIES 1 /*Offset to first entry in record */ #define GSD$C_ENTRIES 1 /*Offset to first entry in record */ #define GSD$C_PSC 0 /*Psect definition */ #define GSD$C_SYM 1 /*Symbol specification */ #define GSD$C_EPM 2 /*Entry point and mask definition */ #define GSD$C_PRO 3 /*Procedure with formal arguments */ #define GSD$C_SYMW 4 /*Symbol specification with word psect */ #define GSD$C_EPMW 5 /*Entry point mask with word psect */ #define GSD$C_PROW 6 /*Procedure with word psect */ #define GSD$C_IDC 7 /*Random entity check */ #define GSD$C_ENV 8 /*Define environment */ #define GSD$C_LSY 9 /*Local symbol */ #define GSD$C_LEPM 10 /*Local symbol entry point definition */ #define GSD$C_LPRO 11 /*Local symbol procedure definition */ #define GSD$C_SPSC 12 /*Shareable image psect definition */ /* */ #define GSD$C_VECTOR_TYPE_INCREMENT 12 #define GSD$C_SYMV 13 /*Vectored (dual-valued) versions of SYM, */ #define GSD$C_EPMV 14 /* EPM, */ #define GSD$C_PROV 15 /* PRO */ /* */ #define GSD$C_MASK_TYPE_INCREMENT 15 #define GSD$C_SYMM 16 /*Masked versions of SYM, */ #define GSD$C_EPMM 17 /* EPM, */ #define GSD$C_PROM 18 /* PRO */ #define GSD$C_MAXRECTYP 18 /*Maximum entry type defined */ #ifdef __NEW_STARLET typedef struct _gsdef { unsigned char gsd$b_rectyp; /*Record type (OBJ$C_GSD) */ unsigned char gsd$b_gsdtyp; /*Type of entry (first byte of entry) */ /* Vectored symbol types are (regular + 12). For example, SYMV = SYM + 12. */ /* */ /* Mask symbol types are (regular + 15). For example, SYMM = SYM + 15. */ /* */ } GSDEF; #else /* __OLD_STARLET */ struct gsdef { unsigned char gsd$b_rectyp; /*Record type (OBJ$C_GSD) */ unsigned char gsd$b_gsdtyp; /*Type of entry (first byte of entry) */ /* Vectored symbol types are (regular + 12). For example, SYMV = SYM + 12. */ /* */ /* Mask symbol types are (regular + 15). For example, SYMM = SYM + 15. */ /* */ } ; #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 /* __GSDEF_LOADED */