/***************************************************************************/ /** **/ /** 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:55 by OpenVMS SDL V3.7 */ /* Source: 21-APR-1993 15:56:50 $1$DGA8345:[LIB_H.SRC]EIAFDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $EIAFDEF ***/ #ifndef __EIAFDEF_LOADED #define __EIAFDEF_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 /*+ */ /* EIAF - EXTENDED IMAGE ACTIVATOR FIXUP SECTION */ /* */ /* THE IMAGE ACTIVATOR FIXUP SECTION IS AN IMAGE SECTION THAT IS CREATED */ /* BY THE LINKER AND USED BY THE IMAGE ACTIVATOR TO MODIFY THE IMAGE AS */ /* IT IS ACTIVATED. THIS IS DONE TO MAINTAIN THE POSITION INDEPENDENCE */ /* OF EXTERNAL REFERENCES. */ /*- */ #define EIAF$K_LENGTH 84 /* Length of fixed area (should be quadword aligned) */ #define EIAF$C_LENGTH 84 /* Length of fixed area */ #define EIAF$S_EIAFDEF 84 typedef struct _eiaf { __struct { /* Version of this EIAF */ unsigned int eiaf$l_majorid; /* Major ID */ unsigned int eiaf$l_minorid; /* Minor ID */ } eiaf$r_version; __union { /* Link for image activator use */ int eiaf$l_iaflink; __int64 eiaf$q_iaflink; } eiaf$r_iaflink; __union { /* Link for sharable image fixups */ int eiaf$l_fixuplnk; __int64 eiaf$q_fixuplnk; } eiaf$r_fixuplnk; int eiaf$l_size; /* Size of fixed part of EIAF */ __union { unsigned int eiaf$l_flags; /* Flags */ __struct { unsigned eiaf$v_shr : 1; /* This is in a shareable image */ unsigned eiaf$v_fill_0_ : 7; } eiaf$r_flags_bits; } eiaf$r_flags_overlay; int eiaf$l_qrelfixoff; /* Offset to quadword relocation fixup data */ int eiaf$l_lrelfixoff; /* Offset to longword relocation fixup data */ int eiaf$l_qdotadroff; /* Offset to quadword .address fixup data */ int eiaf$l_ldotadroff; /* Offset to longword .address fixup data */ int eiaf$l_codeadroff; /* Offset to code address fixup data */ int eiaf$l_lpfixoff; /* Offset to linkage pair fixup data */ int eiaf$l_chgprtoff; /* Offset to isect change prot. data */ int eiaf$l_shlstoff; /* Offset to shareable image list */ int eiaf$l_shrimgcnt; /* Number of shareable images in shlst */ int eiaf$l_shlextra; /* Number of extra shareable images allowed */ int eiaf$l_permctx; /* Permanent sharable image context */ void *eiaf$l_base_va; /* Base address of the image itself */ int eiaf$l_lppsbfixoff; /* Offset to "linkage pair with procedure signature" fixups */ } EIAF; #if !defined(__VAXC) #define eiaf$l_majorid eiaf$r_version.eiaf$l_majorid #define eiaf$l_minorid eiaf$r_version.eiaf$l_minorid #define eiaf$l_iaflink eiaf$r_iaflink.eiaf$l_iaflink #define eiaf$q_iaflink eiaf$r_iaflink.eiaf$q_iaflink #define eiaf$l_fixuplnk eiaf$r_fixuplnk.eiaf$l_fixuplnk #define eiaf$q_fixuplnk eiaf$r_fixuplnk.eiaf$q_fixuplnk #define eiaf$l_flags eiaf$r_flags_overlay.eiaf$l_flags #define eiaf$v_shr eiaf$r_flags_overlay.eiaf$r_flags_bits.eiaf$v_shr #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 /* __EIAFDEF_LOADED */