00001 #ifndef xaballdef_h 00002 #define xaballdef_h 00003 00004 #define XAB_C_ALL 20 00005 #define XAB_M_HRD 0x1 00006 #define XAB_M_ONC 0x2 00007 #define XAB_M_CBT 0x20 00008 #define XAB_M_CTG 0x80 00009 #define XAB_C_ANY 0 00010 #define XAB_C_CYL 1 00011 #define XAB_C_LBN 2 00012 #define XAB_C_VBN 3 00013 #define XAB_C_RFI 4 00014 00015 #define XAB_K_ALLLEN 32 00016 #define XAB_C_ALLLEN 32 00017 00018 #define XAB_V_HRD 0 00019 #define XAB_V_ONC 1 00020 #define XAB_V_CBT 5 00021 #define XAB_V_CTG 7 00022 00023 // like On-Disk Area Descriptor in rmsint2.doc? 00024 00025 struct _xaballdef { 00026 unsigned char xab_b_cod; 00027 unsigned char xab_b_bln; 00028 short int xaballdef_$_fill_1; 00029 void *xab_l_nxt; 00030 union { 00031 unsigned char xab_b_aop; 00032 struct { 00033 unsigned xab_v_hrd : 1; 00034 unsigned xab_v_onc : 1; 00035 unsigned xaballdef_$_fill_5 : 3; 00036 unsigned xab_v_cbt : 1; 00037 unsigned xaballdef_$_fill_6 : 1; 00038 unsigned xab_v_ctg : 1; 00039 }; 00040 }; 00041 unsigned char xab_b_aln; 00042 unsigned short int xab_w_vol; 00043 unsigned int xab_l_loc; 00044 unsigned int xab_l_alq; 00045 unsigned short int xab_w_deq; 00046 unsigned char xab_b_bkz; 00047 unsigned char xab_b_aid; 00048 union { 00049 unsigned short int xab_w_rfi [3]; 00050 struct { 00051 unsigned short int xab_w_rfi0; 00052 unsigned short int xab_w_rfi2; 00053 unsigned short int xab_w_rfi4; 00054 }; 00055 }; 00056 short int xaballdef_$_fill_8; 00057 }; 00058 00059 extern struct _xaballdef cc_rms_xaball; 00060 00061 #endif 00062 00063