00001 #ifndef ifbdef_h 00002 #define ifbdef_h 00003 00004 // Author. Roar Thronęs. 00005 00006 // based on / taken from rmsint2.doc 00007 00008 struct _irbdef { 00009 unsigned char irb_b_id; // block id (11) 00010 struct { 00011 unsigned irb_v_busy : 1; // stream is busy 00012 unsigned irb_v_iop : 1; // i/o pending on stream (seq org only) 00013 unsigned irb_v_dup : 1; // duplicate records seen 00014 union { 00015 unsigned irb_v_ssk : 1; // segmented search key 00016 unsigned irb_v_eof : 1; // file at eof (seq org only) 00017 }; 00018 unsigned irb_v_seq : 1; // last op was a put or finid seq etc 00019 unsigned irb_v_blk : 1; // connected for block i/o 00020 union { 00021 unsigned irb_v_idx : 1; // index update error occured 00022 unsigned irb_v_find : 1; // last op was a find 00023 }; 00024 unsigned irb_v_asy : 1; // async i/o stream 00025 }; 00026 unsigned long irb_l_irab_lnk ; 00027 unsigned long irb_l_ifab_lnk ; 00028 unsigned long irb_l_curbdb ; 00029 unsigned long irb_l_nxtbdb ; 00030 unsigned long long irb_q_nrp ; 00031 unsigned char irb_b_rp_id; 00032 unsigned char irb_b_rp_kref; 00033 unsigned short irb_w_offset; 00034 unsigned char irb_b_rrv_id; 00035 unsigned char irb_b_bcnt; 00036 unsigned short irb_w_mbc; 00037 unsigned long irb_l_rrv; 00038 unsigned long irb_l_nkad; 00039 unsigned short irb_w_spos; 00040 }; 00041 00042 #endif 00043