00001 #ifndef irpdef_h 00002 #define irpdef_h 00003 00004 #include<cdrpdef.h> 00005 00006 //#include "../../freevms/lib/src/diobmdef.h" 00007 00008 #define IRP_M_WLE_REUSE 0x1 00009 #define IRP_M_WLE_SUPWL 0x2 00010 #define IRP_M_WLE_READ_CONTID 0x4 00011 #define IRP_M_WLE_WROTE_CONTID 0x8 00012 #define IRP_M_HIST_LOGGED 0x10 00013 #define IRP_M_ALLO_FAIL 0x20 00014 #define IRP_M_HIST_LOST 0x40 00015 #define IRP_M_TABFU 0x80 00016 #define IRP_M_WHL_WHLB 0x1 00017 #define IRP_M_WHL_CNID_REGISTRY 0x2 00018 #define IRP_M_WHL_ERASE 0x4 00019 #define IRP_M_WHL_COMMAND 0x8 00020 #define IRP_M_WHL_04 0x10 00021 #define IRP_M_WHL_05 0x20 00022 #define IRP_M_WHL_06 0x40 00023 #define IRP_M_WHL_07 0x80 00024 #define IRP_M_BUFIO 0x1 00025 #define IRP_M_FUNC 0x2 00026 #define IRP_M_PAGIO 0x4 00027 #define IRP_M_COMPLX 0x8 00028 #define IRP_M_VIRTUAL 0x10 00029 #define IRP_M_CHAINED 0x20 00030 #define IRP_M_SWAPIO 0x40 00031 #define IRP_M_DIAGBUF 0x80 00032 #define IRP_M_PHYSIO 0x100 00033 #define IRP_M_TERMIO 0x200 00034 #define IRP_M_MBXIO 0x400 00035 #define IRP_M_EXTEND 0x800 00036 #define IRP_M_FILACP 0x1000 00037 #define IRP_M_MVIRP 0x2000 00038 #define IRP_M_SRVIO 0x4000 00039 #define IRP_M_CCB_LOOKED_UP 0x8000 00040 #define IRP_M_CACHE_PAGIO 0x10000 00041 #define IRP_M_FILL_BIT 0x20000 00042 #define IRP_M_BUFOBJ 0x40000 00043 #define IRP_M_TRUSTED 0x80000 00044 #define IRP_M_FASTIO_DONE 0x100000 00045 #define IRP_M_FASTIO 0x200000 00046 #define IRP_M_FAST_FINISH 0x400000 00047 #define IRP_M_DOPMS 0x800000 00048 #define IRP_M_HIFORK 0x1000000 00049 #define IRP_M_SRV_ABORT 0x2000000 00050 #define IRP_M_LOCK_RELEASEABLE 0x4000000 00051 #define IRP_M_DID_FAST_FDT 0x8000000 00052 #define IRP_M_SYNCSTS 0x10000000 00053 #define IRP_M_FINIPL8 0x20000000 00054 #define IRP_M_FILE_FLUSH 0x40000000 00055 #define IRP_M_BARRIER 0x80000000 00056 #define IRP_M_START_PAST_HWM 0x1 00057 #define IRP_M_END_PAST_HWM 0x2 00058 #define IRP_M_ERASE 0x4 00059 #define IRP_M_PART_HWM 0x8 00060 #define IRP_M_LCKIO 0x10 00061 #define IRP_M_SHDIO 0x20 00062 #define IRP_M_CACHEIO 0x40 00063 #define IRP_M_WLE 0x80 00064 #define IRP_M_CACHE_SAFE 0x100 00065 #define IRP_M_NOCACHE 0x200 00066 #define IRP_M_ABORTIO 0x400 00067 #define IRP_M_FORCEMV 0x800 00068 #define IRP_M_HBRIO 0x1000 00069 #define IRP_M_ON_ACT_Q 0x2000 00070 #define IRP_M_MPDEV_RETRIED 0x4000 00071 #define IRP_M_WHL 0x8000 00072 #define IRP_M_QCOMPLEX 0x10000 00073 #define IRP_M_NORETRY 0x20000 00074 #define IRP_M_QBARRIER 0x40000 00075 #define IRP_M_PVIRP 0x80000 00076 #define IRP_M_USEALTDDT 0x100000 00077 #define IRP_M_PID_S0_MV 0x200000 00078 #define IRP_M_CACHE_RESUME 0x400000 00079 #define IRP_M_QCNTRL 0x800000 00080 #define IRP_M_QRQT_SRVR_HLPR 0x1000000 00081 #define IRP_M_QSVD 0x2000000 00082 #define IRP_M_FCODE 0x3F 00083 #define IRP_K_CDRP 304 00084 #define IRP_C_CDRP 304 00085 #define IRP_M_PIO_ERROR 0x1 00086 #define IRP_M_PIO_FANOUT 0x2 00087 #define IRP_M_PIO_NOQUE 0x4 00088 #define IRP_M_PIO_CANCEL 0x8 00089 #define IRP_M_PIO_CTHRDOK 0x10 00090 #define IRP_M_PIO_PHASEII 0x20 00091 #define IRP_M_PIO_BBR 0x40 00092 #define IRP_M_SHD_EXPEL_REMOVED 0x1 00093 #define IRP_M_SHD_RETRY 0x2 00094 #define IRP_M_CLN_READY 0x1 00095 #define IRP_M_CLN_DONE 0x2 00096 #define IRP_M_CPY_FINI 0x4 00097 #define IRP_M_RTN_ALT_SUCCESS 0x8 00098 #define IRP_M_WBM_DELETE 0x10 00099 #define IRP_M_CLN_WHL 0x20 00100 #define IRP_K_BT_LEN 400 00101 #define IRP_C_BT_LEN 400 00102 #define IRP_K_CD_LEN 408 00103 #define IRP_C_CD_LEN 408 00104 #define IRP_K_QSRV_HANDSHAKE 1 00105 #define IRP_K_QSRV_QSLQ 2 00106 #define IRP_K_QSRV_CANCEL 3 00107 #define IRP_M_QSRV_STALLED 0x1 00108 #define IRP_M_QSRV_PERM 0x2 00109 #define IRP_M_QSRV_CANIO 0x4 00110 #define IRP_M_QSRV_CAND 0x8 00111 #define IRP_M_QSRV_COMPLEX_HEAD 0x10 00112 #define IRP_K_QSRV_INITIAL 0 00113 #define IRP_K_QSRV_RSPID_ALLOCATED 1 00114 #define IRP_K_QSRV_MSG_ALLOCATED 2 00115 #define IRP_K_QSRV_BUFFER_CONFIGURED 3 00116 #define IRP_K_QSRV_IO_COMPLETED 4 00117 #define IRP_K_QSRV_IO_RECLAIM 5 00118 #define IRP_K_QSRV_IO_RESTART 6 00119 #define IRP_K_QSRV_IO_CANCELED 7 00120 #define IRP_K_QSRV_IO_ABORTED 8 00121 #define IRP_S_QSRVR_EXT 456 00122 00123 #define IRP_K_LENGTH 536 00124 #define IRP_C_LENGTH 536 00125 #define IRP_S_IRPDEF 536 00126 00127 struct _irp { 00128 struct _irp *irp_l_ioqfl; 00129 struct _irp *irp_l_ioqbl; 00130 unsigned short int irp_w_size; 00131 unsigned char irp_b_type; 00132 unsigned char irp_b_rmod; 00133 unsigned long irp_l_pid; 00134 unsigned long irp_l_ast; 00135 unsigned long irp_l_astprm; 00136 unsigned long irp_l_wind; 00137 struct _ucb * irp_l_ucb; 00138 union { 00139 unsigned long irp_l_func; 00140 struct { 00141 unsigned irp_v_fcode : 6; 00142 unsigned irp_v_fmod : 10; 00143 }; 00144 }; 00145 unsigned char irp_b_efn; 00146 unsigned char irp_b_pri; 00147 unsigned long irp_l_iosb; 00148 unsigned short irp_w_chan; 00149 union { 00150 unsigned long irp_l_svapte; 00151 struct _bufio *irp_ps_bufio_pkt; 00152 }; 00153 /* temporary work-around */ 00154 unsigned long useraddress; /* do not know the pte/buffer stuff yet */ 00155 unsigned long irp_l_boff; 00156 unsigned short irp_w_empty; 00157 unsigned long irp_l_bcnt; 00158 unsigned short irp_w_emptyagain; 00159 union { 00160 unsigned long irp_l_iost1; 00161 long irp_l_media; 00162 }; 00163 unsigned long irp_l_iost2; 00164 unsigned long irp_l_abcnt; 00165 unsigned long irp_l_obcnt; 00166 unsigned long irp_l_segvbn; 00167 unsigned long irp_l_diagbuf; 00168 unsigned long irp_l_seqnum; 00169 unsigned long irp_l_extend; 00170 unsigned long irp_l_arb; 00171 unsigned long irp_l_keydesc; 00172 struct _ccb *irp_ps_ccb; 00173 unsigned long irp_l_qio_p1; 00174 unsigned long irp_l_qio_p2; 00175 unsigned long irp_l_qio_p3; 00176 unsigned long irp_l_qio_p4; 00177 unsigned long irp_l_qio_p5; 00178 unsigned long irp_l_qio_p6; 00179 00180 union { 00181 unsigned long long irp_q_status; 00182 struct { 00183 union { 00184 unsigned int irp_l_sts; 00185 struct { 00186 unsigned irp_v_bufio : 1; 00187 unsigned irp_v_func : 1; 00188 unsigned irp_v_pagio : 1; 00189 unsigned irp_v_complx : 1; 00190 unsigned irp_v_virtual : 1; 00191 unsigned irp_v_chained : 1; 00192 unsigned irp_v_swapio : 1; 00193 unsigned irp_v_diagbuf : 1; 00194 unsigned irp_v_physio : 1; 00195 unsigned irp_v_termio : 1; 00196 unsigned irp_v_mbxio : 1; 00197 unsigned irp_v_extend : 1; 00198 unsigned irp_v_filacp : 1; 00199 unsigned irp_v_mvirp : 1; 00200 unsigned irp_v_srvio : 1; 00201 unsigned irp_v_ccb_looked_up : 1; 00202 unsigned irp_v_cache_pagio : 1; 00203 unsigned irp_v_fill_bit : 1; 00204 unsigned irp_v_bufobj : 1; 00205 unsigned irp_v_trusted : 1; 00206 unsigned irp_v_fastio_done : 1; 00207 unsigned irp_v_fastio : 1; 00208 unsigned irp_v_fast_finish : 1; 00209 unsigned irp_v_dopms : 1; 00210 unsigned irp_v_hifork : 1; 00211 unsigned irp_v_srv_abort : 1; 00212 unsigned irp_v_lock_releaseable : 1; 00213 unsigned irp_v_did_fast_fdt : 1; 00214 unsigned irp_v_syncsts : 1; 00215 unsigned irp_v_finipl8 : 1; 00216 unsigned irp_v_file_flush : 1; 00217 unsigned irp_v_barrier : 1; 00218 }; 00219 }; 00220 union { 00221 unsigned int irp_l_sts2; 00222 struct { 00223 unsigned irp_v_start_past_hwm : 1; 00224 unsigned irp_v_end_past_hwm : 1; 00225 unsigned irp_v_erase : 1; 00226 unsigned irp_v_part_hwm : 1; 00227 unsigned irp_v_lckio : 1; 00228 unsigned irp_v_shdio : 1; 00229 unsigned irp_v_cacheio : 1; 00230 unsigned irp_v_wle : 1; 00231 unsigned irp_v_cache_safe : 1; 00232 unsigned irp_v_nocache : 1; 00233 unsigned irp_v_abortio : 1; 00234 unsigned irp_v_forcemv : 1; 00235 unsigned irp_v_hbrio : 1; 00236 unsigned irp_v_on_act_q : 1; 00237 unsigned irp_v_mpdev_retried : 1; 00238 unsigned irp_v_whl : 1; 00239 unsigned irp_v_qcomplex : 1; 00240 unsigned irp_v_noretry : 1; 00241 unsigned irp_v_qbarrier : 1; 00242 unsigned irp_v_pvirp : 1; 00243 unsigned irp_v_usealtddt : 1; 00244 unsigned irp_v_pid_s0_mv : 1; 00245 unsigned irp_v_cache_resume : 1; 00246 unsigned irp_v_qcntrl : 1; 00247 unsigned irp_v_qrqt_srvr_hlpr : 1; 00248 unsigned irp_v_qsvd : 1; 00249 unsigned irp_v_fill_23_ : 6; 00250 }; 00251 }; 00252 }; 00253 }; 00254 00255 /* copy from cdrp to this area ?*/ 00256 struct _cdrp irp_cdrp; 00257 00258 // put at back to avoid recompile this time 00259 // sort in right later 00260 00261 unsigned long long irp_q_tt_state; 00262 00263 }; 00264 00265 #define irp_l_fqfl irp_cdrp.cdrp$l_fqfl 00266 #define irp_l_fqbl irp_cdrp.cdrp$l_fqbl 00267 #define irp_w_cdrpsize irp_cdrp.cdrp$w_cdrpsize 00268 #define irp_b_cd_type irp_cdrp.cdrp$b_cd_type 00269 #define irp_b_flck irp_cdrp.cdrp$b_flck 00270 #define irp_l_fpc irp_cdrp.cdrp$l_fpc 00271 #define irp_l_fr3 irp_cdrp.cdrp$l_fr3 00272 #define irp_l_fr4 irp_cdrp.cdrp$l_fr4 00273 #define irp_l_savd_rtn irp_cdrp.cdrp$l_savd_rtn 00274 #define irp_l_msg_buf irp_cdrp.cdrp$l_msg_buf 00275 #define irp_l_rspid irp_cdrp.cdrp$l_rspid 00276 #define irp_l_cdt irp_cdrp.cdrp$l_cdt 00277 #define irp_l_rwcptr irp_cdrp.cdrp$l_rwcptr 00278 #define irp_l_lbufh_ad irp_cdrp.cdrp$l_lbufh_ad 00279 #define irp_l_lboff irp_cdrp.cdrp$l_lboff 00280 #define irp_l_rbufh_ad irp_cdrp.cdrp$l_rbufh_ad 00281 #define irp_l_rboff irp_cdrp.cdrp$l_rboff 00282 #define irp_l_xct_len irp_cdrp.cdrp$l_xct_len 00283 #define irp_l_something irp_cdrp.cdrp$l_something 00284 #define irp_t_lbufhndl irp_cdrp.cdrp$t_lbufhndl 00285 #define irp_l_ubarsrce irp_cdrp.cdrp$l_ubarsrce 00286 #define irp_l_dutuflags irp_cdrp.cdrp$l_dutuflags 00287 #define irp_w_dutucntr irp_cdrp.cdrp$w_dutucntr 00288 #define irp_w_endmsgsiz irp_cdrp.cdrp$w_endmsgsiz 00289 00290 #endif 00291