/**/ /***************************************************************************/ /** **/ /** © Copyright 2010, Hewlett-Packard Development Company, L.P. **/ /** **/ /** Confidential computer software. Valid license from HP and/or **/ /** its subsidiaries required for possession, use, or copying. **/ /** **/ /** Consistent with FAR 12.211 and 12.212, Commercial Computer Software, **/ /** Computer Software Documentation, and Technical Data for Commercial **/ /** Items are licensed to the U.S. Government under vendor's standard **/ /** commercial license. **/ /** **/ /** Neither HP nor any of its subsidiaries shall be liable for technical **/ /** or editorial errors or omissions contained herein. The information **/ /** in this document is provided "as is" without warranty of any kind and **/ /** is subject to change without notice. The warranties for HP products **/ /** are set forth in the express limited warranty statements accompanying **/ /** such products. Nothing herein should be construed as constituting an **/ /** additional warranty. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:27:25 by OpenVMS SDL EV3-3 */ /* Source: 16-APR-1998 16:19:46 $1$DGA7274:[LIB_H.SRC]EISDDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $EISDDEF ***/ #ifndef __EISDDEF_LOADED #define __EISDDEF_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 /*+ */ /* EXTENDED IMAGE SECTION DESCRIPTOR DEFINITIONS */ /*- */ #define EISD$K_MAJORID 1 #define EISD$K_MINORID 1 #define EISD$M_GBL 0x1 #define EISD$M_CRF 0x2 #define EISD$M_DZRO 0x4 #define EISD$M_WRT 0x8 #define EISD$M_INITALCODE 0x10 #define EISD$M_BASED 0x20 #define EISD$M_FIXUPVEC 0x40 #define EISD$M_RESIDENT 0x80 #define EISD$M_VECTOR 0x100 #define EISD$M_PROTECT 0x200 #define EISD$M_LASTCLU 0x400 #define EISD$M_EXE 0x800 #define EISD$M_NONSHRADR 0x1000 #define EISD$M_QUAD_LENGTH 0x2000 #define EISD$M_ALLOC_64BIT 0x4000 #define EISD$K_LENDZRO 36 /*LENGTH OF DEMAND ZERO ISD (OR STACK ISD) */ #define EISD$C_LENDZRO 36 /*LENGTH OF DEMAND ZERO ISD (OR STACK ISD) */ #define EISD$K_LENPRIV 36 /*LENGTH OF PRIVATE ISD */ #define EISD$C_LENPRIV 36 /*LENGTH OF PRIVATE ISD */ #define EISD$K_LENGLBL 56 /*LENGTH OF OLD GLOBAL ISD */ #define EISD$C_LENGLBL 56 /*LENGTH OF OLD GLOBAL ISD */ #define EISD$K_MAXLENGLBL 84 /*MAX LENGTH OF NEW GLOBAL ISD */ #define EISD$C_MAXLENGLBL 84 /*MAX LENGTH OF NEW GLOBAL ISD */ /*+ */ #define EISD$K_MATALL 0 /*MATCH ALWAYS, USE GLOBAL SECTION */ #define EISD$K_MATEQU 1 /*MATCH IF ISD$L_IDENT EQU GBL ID */ #define EISD$K_MATLEQ 2 /*MATCH IF ISD$L_IDENT LEQ GBL ID */ #define EISD$K_MATNEV 3 /*MATCH NEVER, USE PRIVATE COPY */ /*+ */ #define EISD$K_NORMAL 0 /*NORMAL PROGRAM IMAGE SECTION */ /*NO SPECIAL ACTION REQUIRED */ #define EISD$K_SHRFXD 1 /*SHAREABLE FIXED SECTION */ #define EISD$K_PRVFXD 2 /*PRIVATE FIXED SECTION */ #define EISD$K_SHRPIC 3 /*SHAREABLE PIC SECTION */ #define EISD$K_PRVPIC 4 /*PRIVATE PIC SECTION */ #define EISD$K_USRSTACK 253 /*USER STACK SECTION */ #define EISD$S_EISDDEF 84 /* Old size name - synonym */ typedef struct _eisd { __struct { /* Version of this EISD */ unsigned int eisd$l_majorid; /* Major ID */ unsigned int eisd$l_minorid; /* Minor ID */ } eisd$r_version; unsigned int eisd$l_eisdsize; /*SIZE IN BYTES OF THIS EISD */ unsigned int eisd$l_secsize; /*SIZE OF SECTION IN BYTES DESCRIBED BY THIS ISD */ __union { unsigned __int64 eisd$q_virt_addr; /* Virtual address of section */ void *eisd$l_virt_addr; /* low 32 bits of virtual address */ __struct { unsigned eisd$v_vaddr : 30; /* Virtual address in region */ unsigned eisd$v_p1 : 1; /* P1 SPACE */ unsigned eisd$v_system : 1; /* SYSTEM SPACE */ } eisd$r_va_bits; } eisd$r_address_overlay; __union { unsigned int eisd$l_flags; /*FLAGS AND ISD TYPE */ __struct { unsigned eisd$v_gbl : 1; /* GLOBAL */ unsigned eisd$v_crf : 1; /* COPY ON REFERENCE */ unsigned eisd$v_dzro : 1; /* DEMAND ZERO PAGE */ unsigned eisd$v_wrt : 1; /* WRITABLE */ unsigned eisd$v_initalcode : 1; /* ISD IS PART OF INITIALIZATION CODE */ unsigned eisd$v_based : 1; /* ISECT IS BASED */ unsigned eisd$v_fixupvec : 1; /* ISECT IS FIXUP SECTION */ unsigned eisd$v_resident : 1; /* ISECT IS MEMORY-RESIDENT */ unsigned eisd$v_vector : 1; /* VECTOR CONTAINED IN IMAGE SECTION */ unsigned eisd$v_protect : 1; /* IMAGE SECTION IS PROTECTED */ unsigned eisd$v_lastclu : 1; /* LAST CLUSTER */ unsigned eisd$v_exe : 1; /* IF SET, THIS IS A CODE IMAGE SECTION */ unsigned eisd$v_nonshradr : 1; /* IF SET, SECTION CONTAINS NON-SHAREABLE ADDRESS DATA */ unsigned eisd$v_quad_length : 1; /* If set, quad length field (eisd$q_secsize) is valid */ unsigned eisd$v_alloc_64bit : 1; /* If set, allocate in 64-bit space */ unsigned eisd$v_fill_0_ : 1; } eisd$r_flags_bits; } eisd$r_flags_overlay; unsigned int eisd$l_vbn; /*BASE VIRTUAL BLOCK NUMBER */ __struct { /*Conrtol fields */ unsigned char eisd$b_pfc; /*Page faule cluster */ unsigned char eisd$b_matchctl; /*Linker match control */ unsigned char eisd$b_type; /*Section type */ unsigned char eisd$b_fill_1; /*filler */ } eisd$r_control; unsigned int eisd$l_ident; /*IDENT FOR GLOBAL SECTION */ __union { char eisd$t_gblnam [44]; /*GLOBAL NAME COUNTED STRING */ unsigned __int64 eisd$q_secsize; /*Quadword size for 64-bit sections */ } eisd$r_gblnam_overlay; /* MATCH CONTROL VIELD VALUES */ /*- */ /*BASE OF ZERO , INCR 1 */ /* ISD TYPE FIELD DEFINITIONS */ /*- */ } EISD; #if !defined(__VAXC) #define eisd$l_majorid eisd$r_version.eisd$l_majorid #define eisd$l_minorid eisd$r_version.eisd$l_minorid #define eisd$q_virt_addr eisd$r_address_overlay.eisd$q_virt_addr #define eisd$l_virt_addr eisd$r_address_overlay.eisd$l_virt_addr #define eisd$v_vaddr eisd$r_address_overlay.eisd$r_va_bits.eisd$v_vaddr #define eisd$v_p1 eisd$r_address_overlay.eisd$r_va_bits.eisd$v_p1 #define eisd$v_system eisd$r_address_overlay.eisd$r_va_bits.eisd$v_system #define eisd$l_flags eisd$r_flags_overlay.eisd$l_flags #define eisd$v_gbl eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_gbl #define eisd$v_crf eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_crf #define eisd$v_dzro eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_dzro #define eisd$v_wrt eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_wrt #define eisd$v_initalcode eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_initalcode #define eisd$v_based eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_based #define eisd$v_fixupvec eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_fixupvec #define eisd$v_resident eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_resident #define eisd$v_vector eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_vector #define eisd$v_protect eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_protect #define eisd$v_lastclu eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_lastclu #define eisd$v_exe eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_exe #define eisd$v_nonshradr eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_nonshradr #define eisd$v_quad_length eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_quad_length #define eisd$v_alloc_64bit eisd$r_flags_overlay.eisd$r_flags_bits.eisd$v_alloc_64bit #define eisd$b_pfc eisd$r_control.eisd$b_pfc #define eisd$b_matchctl eisd$r_control.eisd$b_matchctl #define eisd$b_type eisd$r_control.eisd$b_type #define eisd$b_fill_1 eisd$r_control.eisd$b_fill_1 #define eisd$t_gblnam eisd$r_gblnam_overlay.eisd$t_gblnam #define eisd$q_secsize eisd$r_gblnam_overlay.eisd$q_secsize #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 /* __EISDDEF_LOADED */