/**/ /***************************************************************************/ /** **/ /** © 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:04 by OpenVMS SDL EV3-3 */ /* Source: 09-JUN-1993 15:42:57 $1$DGA7274:[LIB_H.SRC]RMSFILSTR.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE $BKTDEF ***/ #ifndef __BKTDEF_LOADED #define __BKTDEF_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 /* */ /* index bucket definition */ /* */ /* this is the bucket format for RMS-11/RMS-32 index files. */ /* */ #define BKT$K_OVERHDSZ 14 /* length of bucket overhead */ #define BKT$C_OVERHDSZ 14 /* length of bucket overhead */ #define BKT$M_LASTBKT 0x1 #define BKT$M_ROOTBKT 0x2 #define BKT$M_PTR_SZ 0x18 #define BKT$C_ENDOVHD 4 /* end of bucket overhead */ #define BKT$C_DATBKTOVH 2 /* end of bucket overhead for data buckets */ #define BKT$C_DUPBKTOVH 4 /* additional end of data bucket overhead */ /* when duplicates are allowed (LCB pointer */ #define BKT$C_MAXBKTSIZ 63 /* maximum bucket size */ #define BKT$S_BKTDEF 14 /* Old size name - synonym */ typedef struct _bkt { unsigned char bkt$b_checkchar; /* bucket check character */ __union { unsigned char bkt$b_areano; /* area number form which bucket was allocated */ unsigned char bkt$b_indexno; /* index to which this bucket belongs (plg 3) */ } bkt$r_areano_overlay; unsigned short int bkt$w_adrsample; /* address sample - low 16 bits of first vbn in bucket */ __union { unsigned short int bkt$w_freespace; /* displacement in bucket of first free byte */ unsigned short int bkt$w_keyfrespc; /* pointer to key's free space (plg 3) */ } bkt$r_freespace_overlay; __union { unsigned short int bkt$w_nxtrecid; /* next available word record id (plg 3) */ __struct { unsigned char bkt$b_nxtrecid; /* next available record id */ unsigned char bkt$b_lstrecid; /* last id in range */ } bkt$r_nxtrecid_fields; } bkt$r_nxtrecid_overlay; unsigned int bkt$l_nxtbkt; /* vbn of next bucket */ unsigned char bkt$b_level; /* bucket level number */ __union { unsigned char bkt$b_bktcb; /* bucket control bits */ __struct { unsigned bkt$v_lastbkt : 1; /* last bucket in horizontal chain */ unsigned bkt$v_rootbkt : 1; /* root bucket */ unsigned bkt$$_fill_1 : 1; /* spare */ unsigned bkt$v_ptr_sz : 2; /* size of vbn pointers in this bucket */ unsigned bkt$v_fill_4_ : 3; } bkt$r_bktcb_bits; } bkt$r_bktcb_overlay; } BKT; #if !defined(__VAXC) #define bkt$b_areano bkt$r_areano_overlay.bkt$b_areano #define bkt$b_indexno bkt$r_areano_overlay.bkt$b_indexno #define bkt$w_freespace bkt$r_freespace_overlay.bkt$w_freespace #define bkt$w_keyfrespc bkt$r_freespace_overlay.bkt$w_keyfrespc #define bkt$w_nxtrecid bkt$r_nxtrecid_overlay.bkt$w_nxtrecid #define bkt$r_nxtrecid_fields bkt$r_nxtrecid_overlay.bkt$r_nxtrecid_fields #define bkt$b_nxtrecid bkt$r_nxtrecid_fields.bkt$b_nxtrecid #define bkt$b_lstrecid bkt$r_nxtrecid_fields.bkt$b_lstrecid #define bkt$b_bktcb bkt$r_bktcb_overlay.bkt$b_bktcb #define bkt$r_bktcb_bits bkt$r_bktcb_overlay.bkt$r_bktcb_bits #define bkt$v_lastbkt bkt$r_bktcb_bits.bkt$v_lastbkt #define bkt$v_rootbkt bkt$r_bktcb_bits.bkt$v_rootbkt #define bkt$v_ptr_sz bkt$r_bktcb_bits.bkt$v_ptr_sz #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 /* __BKTDEF_LOADED */