/**/ /***************************************************************************/ /** **/ /** © 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:26:59 by OpenVMS SDL EV3-3 */ /* Source: 11-MAY-1993 14:19:26 $1$DGA7274:[LIB_H.SRC]ISDDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $ISDDEF ***/ #ifndef __ISDDEF_LOADED #define __ISDDEF_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 /*+ */ /* IMAGE SECTION DESCRIPTOR DEFINITIONS */ /*- */ #define ISD$K_LENDZRO 12 /*LENGTH OF DEMAND ZERO ISD */ #define ISD$C_LENDZRO 12 /*LENGTH OF DEMAND ZERO ISD */ #define ISD$M_GBL 0x1 #define ISD$M_CRF 0x2 #define ISD$M_DZRO 0x4 #define ISD$M_WRT 0x8 #define ISD$M_MATCHCTL 0x70 #define ISD$M_LASTCLU 0x80 #define ISD$M_INITALCODE 0x100 #define ISD$M_BASED 0x200 #define ISD$M_FIXUPVEC 0x400 #define ISD$M_RESIDENT 0x800 #define ISD$M_VECTOR 0x20000 #define ISD$M_PROTECT 0x40000 #define ISD$S_FLAGSIZ 24 /* NUMBER OF FLAG BITS, ISD TYPE EXCLUDED */ #define ISD$K_LENPRIV 16 /*LENGTH OF PRIVATE ISD */ #define ISD$C_LENPRIV 16 /*LENGTH OF PRIVATE ISD */ #define ISD$K_LENGLBL 36 /*LENGTH OF OLD GLOBAL ISD */ #define ISD$C_LENGLBL 36 /*LENGTH OF OLD GLOBAL ISD */ #define ISD$K_MAXLENGLBL 64 /*MAX LENGTH OF NEW GLOBAL ISD */ #define ISD$C_MAXLENGLBL 64 /*MAX LENGTH OF NEW GLOBAL ISD */ /*+ */ #define ISD$K_MATALL 0 /*MATCH ALWAYS, USE GLOBAL SECTION */ #define ISD$K_MATEQU 1 /*MATCH IF ISD$L_IDENT EQU GBL ID */ #define ISD$K_MATLEQ 2 /*MATCH IF ISD$L_IDENT LEQ GBL ID */ #define ISD$K_MATNEV 3 /*MATCH NEVER, USE PRIVATE COPY */ /*+ */ #define ISD$K_NORMAL 0 /*NORMAL PROGRAM IMAGE SECTION */ /*NO SPECIAL ACTION REQUIRED */ #define ISD$K_SHRFXD 1 /*SHAREABLE FIXED SECTION */ #define ISD$K_PRVFXD 2 /*PRIVATE FIXED SECTION */ #define ISD$K_SHRPIC 3 /*SHAREABLE PIC SECTION */ #define ISD$K_PRVPIC 4 /*PRIVATE PIC SECTION */ #define ISD$K_USRSTACK 253 /*USER STACK SECTION */ #define ISD$S_ISDDEF 64 /* Old size name - synonym */ typedef struct _isd { unsigned short int isd$w_size; /*SIZE IN BYTES OF THIS ISD */ unsigned short int isd$w_pagcnt; /*! OF PAGES DESCRIBED BY THIS ISD */ __union { unsigned int isd$l_vpnpfc; /*VPN & PFC VIELDS */ __struct { unsigned isd$v_vpn : 21; /* STARTING VIRTUAL PAGE NUMBER */ unsigned isd$v_p1 : 1; /* P1 SPACE */ unsigned isd$v_system : 1; /* SYSTEM SPACE */ unsigned isddef$$_fill_1 : 1; /* SPARE */ unsigned isd$v_pfc : 8; /* PAGE FAULT CLUSTER */ } isd$r_vpnpfc_bits0; __struct { unsigned isd$v_vpg : 23; /* VIRTUAL PAGE INCLUDING P1 & S */ unsigned isd$v_fill_0_ : 1; } isd$r_vpnpfc_bits1; __struct { char isddef$$_fill_4 [3]; unsigned char isd$b_pfc; /*PAGE FAULT CLUSTER */ } isd$r_vpnpfc_fields2; } isd$r_vpnpfc_overlay; __union { unsigned int isd$l_flags; /*FLAGS AND ISD TYPE */ __struct { unsigned isd$v_gbl : 1; /* GLOBAL */ unsigned isd$v_crf : 1; /* COPY ON REFERENCE */ unsigned isd$v_dzro : 1; /* DEMAND ZERO PAGE */ unsigned isd$v_wrt : 1; /* WRITABLE */ unsigned isd$v_matchctl : 3; /* IDENT MATCH CONTROL FIELD */ unsigned isd$v_lastclu : 1; /* ISD IS PART OF LAST P0 SPACE CLUSTER */ unsigned isd$v_initalcode : 1; /* ISD IS PART OF INITIALIZATION CODE */ unsigned isd$v_based : 1; /* ISECT IS BASED */ unsigned isd$v_fixupvec : 1; /* ISECT IS FIXUP SECTION */ unsigned isd$v_resident : 1; /* ISECT IS MEMORY-RESIDENT */ unsigned isddef$$_fill_2 : 5; /* UNUSED, RESERVED FOR FUTURE USE */ unsigned isd$v_vector : 1; /* VECTOR CONTAINED IN IMAGE SECTION */ unsigned isd$v_protect : 1; /* IMAGE SECTION IS PROTECTED */ unsigned isddef$$_fill_3 : 5; /* UNUSED, RESERVED FOR FUTURE USE */ } isd$r_flags_bits; __struct { char isddef$$_fill_5 [3]; unsigned char isd$b_type; /*ISD TYPE CODE */ } isd$r_flags_fields; } isd$r_flags_overlay; unsigned int isd$l_vbn; /*BASE VIRTUAL BLOCK NUMBER */ unsigned int isd$l_ident; /*IDENT FOR GLOBAL SECTION */ char isd$t_gblnam [44]; /*GLOBAL NAME COUNTED STRING */ /* MATCH CONTROL VIELD VALUES */ /*- */ /*BASE OF ZERO , INCR 1 */ /* ISD TYPE FIELD DEFINITIONS */ /*- */ } ISD; #if !defined(__VAXC) #define isd$l_vpnpfc isd$r_vpnpfc_overlay.isd$l_vpnpfc #define isd$v_vpn isd$r_vpnpfc_overlay.isd$r_vpnpfc_bits0.isd$v_vpn #define isd$v_p1 isd$r_vpnpfc_overlay.isd$r_vpnpfc_bits0.isd$v_p1 #define isd$v_system isd$r_vpnpfc_overlay.isd$r_vpnpfc_bits0.isd$v_system #define isd$v_pfc isd$r_vpnpfc_overlay.isd$r_vpnpfc_bits0.isd$v_pfc #define isd$v_vpg isd$r_vpnpfc_overlay.isd$r_vpnpfc_bits1.isd$v_vpg #define isd$b_pfc isd$r_vpnpfc_overlay.isd$r_vpnpfc_fields2.isd$b_pfc #define isd$l_flags isd$r_flags_overlay.isd$l_flags #define isd$v_gbl isd$r_flags_overlay.isd$r_flags_bits.isd$v_gbl #define isd$v_crf isd$r_flags_overlay.isd$r_flags_bits.isd$v_crf #define isd$v_dzro isd$r_flags_overlay.isd$r_flags_bits.isd$v_dzro #define isd$v_wrt isd$r_flags_overlay.isd$r_flags_bits.isd$v_wrt #define isd$v_matchctl isd$r_flags_overlay.isd$r_flags_bits.isd$v_matchctl #define isd$v_lastclu isd$r_flags_overlay.isd$r_flags_bits.isd$v_lastclu #define isd$v_initalcode isd$r_flags_overlay.isd$r_flags_bits.isd$v_initalcode #define isd$v_based isd$r_flags_overlay.isd$r_flags_bits.isd$v_based #define isd$v_fixupvec isd$r_flags_overlay.isd$r_flags_bits.isd$v_fixupvec #define isd$v_resident isd$r_flags_overlay.isd$r_flags_bits.isd$v_resident #define isd$v_vector isd$r_flags_overlay.isd$r_flags_bits.isd$v_vector #define isd$v_protect isd$r_flags_overlay.isd$r_flags_bits.isd$v_protect #define isd$b_type isd$r_flags_overlay.isd$r_flags_fields.isd$b_type #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 /* __ISDDEF_LOADED */