/***************************************************************************/ /** **/ /** HPE CONFIDENTIAL. This software is confidential proprietary software **/ /** licensed by Hewlett-Packard Enterprise Development, LP, and is not **/ /** authorized to be used, duplicated OR disclosed to anyone without the **/ /** prior written permission of HPE. **/ /** © 2023 Copyright Hewlett-Packard Enterprise Development, LP **/ /** **/ /** VMS SOFTWARE, INC. CONFIDENTIAL. This software is confidential **/ /** proprietary software licensed by VMS Software, Inc., and is not **/ /** authorized to be used, duplicated or disclosed to anyone without **/ /** the prior written permission of VMS Software, Inc. **/ /** © 2023 Copyright VMS Software, Inc. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 9-Nov-2023 12:06:47 by OpenVMS SDL V3.7 */ /* Source: 07-DEC-2017 14:20:10 $1$DGA8345:[LIB_H.SRC]SHLDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $SHLDEF ***/ #ifndef __SHLDEF_LOADED #define __SHLDEF_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 /*+ */ /* SHL - SHAREABLE IMAGE LIST */ /* */ /* THIS LIST IS CREATED IN THE IMAGE FIXUP SECTION BY THE LINKER AND */ /* USED BY THE IMAGE ACTIVATOR FOR DOING SHAREABLE IMAGE FIXUPS. */ /*- */ #define SHL$M_FIXUP 0x1 #define SHL$C_OLD_SHL_SIZE 56 /* Size of "old" SHL */ #define SHL$C_MAXNAMLNG 39 /* Maximum length of image name */ #define SHL$K_LENGTH 68 /* Length of shareable image list element */ #define SHL$C_LENGTH 68 /* Length of shareable image list element */ #define SHL$S_SHLDEF 68 typedef struct _shl { #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __long /* And set ptr size default to 64-bit pointers */ void *shl$q_baseva; /* Base address of this shareable image */ #else unsigned __int64 shl$q_baseva; #endif #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif struct _shl *shl$l_shlptr; /* Pointer from SHL in shareable image */ /* to associated SHL in executable image */ unsigned int shl$l_ident; /* GSMATCH */ void *shl$l_permctx; /* Permanent sharable image context */ char shl$b_shl_size; /* Size of SHL elements */ short int shldef$$_fill_1; /* Spare for extensions */ __union { unsigned char shl$b_flags; /* Flags */ __struct { unsigned shl$v_fixup : 1; /* Fixups against this shareable have been done */ unsigned shl$v_fill_2_ : 7; } shl$r_fill_1_; } shl$r_fill_0_; void *shl$l_icb; /* Address of the image control block */ __union { char shl$t_imgnam [40]; /* Shareable image name (ASCIC string) */ char shl$b_namlng; /* Synonym for name count */ } shl$r_imgnam_overlay; } SHL; #if !defined(__VAXC) #define shl$b_flags shl$r_fill_0_.shl$b_flags #define shl$v_fixup shl$r_fill_0_.shl$r_fill_1_.shl$v_fixup #define shl$t_imgnam shl$r_imgnam_overlay.shl$t_imgnam #define shl$b_namlng shl$r_imgnam_overlay.shl$b_namlng #endif /* #if !defined(__VAXC) */ #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 /* __SHLDEF_LOADED */