/***************************************************************************/ /** **/ /** 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:07:00 by OpenVMS SDL V3.7 */ /* Source: 26-DEC-2018 16:35:47 $1$DGA8345:[LIB_H.SRC]LDRHPDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $LDRHPDEF ***/ #ifndef __LDRHPDEF_LOADED #define __LDRHPDEF_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 #define LDRHP$K_CODE 0 /* execlet code UR */ #define LDRHP$K_DATA 1 /* execlet data URKW */ #define LDRHP$K_EXEC_DATA 2 /* exec data area ERKW */ #define LDRHP$K_RES_CODE 3 /* resident code UR */ #define LDRHP$K_RES_DATA 4 /* resident data URKW */ #define LDRHP$K_EXEC_DATA_S2 5 /* S2 space exec data area ERKW */ #define LDRHP$K_CODE_S2 6 /* S2 space execlet code UR */ #define LDRHP$K_RES_CODE_S2 7 /* S2 space resident code UR */ #define LDRHP$K_DATA_S2 8 /* S2 space execlet data area ERKW */ #define LDRHP$K_RO_DATA_S0 9 /* S0 read-only data UR for x86 */ #define LDRHP$K_RO_RES_DATA_S0 10 /* S0 read-only resident data UR for x86 */ #define LDRHP$K_RES_DATA_S2 11 /* S2 resident data for x86 */ #define LDRHP$K_NUM_TYPES 12 /* number of page types */ #define LDRHP$M_ALLOC_FAIL 0x1 #define LDRHP$M_RELEASED 0x2 #define LDRHP$C_LENGTH 128 #define LDRHP$K_LENGTH 128 #define LDRHP$S_LDRHPDEF 128 /* Old size name - synonym */ typedef struct _ldrhp { __union { unsigned __int64 ldrhp$q_type; /* type, code or data page */ __struct { unsigned int ldrhp$l_type_l; unsigned int ldrhp$l_type_h; } ldrhp$r_type_fields; } ldrhp$r_type_overlay; __union { unsigned __int64 ldrhp$q_size; /* size of huge page */ __struct { unsigned int ldrhp$l_size_l; unsigned int ldrhp$l_size_h; } ldrhp$r_size_fields; } ldrhp$r_size_overlay; __union { __int64 ldrhp$q_va; /* Base VA of huge page */ __struct { void *ldrhp$l_va_l; int ldrhp$l_va_h; } ldrhp$r_va_fields; } ldrhp$r_va_overlay; __union { __int64 ldrhp$q_pa; /* Base PA of huge page */ __struct { void *ldrhp$l_pa_l; int ldrhp$l_pa_h; } ldrhp$r_pa_fields; } ldrhp$r_pa_overlay; __union { unsigned __int64 ldrhp$q_slice_size; /* size of allocation quantity */ __struct { unsigned int ldrhp$l_slice_size_l; unsigned int ldrhp$l_slice_size_h; } ldrhp$r_slice_size_fields; } ldrhp$r_slice_size_overlay; __union { unsigned __int64 ldrhp$q_next_slice; /* next available slice in page */ __struct { unsigned int ldrhp$l_next_slice_l; unsigned int ldrhp$l_next_slice_h; } ldrhp$r_next_slice_fields; } ldrhp$r_next_slice_overlay; __union { unsigned __int64 ldrhp$q_free_slices; /* free slices in page */ __struct { unsigned int ldrhp$l_free_slices_l; unsigned int ldrhp$l_free_slices_h; } ldrhp$r_free_slices_fields; } ldrhp$r_free_slices_overlay; __union { unsigned __int64 ldrhp$q_used_slices; /* used slices in page */ __struct { unsigned int ldrhp$l_used_slices_l; unsigned int ldrhp$l_used_slices_h; } ldrhp$r_used_slices_fields; } ldrhp$r_used_slices_overlay; __union { unsigned __int64 ldrhp$q_startup_pages; /* pages in use when LDR$WRAPUP runs */ __struct { unsigned int ldrhp$l_startup_pages_l; unsigned int ldrhp$l_startup_pages_h; } ldrhp$r_startup_pages_fields; } ldrhp$r_startup_pages_overlay; __union { unsigned __int64 ldrhp$q_bitmap_size; /* size of huge page bitmap */ __struct { unsigned int ldrhp$l_bitmap_size_l; unsigned int ldrhp$l_bitmap_size_h; } ldrhp$r_bitmap_size_fields; } ldrhp$r_bitmap_size_overlay; __union { __int64 ldrhp$q_bitmap_va; /* base VA of huge page bitmap */ __struct { void *ldrhp$l_bitmap_va_l; int ldrhp$l_bitmap_va_h; } ldrhp$r_bitmap_va_fields; } ldrhp$r_bitmap_va_overlay; __union { unsigned __int64 ldrhp$q_flags; /* flags */ __struct { unsigned ldrhp$v_alloc_fail : 1; /* allocation attempt failed */ unsigned ldrhp$v_released : 1; /* unused pfns have been released */ unsigned ldrhp$v_fill_0_ : 6; } ldrhp$r_flags_bits; __struct { unsigned int ldrhp$l_flags_l; unsigned int ldrhp$l_flags_h; } ldrhp$r_flags_fields; } ldrhp$r_flags_overlay; __union { unsigned __int64 ldrhp$q_failpage_cnt; /* Count of pages in failed allocs */ __struct { unsigned int ldrhp$l_failpage_cnt_l; unsigned int ldrhp$l_failpage_cnt_h; } ldrhp$r_failpage_cnt_fields; } ldrhp$r_failpage_cnt_overlay; __union { unsigned __int64 ldrhp$q_failpage_max; /* Size of biggest failed alloc */ __struct { unsigned int ldrhp$l_failpage_max_l; unsigned int ldrhp$l_failpage_max_h; } ldrhp$r_failpage_max_fields; } ldrhp$r_failpage_max_overlay; __union { unsigned __int64 ldrhp$q_fail_pre_cnt; /* Count of failed allocs */ __struct { /* pre-LDR$WRAPUP */ unsigned int ldrhp$l_fail_pre_cnt_l; unsigned int ldrhp$l_fail_pre_cnt_h; } ldrhp$r_fail_pre_cnt_fields; } ldrhp$r_fail_pre_cnt_overlay; __union { unsigned __int64 ldrhp$q_fail_post_cnt; /* Count of failed allocs */ __struct { /* post-LDR$WRAPUP */ unsigned int ldrhp$l_fail_post_cnt_l; unsigned int ldrhp$l_fail_post_cnt_h; } ldrhp$r_fail_post_cnt_fields; } ldrhp$r_fail_post_cnt_overlay; } LDRHP; #if !defined(__VAXC) #define ldrhp$q_type ldrhp$r_type_overlay.ldrhp$q_type #define ldrhp$l_type_l ldrhp$r_type_overlay.ldrhp$r_type_fields.ldrhp$l_type_l #define ldrhp$l_type_h ldrhp$r_type_overlay.ldrhp$r_type_fields.ldrhp$l_type_h #define ldrhp$q_size ldrhp$r_size_overlay.ldrhp$q_size #define ldrhp$l_size_l ldrhp$r_size_overlay.ldrhp$r_size_fields.ldrhp$l_size_l #define ldrhp$l_size_h ldrhp$r_size_overlay.ldrhp$r_size_fields.ldrhp$l_size_h #define ldrhp$q_va ldrhp$r_va_overlay.ldrhp$q_va #define ldrhp$l_va_l ldrhp$r_va_overlay.ldrhp$r_va_fields.ldrhp$l_va_l #define ldrhp$l_va_h ldrhp$r_va_overlay.ldrhp$r_va_fields.ldrhp$l_va_h #define ldrhp$q_pa ldrhp$r_pa_overlay.ldrhp$q_pa #define ldrhp$l_pa_l ldrhp$r_pa_overlay.ldrhp$r_pa_fields.ldrhp$l_pa_l #define ldrhp$l_pa_h ldrhp$r_pa_overlay.ldrhp$r_pa_fields.ldrhp$l_pa_h #define ldrhp$q_slice_size ldrhp$r_slice_size_overlay.ldrhp$q_slice_size #define ldrhp$l_slice_size_l ldrhp$r_slice_size_overlay.ldrhp$r_slice_size_fields.ldrhp$l_slice_size_l #define ldrhp$l_slice_size_h ldrhp$r_slice_size_overlay.ldrhp$r_slice_size_fields.ldrhp$l_slice_size_h #define ldrhp$q_next_slice ldrhp$r_next_slice_overlay.ldrhp$q_next_slice #define ldrhp$l_next_slice_l ldrhp$r_next_slice_overlay.ldrhp$r_next_slice_fields.ldrhp$l_next_slice_l #define ldrhp$l_next_slice_h ldrhp$r_next_slice_overlay.ldrhp$r_next_slice_fields.ldrhp$l_next_slice_h #define ldrhp$q_free_slices ldrhp$r_free_slices_overlay.ldrhp$q_free_slices #define ldrhp$l_free_slices_l ldrhp$r_free_slices_overlay.ldrhp$r_free_slices_fields.ldrhp$l_free_slices_l #define ldrhp$l_free_slices_h ldrhp$r_free_slices_overlay.ldrhp$r_free_slices_fields.ldrhp$l_free_slices_h #define ldrhp$q_used_slices ldrhp$r_used_slices_overlay.ldrhp$q_used_slices #define ldrhp$l_used_slices_l ldrhp$r_used_slices_overlay.ldrhp$r_used_slices_fields.ldrhp$l_used_slices_l #define ldrhp$l_used_slices_h ldrhp$r_used_slices_overlay.ldrhp$r_used_slices_fields.ldrhp$l_used_slices_h #define ldrhp$q_startup_pages ldrhp$r_startup_pages_overlay.ldrhp$q_startup_pages #define ldrhp$l_startup_pages_l ldrhp$r_startup_pages_overlay.ldrhp$r_startup_pages_fields.ldrhp$l_startup_pages_l #define ldrhp$l_startup_pages_h ldrhp$r_startup_pages_overlay.ldrhp$r_startup_pages_fields.ldrhp$l_startup_pages_h #define ldrhp$q_bitmap_size ldrhp$r_bitmap_size_overlay.ldrhp$q_bitmap_size #define ldrhp$l_bitmap_size_l ldrhp$r_bitmap_size_overlay.ldrhp$r_bitmap_size_fields.ldrhp$l_bitmap_size_l #define ldrhp$l_bitmap_size_h ldrhp$r_bitmap_size_overlay.ldrhp$r_bitmap_size_fields.ldrhp$l_bitmap_size_h #define ldrhp$q_bitmap_va ldrhp$r_bitmap_va_overlay.ldrhp$q_bitmap_va #define ldrhp$l_bitmap_va_l ldrhp$r_bitmap_va_overlay.ldrhp$r_bitmap_va_fields.ldrhp$l_bitmap_va_l #define ldrhp$l_bitmap_va_h ldrhp$r_bitmap_va_overlay.ldrhp$r_bitmap_va_fields.ldrhp$l_bitmap_va_h #define ldrhp$q_flags ldrhp$r_flags_overlay.ldrhp$q_flags #define ldrhp$r_flags_bits ldrhp$r_flags_overlay.ldrhp$r_flags_bits #define ldrhp$v_alloc_fail ldrhp$r_flags_bits.ldrhp$v_alloc_fail #define ldrhp$v_released ldrhp$r_flags_bits.ldrhp$v_released #define ldrhp$l_flags_l ldrhp$r_flags_overlay.ldrhp$r_flags_fields.ldrhp$l_flags_l #define ldrhp$l_flags_h ldrhp$r_flags_overlay.ldrhp$r_flags_fields.ldrhp$l_flags_h #define ldrhp$q_failpage_cnt ldrhp$r_failpage_cnt_overlay.ldrhp$q_failpage_cnt #define ldrhp$l_failpage_cnt_l ldrhp$r_failpage_cnt_overlay.ldrhp$r_failpage_cnt_fields.ldrhp$l_failpage_cnt_l #define ldrhp$l_failpage_cnt_h ldrhp$r_failpage_cnt_overlay.ldrhp$r_failpage_cnt_fields.ldrhp$l_failpage_cnt_h #define ldrhp$q_failpage_max ldrhp$r_failpage_max_overlay.ldrhp$q_failpage_max #define ldrhp$l_failpage_max_l ldrhp$r_failpage_max_overlay.ldrhp$r_failpage_max_fields.ldrhp$l_failpage_max_l #define ldrhp$l_failpage_max_h ldrhp$r_failpage_max_overlay.ldrhp$r_failpage_max_fields.ldrhp$l_failpage_max_h #define ldrhp$q_fail_pre_cnt ldrhp$r_fail_pre_cnt_overlay.ldrhp$q_fail_pre_cnt #define ldrhp$l_fail_pre_cnt_l ldrhp$r_fail_pre_cnt_overlay.ldrhp$r_fail_pre_cnt_fields.ldrhp$l_fail_pre_cnt_l #define ldrhp$l_fail_pre_cnt_h ldrhp$r_fail_pre_cnt_overlay.ldrhp$r_fail_pre_cnt_fields.ldrhp$l_fail_pre_cnt_h #define ldrhp$q_fail_post_cnt ldrhp$r_fail_post_cnt_overlay.ldrhp$q_fail_post_cnt #define ldrhp$l_fail_post_cnt_l ldrhp$r_fail_post_cnt_overlay.ldrhp$r_fail_post_cnt_fields.ldrhp$l_fail_post_cnt_l #define ldrhp$l_fail_post_cnt_h ldrhp$r_fail_post_cnt_overlay.ldrhp$r_fail_post_cnt_fields.ldrhp$l_fail_post_cnt_h #endif /* #if !defined(__VAXC) */ #ifdef __INITIAL_POINTER_SIZE #pragma __required_pointer_size save #pragma __required_pointer_size long typedef LDRHP * LDRHP_PQ; #pragma __required_pointer_size short typedef LDRHP * LDRHP_PL; #pragma __required_pointer_size restore #endif #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 /* __LDRHPDEF_LOADED */