00001 #ifndef bktdef_h 00002 #define bktdef_h 00003 00004 #define BKT_K_OVERHDSZ 14 00005 #define BKT_C_OVERHDSZ 14 00006 #define BKT_M_LASTBKT 0x1 00007 #define BKT_M_ROOTBKT 0x2 00008 #define BKT_M_PTR_SZ 0x18 00009 #define BKT_C_ENDOVHD 4 00010 #define BKT_C_DATBKTOVH 2 00011 #define BKT_C_DUPBKTOVH 4 00012 00013 #define BKT_C_MAXBKTSIZ 63 00014 #define BKT_S_BKTDEF 14 00015 00016 // looks like General Bucket Header in rmsint2.doc? 00017 00018 struct _bkt { 00019 unsigned char bkt_b_checkchar; 00020 union { 00021 unsigned char bkt_b_areano; 00022 unsigned char bkt_b_indexno; 00023 }; 00024 unsigned short int bkt_w_adrsample; 00025 union { 00026 unsigned short int bkt_w_freespace; 00027 unsigned short int bkt_w_keyfrespc; 00028 }; 00029 union { 00030 unsigned short int bkt_w_nxtrecid; 00031 struct { 00032 unsigned char bkt_b_nxtrecid; 00033 unsigned char bkt_b_lstrecid; 00034 }; 00035 }; 00036 unsigned int bkt_l_nxtbkt; 00037 unsigned char bkt_b_level; 00038 union { 00039 unsigned char bkt_b_bktcb; 00040 #if 0 00041 // offset probs 00042 struct { 00043 unsigned bkt_v_lastbkt : 1; 00044 unsigned bkt_v_rootbkt : 1; 00045 unsigned bkt_$_fill_1 : 1; 00046 unsigned bkt_v_ptr_sz : 2; 00047 unsigned bkt_v_fill_4_ : 3; 00048 }; 00049 #endif 00050 }; 00051 }; 00052 00053 #endif 00054 00055