/**/ /***************************************************************************/ /** **/ /** © 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:09 by OpenVMS SDL EV3-3 */ /* Source: 18-APR-2008 15:21:59 $1$DGA7274:[LIB_H.SRC]KFERESDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $KFERESDEF ***/ #ifndef __KFERESDEF_LOADED #define __KFERESDEF_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 /* */ /* KNOWN FILE ENTRY DEFINITIONS FOR RESIDENT SECTIONS */ /* */ /* Note: The image activator also copies this structure and */ /* expands the structure to represent the image's data */ /* sections which have been compressed in process space. */ /* */ #define KFERES$M_SHARE_LINK 0x1 #define KFERES$M_64BIT_SECTIONS 0x2 #define KFERES$K_FIXED_LENGTH 32 #define KFERES$C_FIXED_LENGTH 32 #define KFERES$S_KFERESDEF 32 /* Old size name - synonym */ #ifdef __cplusplus /* Define structure prototypes */ struct _kfe; #endif /* #ifdef __cplusplus */ typedef struct _kferes { struct _kfe *kferes$l_kfe; /* Back pointer to KFE */ unsigned int kferes$l_count; /* Count of resident sections */ unsigned short int kferes$w_size; /* Size of block */ unsigned char kferes$b_type; /* Structure type */ unsigned char kferes$b_subtype; /* Subtype */ unsigned int kferes$l_data_count; /* Count of data sections */ void *kferes$l_fixup_buffer; /* Pointer to fixup buffer */ unsigned int kferes$l_fixup_size; /* Size of fixup buffer */ __union { unsigned int kferes$l_flags; /* Flags field */ __struct { unsigned kferes$v_share_link : 1; /* Image is installed in a special way */ /* to gain maximum performance (linkage */ /* has been made shareable). */ unsigned kferes$v_64bit_sections : 1; /* 64-bit section records */ unsigned kferes$v_fill_0_ : 6; } kferes$r_flags_bits; } kferes$r_flags_overlay; void *kferes$l_start_address; /* For images installed with shareable */ /* linkage, this is the starting P1 address */ char kferes$t_sections [4]; /* Offset to sections */ /* (needs an abitrary nonzero length for C) */ } KFERES; #if !defined(__VAXC) #define kferes$l_flags kferes$r_flags_overlay.kferes$l_flags #define kferes$r_flags_bits kferes$r_flags_overlay.kferes$r_flags_bits #define kferes$v_share_link kferes$r_flags_bits.kferes$v_share_link #define kferes$v_64bit_sections kferes$r_flags_bits.kferes$v_64bit_sections #endif /* #if !defined(__VAXC) */ #define KFERES$K_COMPRESSED_DATA 0 /* For SDA use only */ #define KFERES$K_READ_ONLY_DATA 1 #define KFERES$K_CODE 2 #define KFERES$K_DZRO 3 #define KFERES$K_WRT 4 #define KFERES$K_LINKAGE 5 #define KFERES$K_RESIDENT_CODE 6 /* For SDA use only */ #define KFERES$K_RESIDENT_DATA 7 /* For SDA use only */ #define KFERES$K_UNKNOWN 8 /* For SDA use only */ #define KFERES$M_SHARESECT 0x1 #define KFERES$C_SECTION_LENGTH 24 #define KFERES$K_SECTION_LENGTH 24 #define KFERES$S_KFERESDEF_SECTION 24 /* Old size name - synonym */ typedef struct _kferes_section { void *kferes$l_va; /* Starting VA */ unsigned int kferes$l_length; /* Length in bytes */ unsigned int kferes$l_vbn; /* Starting VBN in image file */ void *kferes$l_image_offset; /* VA offset in image */ unsigned int kferes$l_section_type; /* Type of section */ __union { unsigned int kferes$l_section_flags; /* Name attributes */ __struct { unsigned kferes$v_sharesect : 1; /* Section is shareable */ unsigned kferes$v_fill_3_ : 7; } kferes$r_fill_2_; } kferes$r_fill_1_; } KFERES_SECTION; #if !defined(__VAXC) #define kferes$l_section_flags kferes$r_fill_1_.kferes$l_section_flags #define kferes$v_sharesect kferes$r_fill_1_.kferes$r_fill_2_.kferes$v_sharesect #endif /* #if !defined(__VAXC) */ #define KFERES64$M_SHARESECT 0x1 #define KFERES64$C_SECTION_LENGTH 48 #define KFERES64$K_SECTION_LENGTH 48 typedef struct _kferes_64bit_section { struct _kferes_64bit_section *kferes64$l_next; /* Pointer to next KFERES64 */ unsigned int kferes64$l_vbn; /* Starting VBN in image file */ unsigned short int kferes64$w_size; /* Size of block */ unsigned char kferes64$b_type; /* Structure type */ unsigned char kferes64$b_subtype; /* Subtype */ unsigned int kferes64$l_section_type; /* Type of section */ __union { unsigned int kferes64$l_section_flags; /* Name attributes */ __struct { unsigned kferes64$v_sharesect : 1; /* Section is shareable */ unsigned kferes64$v_fill_6_ : 7; } kferes64$r_fill_5_; } kferes64$r_fill_4_; int kferes64$l_fill1; /* fill for quad alignment */ #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 *kferes64$pq_va; /* Starting VA */ #else unsigned __int64 kferes64$pq_va; #endif unsigned __int64 kferes64$q_length; /* Length in bytes */ #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 *kferes64$pq_image_offset; /* VA offset in image */ #else unsigned __int64 kferes64$pq_image_offset; #endif } KFERES_64BIT_SECTION; #if !defined(__VAXC) #define kferes64$l_section_flags kferes64$r_fill_4_.kferes64$l_section_flags #define kferes64$v_sharesect kferes64$r_fill_4_.kferes64$r_fill_5_.kferes64$v_sharesect #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 /* __KFERESDEF_LOADED */