/**/ /***************************************************************************/ /** **/ /** © 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: 16-JUN-2005 13:08:25 $1$DGA7274:[LIB_H.SRC]KFEDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $KFEDEF ***/ #ifndef __KFEDEF_LOADED #define __KFEDEF_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 */ /* */ #define KFE$M_PROTECT 0x1 #define KFE$M_LIM 0x2 #define KFE$M_PROCPRIV 0x4 #define KFE$M_OPEN 0x8 #define KFE$M_HDRRES 0x10 #define KFE$M_SHARED 0x20 #define KFE$M_KFE_NAMING 0x40 #define KFE$M_COMPRESS 0x80 #define KFE$M_NOPURGE 0x100 #define KFE$M_ACCOUNT 0x200 #define KFE$M_WRITEABLE 0x400 #define KFE$M_EXEONLY 0x800 #define KFE$M_DISCONTIGUOUS 0x1000 #define KFE$M_DELETE_PEND 0x2000 #define KFE$M_VERSION_SAFE 0x4000 #define KFE$M_DATA_RESIDENT 0x8000 #define KFE$M_AUTHPRIV 0x1 #define KFE$M_ARB_SUPPORT 0x2 #define KFE$M_GLX_WRITE 0x4 #define KFE$M_GLX_IDENT 0x8 #define KFE$M_ELF 0x10 #define KFE$M_SHARE_ADDR 0x20 #define KFE$M_RSRVD_6_31 0xFFFFFFC0 #define KFE$K_LENGTH 120 /* Length of fixed area of KFE entry */ #define KFE$C_LENGTH 120 /* Length of fixed area of KFE entry */ /* Count of flags used */ #define KFE$K_NUMBER_OF_FLAGS 22 /* Number of flag bits used. */ #define KFE$S_KFEDEF 120 /* Old size name - synonym */ #ifdef __cplusplus /* Define structure prototypes */ struct _kfd; struct _wcb; struct _ihd; struct _ldrimg; struct _orb; struct _kferes; #endif /* #ifdef __cplusplus */ typedef struct _kfe { void *kfe$l_hshlnk; /* Known file Hash table link */ struct _kfe *kfe$l_kfelink; /* Ordered Known file entry list link */ unsigned short int kfe$w_size; /* Size of block */ unsigned char kfe$b_type; /* Structure type */ unsigned char kfe$b_hshidx; /* KFE hash table index (index into vector of HSHQ's) */ struct _kfd *kfe$l_kfd; /* Device, Directory, Type block */ __union { unsigned short int kfe$w_flags; /* Flags word */ __struct { unsigned kfe$v_protect : 1; /* Known file was installed protected */ unsigned kfe$v_lim : 1; /* Linkable image */ unsigned kfe$v_procpriv : 1; /* Use process privilege mask */ unsigned kfe$v_open : 1; /* Image installed /OPEN */ unsigned kfe$v_hdrres : 1; /* Image header block is resident */ unsigned kfe$v_shared : 1; /* Image is shared */ unsigned kfe$v_kfe_naming : 1; /* use KFE based name for global sections */ unsigned kfe$v_compress : 1; /* Image sections are compressed */ unsigned kfe$v_nopurge : 1; /* Image entry may not be purged */ unsigned kfe$v_account : 1; /* Image level accounting */ unsigned kfe$v_writeable : 1; /* Global sections are writeable */ unsigned kfe$v_exeonly : 1; /* Image has only execute access allowed */ unsigned kfe$v_discontiguous : 1; /* Image has resident sections */ unsigned kfe$v_delete_pend : 1; /* Delete pending on KFE */ unsigned kfe$v_version_safe : 1; /* Image is exempt from system version checks */ unsigned kfe$v_data_resident : 1; /* Image has resident read-only data sections */ } kfe$r_flags_bits; } kfe$r_flags_overlay; unsigned short int kfe$w_gblseccnt; /* Global section count if shared */ unsigned int kfe$l_usecnt; /* Usage counter */ __union { struct _wcb *kfe$l_wcb; /* WCB address if open */ __struct { __union { unsigned short int kfe$w_fid; /* File id */ unsigned short int kfe$w_fid_num; /* File number field of file id */ } kfe$r_fid_overlay; unsigned short int kfe$w_fid_seq; /* File sequence number field of file id */ } kfe$r_window_fields; } kfe$r_window_overlay; __union { struct _ihd *kfe$l_imghdr; /* Image header address if resident */ struct _ldrimg *kfe$l_ldrimg; /* Pointer to IMGHDR (if ELF format) */ unsigned short int kfe$w_fid_rvn; /* Relative volume number field of file id */ } kfe$r_imghdr_overlay; unsigned __int64 kfe$q_procpriv; /* Process privilege mask */ unsigned char kfe$b_matchctl; /* Global section match control */ char kfedef$$_fill_4; /* spare byte */ unsigned short int kfe$w_amecod; /* Image header code specifying AME */ unsigned int kfe$l_ident; /* Global section ident value */ struct _orb *kfe$l_orb; /* Address of Object Rights Block */ unsigned short int kfe$w_shrcnt; /* High water mark for sharing */ unsigned short int kfe$w_maxshrisd; /* Highest ISD number for which a global section exists */ struct _kferes *kfe$l_kferes_ptr; /* Pointer to resident section description */ unsigned int kfe$l_ref_count; /* Reference count */ unsigned int kfe$l_priv_isd_cnt; /* Private, non-stack ISDs */ unsigned int kfe$l_image_size; /* Size in bytes of installed image (if image header is opened) */ /* FILNAMLEN and FILNAM are now obsolete. Do not use them. Use IMAGENAME */ unsigned int kfe$l_obsolete_1; /* Shifted Off the Layout */ unsigned int kfe$l_imagename_offset; /* Offset to Counted String of file (image) name */ __union { unsigned int kfe$l_flags2; /* Overflow Flags longword */ __struct { unsigned kfe$v_authpriv : 1; /* Authorized privs used */ unsigned kfe$v_arb_support : 1; /* An arb_support value was specified */ unsigned kfe$v_glx_write : 1; /* installed /write=galaxy */ unsigned kfe$v_glx_ident : 1; /* installed /write=galaxy=ident */ unsigned kfe$v_elf : 1; /* image is ELF format (IA64) */ unsigned kfe$v_share_addr : 1; /* installed /share=address_data */ unsigned kfe$v_rsrvd_6_31 : 26; /* The unused bits */ } kfe$r_flags2_bits; } kfe$r_flags2_overlay; void *kfe$ar_authrights; /* Image authorized rights */ void *kfe$ar_rights; /* Image active rights (initial) */ unsigned int kfe$l_arb_support; /* ARB support compatibility flag */ unsigned __int64 kfe$q_authpriv; /* Image authorized privileges */ unsigned int kfe$l_risig_offset; /* Offset to referenced image signiture */ unsigned short int kfe$w_filver; /* file version number, used for INSTALL LIST */ short int kfedef$$_fill_5; /* spare word */ unsigned __int64 kfe$q_file_id; /* FID (even if the file is installed OPEN) */ } KFE; #if !defined(__VAXC) #define kfe$w_flags kfe$r_flags_overlay.kfe$w_flags #define kfe$r_flags_bits kfe$r_flags_overlay.kfe$r_flags_bits #define kfe$v_protect kfe$r_flags_bits.kfe$v_protect #define kfe$v_lim kfe$r_flags_bits.kfe$v_lim #define kfe$v_procpriv kfe$r_flags_bits.kfe$v_procpriv #define kfe$v_open kfe$r_flags_bits.kfe$v_open #define kfe$v_hdrres kfe$r_flags_bits.kfe$v_hdrres #define kfe$v_shared kfe$r_flags_bits.kfe$v_shared #define kfe$v_kfe_naming kfe$r_flags_bits.kfe$v_kfe_naming #define kfe$v_compress kfe$r_flags_bits.kfe$v_compress #define kfe$v_nopurge kfe$r_flags_bits.kfe$v_nopurge #define kfe$v_account kfe$r_flags_bits.kfe$v_account #define kfe$v_writeable kfe$r_flags_bits.kfe$v_writeable #define kfe$v_exeonly kfe$r_flags_bits.kfe$v_exeonly #define kfe$v_discontiguous kfe$r_flags_bits.kfe$v_discontiguous #define kfe$v_delete_pend kfe$r_flags_bits.kfe$v_delete_pend #define kfe$v_version_safe kfe$r_flags_bits.kfe$v_version_safe #define kfe$v_data_resident kfe$r_flags_bits.kfe$v_data_resident #define kfe$l_wcb kfe$r_window_overlay.kfe$l_wcb #define kfe$r_window_fields kfe$r_window_overlay.kfe$r_window_fields #define kfe$r_fid_overlay kfe$r_window_fields.kfe$r_fid_overlay #define kfe$w_fid kfe$r_fid_overlay.kfe$w_fid #define kfe$w_fid_num kfe$r_fid_overlay.kfe$w_fid_num #define kfe$w_fid_seq kfe$r_window_fields.kfe$w_fid_seq #define kfe$l_imghdr kfe$r_imghdr_overlay.kfe$l_imghdr #define kfe$l_ldrimg kfe$r_imghdr_overlay.kfe$l_ldrimg #define kfe$w_fid_rvn kfe$r_imghdr_overlay.kfe$w_fid_rvn #define kfe$l_flags2 kfe$r_flags2_overlay.kfe$l_flags2 #define kfe$r_flags2_bits kfe$r_flags2_overlay.kfe$r_flags2_bits #define kfe$v_authpriv kfe$r_flags2_bits.kfe$v_authpriv #define kfe$v_arb_support kfe$r_flags2_bits.kfe$v_arb_support #define kfe$v_glx_write kfe$r_flags2_bits.kfe$v_glx_write #define kfe$v_glx_ident kfe$r_flags2_bits.kfe$v_glx_ident #define kfe$v_elf kfe$r_flags2_bits.kfe$v_elf #define kfe$v_share_addr kfe$r_flags2_bits.kfe$v_share_addr #define kfe$v_rsrvd_6_31 kfe$r_flags2_bits.kfe$v_rsrvd_6_31 #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 /* __KFEDEF_LOADED */