00001 #ifndef mscpdef_h 00002 #define mscpdef_h 00003 00004 #define MSCP_M_EU_NO 0xFF 00005 #define MSCP_M_EU_SUBU 0x7 00006 #define MSCP_M_EU_SUBC 0xF8 00007 #define MSCP_K_EMS_CNSL 0 00008 #define MSCP_K_EMS_RP 1 00009 #define MSCP_K_EMS_RM 2 00010 #define MSCP_K_EMS_RK 3 00011 #define MSCP_K_EMS_RL 4 00012 #define MSCP_K_EMS_RX 5 00013 #define MSCP_K_EMS_FD1 6 00014 #define MSCP_K_EMS_FD2 7 00015 #define MSCP_K_EMS_FD3 8 00016 #define MSCP_K_EMS_FD4 9 00017 #define MSCP_K_EMS_FD5 10 00018 #define MSCP_K_EMS_FD6 11 00019 #define MSCP_K_EMS_FD7 12 00020 #define MSCP_K_EMS_FD8 13 00021 #define MSCP_M_EU_CTYPE 0xF00 00022 #define MSCP_K_EMD_OLD 0 00023 #define MSCP_K_EMD_UDA 1 00024 #define MSCP_K_EMD_HSC 2 00025 #define MSCP_K_EMD_AZT 3 00026 #define MSCP_K_EMD_RDRX 4 00027 #define MSCP_K_EMD_EMUL 5 00028 #define MSCP_M_EU_DESIG 0x7000 00029 #define MSCP_M_SHADOW 0x8000 00030 #define MSCP_M_OP_ATTN 0x40 00031 #define MSCP_M_OP_END 0x80 00032 #define MSCP_M_MD_SEREC 0x100 00033 #define MSCP_M_MD_SECOR 0x200 00034 #define MSCP_M_MD_CLSEX 0x2000 00035 #define MSCP_M_MD_COMP 0x4000 00036 #define MSCP_M_MD_WRSEQ 0x10 00037 #define MSCP_M_MD_WBKVL 0x20 00038 #define MSCP_M_MD_WBKNV 0x40 00039 #define MSCP_M_MD_SSHDW 0x80 00040 #define MSCP_M_MD_SCCHL 0x400 00041 #define MSCP_M_MD_SCCHH 0x800 00042 #define MSCP_M_MD_ERROR 0x1000 00043 #define MSCP_M_MD_EXPRS 0x8000 00044 #define MSCP_M_MD_REWND 0x2 00045 #define MSCP_M_MD_OBJCT 0x4 00046 #define MSCP_M_MD_REVRS 0x8 00047 #define MSCP_M_MD_UNLOD 0x10 00048 #define MSCP_M_MD_IMMED 0x40 00049 #define MSCP_M_MD_DLEOT 0x80 00050 #define MSCP_M_MD_CDATL 0x1000 00051 #define MSCP_M_MD_SPNDW 0x1 00052 #define MSCP_M_MD_ALLCD 0x2 00053 #define MSCP_M_MD_DSOLV 0x10 00054 #define MSCP_M_MD_FLENU 0x1 00055 #define MSCP_M_MD_VOLTL 0x2 00056 #define MSCP_M_MD_NXUNT 0x1 00057 #define MSCP_M_MD_RIP 0x1 00058 #define MSCP_M_MD_IGNMF 0x2 00059 #define MSCP_M_MD_STWRP 0x4 00060 #define MSCP_M_MD_CLWBL 0x8 00061 #define MSCP_M_MD_SHDSP 0x10 00062 #define MSCP_M_MD_EXCAC 0x20 00063 #define MSCP_M_MD_PRIMR 0x1 00064 #define MSCP_M_MD_CRNPR 0x1 00065 #define MSCP_M_MD_ENRWR 0x10 00066 #define MSCP_M_MD_TBC 0x8000 00067 #define MSCP_M_MD_HISLO 0x8 00068 #define MSCP_M_MD_SUPWL 0x10 00069 #define MSCP_M_MD_REUSE 0x80 00070 #define MSCP_M_MD_LOCSU 0x1 00071 #define MSCP_M_MD_ESTCP 0x2 00072 #define MSCP_M_MD_RETCP 0x4 00073 #define MSCP_S_MSCP_MODIFIERS 12 00074 00075 #define MSCP_M_EF_CPRET 0x1 00076 #define MSCP_M_EF_DLS 0x2 00077 #define MSCP_M_EF_PLS 0x4 00078 #define MSCP_M_EF_EOT 0x8 00079 #define MSCP_M_EF_SEREX 0x10 00080 #define MSCP_M_EF_ERLOG 0x20 00081 #define MSCP_M_EF_BBLKU 0x40 00082 #define MSCP_M_EF_BBLKR 0x80 00083 #define MSCP_M_EF_HISLO 0x4 00084 #define MSCP_M_EF_ALLOF 0x8 00085 #define MSCP_M_EF_FASTSKIP_USED 0x80 00086 #define MSCP_M_ST_MASK 0x1F 00087 #define MSCP_K_ST_SUCC 0 00088 #define MSCP_K_ST_ICMD 1 00089 #define MSCP_K_ST_ABRTD 2 00090 #define MSCP_K_ST_OFFLN 3 00091 #define MSCP_K_ST_AVLBL 4 00092 #define MSCP_K_ST_MFMTE 5 00093 #define MSCP_K_ST_WRTPR 6 00094 #define MSCP_K_ST_COMP 7 00095 #define MSCP_K_ST_DATA 8 00096 #define MSCP_K_ST_HSTBF 9 00097 #define MSCP_K_ST_CNTLR 10 00098 #define MSCP_K_ST_DRIVE 11 00099 #define MSCP_K_ST_FMTER 12 00100 #define MSCP_K_ST_BOT 13 00101 #define MSCP_K_ST_TAPEM 14 00102 #define MSCP_K_ST_SHST 12 00103 #define MSCP_K_ST_WHEAE 13 00104 #define MSCP_K_ST_RDTRN 16 00105 #define MSCP_K_ST_PLOST 17 00106 #define MSCP_K_ST_PRESE 18 00107 #define MSCP_K_ST_LED 19 00108 #define MSCP_K_ST_BBR 20 00109 #define MSCP_K_ST_IPARM 21 00110 #define MSCP_K_ST_INFO 22 00111 #define MSCP_K_ST_LOADR 23 00112 #define MSCP_K_ST_HOST 24 00113 #define MSCP_K_ST_UNREC 20 00114 #define MSCP_K_ST_SBCERR 30 00115 #define MSCP_K_ST_DIAG 31 00116 #define MSCP_K_ST_SBCOD 32 00117 #define MSCP_M_ST_SBCOD 0xFFE0 00118 #define MSCP_K_SC_NORML 0 00119 #define MSCP_K_SC_SDIGN 1 00120 #define MSCP_K_SC_STCON 2 00121 #define MSCP_K_SC_DUPUN 4 00122 #define MSCP_K_SC_ALONL 8 00123 #define MSCP_K_SC_STONL 16 00124 #define MSCP_K_SC_EOT 32 00125 #define MSCP_K_SC_INREP 32 00126 #define MSCP_K_SC_IVRCT 64 00127 #define MSCP_K_SC_RDONY 128 00128 #define MSCP_M_SC_SDIGN 0x20 00129 #define MSCP_M_SC_STCON 0x40 00130 #define MSCP_M_SC_DUPUN 0x80 00131 #define MSCP_M_SC_ALONL 0x100 00132 #define MSCP_M_SC_STONL 0x200 00133 #define MSCP_M_SC_EOT 0x400 00134 #define MSCP_M_SC_INREP 0x400 00135 #define MSCP_M_SC_IVRCT 0x800 00136 #define MSCP_M_SC_RDONY 0x1000 00137 #define MSCP_K_SC_INVML 0 00138 00139 #define MSCP_K_SC_UNKNO 0 00140 #define MSCP_K_SC_NOVOL 1 00141 #define MSCP_K_SC_INOPR 2 00142 #define MSCP_K_SC_UDSBL 8 00143 #define MSCP_K_SC_EXUSE 16 00144 #define MSCP_K_SC_LDR 32 00145 #define MSCP_M_SC_NOVOL 0x20 00146 #define MSCP_M_SC_INOPR 0x40 00147 #define MSCP_M_SC_UDSBL 0x100 00148 #define MSCP_M_SC_EXUSE 0x200 00149 #define MSCP_M_SC_LDR 0x400 00150 #define MSCP_K_SC_CPYIP 2 00151 #define MSCP_K_SC_NOMEM 4 00152 #define MSCP_K_SC_ALUSE 32 00153 #define MSCP_M_SC_CPYIP 0x40 00154 #define MSCP_M_SC_NOMEM 0x80 00155 #define MSCP_M_SC_ALUSE 0x400 00156 #define MSCP_K_SC_IVHD 2 00157 #define MSCP_K_SC_NOSYNC 3 00158 #define MSCP_K_SC_SSCM 4 00159 #define MSCP_K_SC_NO512 5 00160 #define MSCP_K_SC_NOFMT 6 00161 #define MSCP_K_SC_ECCER 7 00162 #define MSCP_K_SC_RCTBD 8 00163 #define MSCP_K_SC_NORBL 9 00164 00165 #define MSCP_K_SC_DATAL 8 00166 #define MSCP_K_SC_SOFTW 128 00167 #define MSCP_K_SC_HARDW 256 00168 #define MSCP_M_SC_DATAL 0x100 00169 #define MSCP_M_SC_SOFTW 0x1000 00170 #define MSCP_M_SC_HARDW 0x2000 00171 #define MSCP_K_SC_FRCER 0 00172 #define MSCP_K_SC_LGE 0 00173 #define MSCP_K_SC_MEDIA 3 00174 00175 #define MSCP_K_SC_ODDTA 1 00176 #define MSCP_K_SC_ODDBC 2 00177 #define MSCP_K_SC_NXM 3 00178 #define MSCP_K_SC_MPAR 4 00179 #define MSCP_K_SC_IVPTE 5 00180 #define MSCP_K_SC_IVBFN 6 00181 #define MSCP_K_SC_BLENV 7 00182 #define MSCP_K_SC_ACVIO 8 00183 00184 #define MSCP_K_SC_DLATE 1 00185 #define MSCP_K_SC_EDCER 2 00186 #define MSCP_K_SC_DTSTR 3 00187 #define MSCP_K_SC_IEDC 4 00188 #define MSCP_K_SC_LACIN 5 00189 #define MSCP_K_SC_LACOU 6 00190 #define MSCP_K_SC_LACCB 7 00191 #define MSCP_K_SC_OVRUN 8 00192 #define MSCP_K_SC_MEMER 9 00193 #define MSCP_K_SC_REMRSRC 10 00194 #define MSCP_K_SC_RCONL 20 00195 #define MSCP_K_SC_RCONF 21 00196 #define MSCP_K_SC_BADSA 22 00197 #define MSCP_K_SC_NOSER 23 00198 #define MSCP_K_SC_NORES 24 00199 #define MSCP_K_SC_NOCRE 25 00200 #define MSCP_K_SC_BADPR 26 00201 #define MSCP_K_SC_NEGAK 27 00202 #define MSCP_K_SC_TMOUT 28 00203 #define MSCP_K_SC_LCONF 29 00204 #define MSCP_K_SC_DISCN 30 00205 00206 #define MSCP_K_SC_BBROK 0 00207 #define MSCP_K_SC_NOTRP 1 00208 #define MSCP_K_SC_RPLFL 2 00209 #define MSCP_K_SC_ICRCT 3 00210 #define MSCP_K_SC_DRVER 4 00211 #define MSCP_K_SC_RCTFULL 5 00212 #define MSCP_K_SC_RECURFAIL 6 00213 00214 #define MSCP_K_SC_NOTAPEFMT 1 00215 00216 #define MSCP_K_SC_IVKLN 1 00217 #define MSCP_K_SC_IVKTY 2 00218 #define MSCP_K_SC_IVKVL 3 00219 00220 #define MSCP_K_SC_ML_TMO 1 00221 #define MSCP_K_SC_ML_TXERR 2 00222 #define MSCP_K_SC_ML_PRTCL 3 00223 #define MSCP_K_SC_ML_ERROR 4 00224 00225 #define MSCP_K_SC_SEGUNDR 1 00226 00227 #define MSCP_K_SC_ALLOF 1 00228 #define MSCP_K_SC_TABFU 2 00229 #define MSCP_K_SC_NOENT 8 00230 #define MSCP_M_SC_ALLOF 0x2 00231 #define MSCP_M_SC_TABFU 0x4 00232 #define MSCP_M_SC_NOENT 0x10 00233 #define MSCP_K_SC_DCDC 3 00234 00235 #define MSCP_K_SC_DST_TIMOUT 1 00236 #define MSCP_K_SC_DST_INCSTA 2 00237 #define MSCP_K_SC_DST_UNRCOV 4 00238 #define MSCP_K_SC_SRC_TIMOUT 1025 00239 #define MSCP_K_SC_SRC_INCSTA 1026 00240 #define MSCP_K_SC_SRC_UNRCOV 1028 00241 #define MSCP_S_MSCP_SUBCODES 12 00242 00243 00244 00245 struct _mscp_basic_pkt { 00246 /* SSP packages has something here, but we do not need it */ 00247 unsigned int mscp_l_cmd_ref; 00248 unsigned short int mscp_w_unit; 00249 unsigned short int mscp_w_seq_num; 00250 unsigned char mscp_b_opcode; 00251 unsigned char mscp_b_caa; 00252 unsigned short int mscp_w_modifier; 00253 struct { 00254 union { 00255 union { 00256 unsigned char mscp_b_flags; 00257 struct { 00258 unsigned mscp_v_ef_cpret : 1; 00259 unsigned mscp_v_ef_dls : 1; 00260 unsigned mscp_v_ef_pls : 1; 00261 unsigned mscp_v_ef_eot : 1; 00262 unsigned mscp_v_ef_serex : 1; 00263 unsigned mscp_v_ef_erlog : 1; 00264 unsigned mscp_v_ef_bblku : 1; 00265 unsigned mscp_v_ef_bblkr : 1; 00266 }; 00267 }; 00268 union { 00269 unsigned char mscp_b_flags1; 00270 struct { 00271 unsigned mscp_v_filler1 : 2; 00272 unsigned mscp_v_ef_hislo : 1; 00273 unsigned mscp_v_ef_allof : 1; 00274 unsigned mscp_v_filler2 : 3; 00275 unsigned mscp_v_ef_fastskip_used : 1; 00276 }; 00277 }; 00278 }; 00279 union { 00280 union { 00281 unsigned short int mscp_w_status; 00282 struct { 00283 unsigned mscp_v_st_mask : 5; 00284 unsigned mscp_v_st_sbcod : 11; 00285 }; 00286 }; 00287 00288 struct { 00289 union { 00290 struct { 00291 unsigned mscp_v_filler : 5; 00292 unsigned mscp_v_sc_sdign : 1; 00293 unsigned mscp_v_sc_stcon : 1; 00294 unsigned mscp_v_sc_dupun : 1; 00295 unsigned mscp_v_sc_alonl : 1; 00296 unsigned mscp_v_sc_stonl : 1; 00297 unsigned mscp_v_sc_eot : 1; 00298 unsigned mscp_v_fill_20_ : 5; 00299 }; 00300 struct { 00301 unsigned mscp_v_filler : 10; 00302 unsigned mscp_v_sc_inrep : 1; 00303 unsigned mscp_v_sc_ivrct : 1; 00304 unsigned mscp_v_sc_rdony : 1; 00305 unsigned mscp_v_fill_21_ : 3; 00306 }; 00307 }; 00308 }; 00309 00310 struct { 00311 unsigned mscp_v_filler : 5; 00312 unsigned mscp_v_sc_novol : 1; 00313 unsigned mscp_v_sc_inopr : 1; 00314 unsigned mscp_v_dupun : 1; 00315 unsigned mscp_v_sc_udsbl : 1; 00316 unsigned mscp_v_sc_exuse : 1; 00317 unsigned mscp_v_sc_ldr : 1; 00318 unsigned mscp_v_fill_22_ : 5; 00319 }; 00320 00321 struct { 00322 unsigned mscp_v_filler : 5; 00323 unsigned mscp_v_reserved1 : 1; 00324 unsigned mscp_v_sc_cpyip : 1; 00325 unsigned mscp_v_sc_nomem : 1; 00326 unsigned mscp_v_reserved2 : 2; 00327 unsigned mscp_v_sc_aluse : 1; 00328 unsigned mscp_v_fill_23_ : 5; 00329 }; 00330 00331 struct { 00332 unsigned mscp_v_filler1 : 8; 00333 unsigned mscp_v_sc_datal : 1; 00334 unsigned mscp_v_filler2 : 3; 00335 unsigned mscp_v_sc_softw : 1; 00336 unsigned mscp_v_sc_hardw : 1; 00337 unsigned mscp_v_fill_24_ : 2; 00338 }; 00339 00340 struct { 00341 struct { 00342 unsigned mscp_v_filler1 : 1; 00343 unsigned mscp_v_sc_allof : 1; 00344 unsigned mscp_v_sc_tabfu : 1; 00345 unsigned mscp_v_filler2 : 1; 00346 unsigned mscp_v_sc_noent : 1; 00347 unsigned mscp_v_fill_25_ : 3; 00348 }; 00349 }; 00350 00351 }; 00352 }; 00353 }; 00354 00355 /* these are numbered like this in NetBSD too */ 00356 #define MSCP_K_OP_ABORT 1 00357 #define MSCP_K_OP_ACCES 16 00358 #define MSCP_K_OP_ACCNM 5 00359 #define MSCP_K_OP_AVAIL 8 00360 #define MSCP_K_OP_CMPCD 17 00361 #define MSCP_K_OP_COMP 32 00362 #define MSCP_K_OP_DSPLY 6 00363 #define MSCP_K_OP_DTACP 11 00364 #define MSCP_K_OP_DCD 13 00365 #define MSCP_K_OP_ERASE 18 00366 #define MSCP_K_OP_ERGAP 22 00367 #define MSCP_K_OP_FLUSH 19 00368 #define MSCP_K_OP_FMT 24 00369 #define MSCP_K_OP_GTCMD 2 00370 #define MSCP_K_OP_GTUNM 7 00371 #define MSCP_K_OP_GTUNT 3 00372 #define MSCP_K_OP_GTLDR 7 00373 #define MSCP_K_OP_MOVE 12 00374 #define MSCP_K_OP_ONLIN 9 00375 #define MSCP_K_OP_RCEDC 35 00376 #define MSCP_K_OP_READ 33 00377 #define MSCP_K_OP_REPLC 20 00378 #define MSCP_K_OP_REPOS 37 00379 #define MSCP_K_OP_STCON 4 00380 #define MSCP_K_OP_STUNT 10 00381 #define MSCP_K_OP_TERCO 48 00382 #define MSCP_K_OP_WRITE 34 00383 #define MSCP_K_OP_WRITM 36 00384 #define MSCP_K_OP_WRHIM 25 00385 00386 #define MSCP_K_OP_END 128 00387 00388 #define MSCP_K_OP_ACPTH 66 00389 #define MSCP_K_OP_AVATN 64 00390 #define MSCP_K_OP_DUPUN 65 00391 #define MSCP_M_SLUN 0x4000 00392 #define MSCP_K_SLUN_RSVP 32767 00393 00394 struct _generic_mscp { 00395 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00396 struct { 00397 unsigned mscp_v_slun_unused : 14; 00398 unsigned mscp_v_slun : 1; 00399 unsigned mscp_v_fill_26_ : 1; 00400 }; 00401 }; 00402 00403 #define MSCP_K_FMT_DFLT 0 00404 #define MSCP_K_FMT_SING 1 00405 #define MSCP_K_FMT_DOUB 2 00406 #define MSCP_K_FMT_RX33 282 00407 00408 struct _transfer_commands { 00409 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00410 unsigned int mscp_l_byte_cnt; 00411 unsigned char mscp_b_buffer [12]; 00412 union { 00413 struct { 00414 union { 00415 unsigned int mscp_l_lbn; 00416 unsigned int mscp_l_frst_bad; 00417 unsigned int mscp_l_fmt_func; 00418 }; 00419 unsigned int mscp_l_key_id; 00420 unsigned int mscp_l_key_lgh; 00421 unsigned int mscp_l_key_buf [3]; 00422 }; 00423 struct { 00424 unsigned int mscp_l_position; 00425 unsigned int mscp_l_taperec; 00426 }; 00427 }; 00428 }; 00429 00430 struct _abort_gtcmd { 00431 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00432 unsigned int mscp_l_out_ref; 00433 unsigned int mscp_l_cmd_sts; 00434 }; 00435 00436 #define MSCP_K_ANM_READ 0 00437 #define MSCP_K_ANM_EXCG 1 00438 #define MSCP_K_ANM_TSST 2 00439 00440 struct _accnm { 00441 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00442 unsigned int mscp_l_anm_size; 00443 unsigned int mscp_l_anm_offs; 00444 unsigned short int mscp_w_anm_oper; 00445 unsigned short int mscp_w_anm_dlgh; 00446 char mscp_t_anm_memd [32]; 00447 }; 00448 00449 00450 struct _display_cmd { 00451 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00452 unsigned short int mscp_w_ditem; 00453 unsigned short int mscp_w_dmode; 00454 char mscp_t_dtext [16]; 00455 }; 00456 00457 #define MSCP_M_UF_CMPRD 0x1 00458 #define MSCP_M_UF_CMPWR 0x2 00459 #define MSCP_M_UF_WBKNV 0x40 00460 #define MSCP_M_UF_WRTPD 0x100 00461 #define MSCP_M_UF_EXACC 0x400 00462 #define MSCP_M_UF_SCCHH 0x800 00463 #define MSCP_M_UF_WRTPS 0x1000 00464 #define MSCP_M_UF_WRTPH 0x2000 00465 #define MSCP_M_UF_576 0x4 00466 #define MSCP_M_UF_WHL 0x8 00467 #define MSCP_M_UF_RMVBL 0x80 00468 #define MSCP_M_UF_SSMST 0x200 00469 #define MSCP_M_UF_SSMEM 0x4000 00470 #define MSCP_M_UF_REPLC 0x8000 00471 #define MSCP_M_UF_CACFL 0x4 00472 #define MSCP_M_UF_EWRER 0x8 00473 #define MSCP_M_UF_VARSP 0x10 00474 #define MSCP_M_UF_VSMSU 0x20 00475 #define MSCP_M_UF_LOADR 0x200 00476 #define MSCP_M_UF_CACH 0x8000 00477 #define MSCP_M_MTD_ENH 0x1 00478 #define MSCP_M_COMP_SUP 0x2 00479 #define MSCP_M_COMP_ENA 0x4 00480 #define MSCP_M_SLUN_C 0x1F 00481 #define MSCP_M_SLUN_D1 0x3E0 00482 #define MSCP_M_SLUN_D0 0x7C00 00483 #define MSCP_M_MTYP_N 0x7F 00484 #define MSCP_M_MTYP_A2 0xF80 00485 #define MSCP_M_MTYP_A1 0x1F000 00486 #define MSCP_M_MTYP_A0 0x3E0000 00487 #define MSCP_M_MTYP_D1 0x7C00000 00488 #define MSCP_M_MTYP_D0 0xF8000000 00489 #define MSCP_K_CM_NOCPY 0 00490 #define MSCP_K_CM_COPY 1 00491 #define MSCP_K_CM_MGCPY 2 00492 #define MSCP_K_CM_MMRG 3 00493 #define MSCP_M_TF_800 0x1 00494 #define MSCP_M_TF_PE 0x2 00495 #define MSCP_M_TF_GCR 0x4 00496 #define MSCP_M_TF_BLK 0x8 00497 #define MSCP_M_TF_NOR 0x1 00498 #define MSCP_M_TF_BHD 0x2 00499 #define MSCP_M_TF_DN2 0x4 00500 #define MSCP_M_TF_DN3 0x8 00501 #define MSCP_M_TF_T87 0x10 00502 #define MSCP_M_TF_T87C 0x20 00503 #define MSCP_M_TF_ENH 0x2 00504 #define MSCP_M_TF_NDC 0x4 00505 #define MSCP_M_TF_EDC 0x8 00506 #define MSCP_M_TF_DCP 0x2 00507 #define MSCP_M_TF_X82 0x1 00508 #define MSCP_M_TF_X85 0x2 00509 #define MSCP_M_TF_X5C 0x4 00510 #define MSCP_K_TC_OLD 0 00511 #define MSCP_K_TC_9TR 256 00512 #define MSCP_K_TC_CTP 512 00513 #define MSCP_K_TC_HPC 768 00514 #define MSCP_K_TC_WOD 1024 00515 #define MSCP_K_TC_DAT 1280 00516 #define MSCP_K_TC_8MM 1536 00517 #define MSCP_K_TC_QIC 1792 00518 #define MSCP_M_TF_MASK 255 00519 #define MSCP_K_TF_CODE 256 00520 #define MSCP_S_ONLIN_STUNT 44 00521 00522 00523 struct _gtunt { 00524 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00525 unsigned short int mscp_w_mult_unt; 00526 unsigned short int mscp_w_unt_flgs; 00527 unsigned short int mscp_w_tape_char; 00528 short int mscp_w_reserved; 00529 union { 00530 union { 00531 unsigned long long mscp_q_unit_id; 00532 struct { 00533 void *mscp_l_excl_lba; 00534 unsigned int mscp_l_excl_lbc; 00535 }; 00536 }; 00537 union { 00538 long long mscp_q_slun_overlay; 00539 struct { 00540 unsigned int mscp_l_slun_allocls; 00541 unsigned short int mscp_w_slun_unit; 00542 union { 00543 unsigned short int mscp_w_slun_devname; 00544 struct { 00545 unsigned mscp_v_slun_c : 5; 00546 unsigned mscp_v_slun_d1 : 5; 00547 unsigned mscp_v_slun_d0 : 5; 00548 unsigned mscp_v_reserved : 1; 00549 }; 00550 }; 00551 }; 00552 }; 00553 }; 00554 union { 00555 unsigned int mscp_l_dev_parm; 00556 union { 00557 unsigned int mscp_l_media_id; 00558 struct { 00559 unsigned mscp_v_mtyp_n : 7; 00560 unsigned mscp_v_mtyp_a2 : 5; 00561 unsigned mscp_v_mtyp_a1 : 5; 00562 unsigned mscp_v_mtyp_a0 : 5; 00563 unsigned mscp_v_mtyp_d1 : 5; 00564 unsigned mscp_v_mtyp_d0 : 5; 00565 }; 00566 }; 00567 }; 00568 union { 00569 struct { 00570 unsigned short int mscp_w_shdw_unt; 00571 union { 00572 unsigned short int mscp_w_copy_mod; 00573 unsigned short int mscp_w_shdw_sts; 00574 }; 00575 }; 00576 struct { 00577 union { 00578 union { 00579 unsigned short int mscp_w_format; 00580 struct { 00581 unsigned mscp_v_tf_800 : 1; 00582 unsigned mscp_v_tf_pe : 1; 00583 unsigned mscp_v_tf_gcr : 1; 00584 unsigned mscp_v_tf_blk : 1; 00585 unsigned mscp_v_fill_49_ : 4; 00586 }; 00587 }; 00588 union { 00589 unsigned short int mscp_w_format_ctp; 00590 struct { 00591 unsigned mscp_v_tf_nor : 1; 00592 unsigned mscp_v_tf_bhd : 1; 00593 unsigned mscp_v_tf_dn2 : 1; 00594 unsigned mscp_v_tf_dn3 : 1; 00595 unsigned mscp_v_tf_t87 : 1; 00596 unsigned mscp_v_tf_t87c : 1; 00597 unsigned mscp_v_fill_50_ : 2; 00598 }; 00599 }; 00600 union { 00601 unsigned short int mscp_w_format_hpc; 00602 struct { 00603 unsigned mscp_v_fill_10 : 1; 00604 unsigned mscp_v_tf_enh : 1; 00605 unsigned mscp_v_tf_ndc : 1; 00606 unsigned mscp_v_tf_edc : 1; 00607 unsigned mscp_v_fill_51_ : 4; 00608 }; 00609 }; 00610 union { 00611 unsigned short int mscp_w_format_dat; 00612 struct { 00613 unsigned mscp_v_fill_11 : 1; 00614 unsigned mscp_v_tf_dcp : 1; 00615 unsigned mscp_v_fill_52_ : 6; 00616 }; 00617 }; 00618 union { 00619 unsigned short int mscp_w_format_8mm; 00620 struct { 00621 unsigned mscp_v_tf_x82 : 1; 00622 unsigned mscp_v_tf_x85 : 1; 00623 unsigned mscp_v_tf_x5c : 1; 00624 unsigned mscp_v_fill_53_ : 5; 00625 }; 00626 }; 00627 }; 00628 unsigned short int mscp_w_speed; 00629 }; 00630 }; 00631 union { 00632 union { 00633 struct { 00634 unsigned short int mscp_w_track; 00635 unsigned short int mscp_w_group; 00636 unsigned short int mscp_w_cylinder; 00637 unsigned char mscp_b_unit_svr; 00638 unsigned char mscp_b_unit_hvr; 00639 unsigned short int mscp_w_rct_size; 00640 unsigned char mscp_b_rbns; 00641 unsigned char mscp_b_rct_cpys; 00642 unsigned short int mscp_w_load_avail; 00643 }; 00644 struct { 00645 unsigned short int mscp_w_formenu; 00646 unsigned char mscp_b_freecap; 00647 }; 00648 }; 00649 00650 union { 00651 struct { 00652 unsigned int mscp_l_unt_size; 00653 unsigned int mscp_l_vol_ser; 00654 }; 00655 struct { 00656 unsigned int mscp_l_maxwtrec; 00657 unsigned short int mscp_w_noiserec; 00658 }; 00659 }; 00660 00661 }; 00662 }; 00663 00664 struct _rcedc { 00665 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00666 int mscp_l_filler [5]; 00667 unsigned int mscp_l_code; 00668 }; 00669 00670 00671 struct _replc { 00672 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00673 unsigned int mscp_l_rbn; 00674 }; 00675 00676 00677 struct _repos { 00678 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00679 union { 00680 struct { 00681 unsigned int mscp_l_rec_cnt; 00682 unsigned int mscp_l_tmgp_cnt; 00683 }; 00684 struct { 00685 unsigned int mscp_l_rcskiped; 00686 unsigned int mscp_l_tmskiped; 00687 }; 00688 }; 00689 }; 00690 00691 #define MSCP_M_CF_576 0x1 00692 #define MSCP_M_CF_SHADW 0x2 00693 #define MSCP_M_CF_MLTHS 0x4 00694 #define MSCP_M_CF_LDCD 0x8 00695 #define MSCP_M_CF_THIS 0x10 00696 #define MSCP_M_CF_OTHER 0x20 00697 #define MSCP_M_CF_MISC 0x40 00698 #define MSCP_M_CF_ATTN 0x80 00699 #define MSCP_M_CF_RDCD 0x100 00700 #define MSCP_M_CF_WHL 0x200 00701 #define MSCP_M_CF_RDO 0x400 00702 #define MSCP_M_CF_NFESC 0x800 00703 #define MSCP_M_CF_LOAD 0x2000 00704 #define MSCP_M_CF_EDCRP 0x4000 00705 #define MSCP_M_CF_REPLC 0x8000 00706 #define MSCP_M_CF_MTDEN 0x4000 00707 #define MSCP_M_CF_SRT 0x8000 00708 #define MSCP_K_CL_CNTRL 1 00709 #define MSCP_K_CL_DISK 2 00710 #define MSCP_K_CL_TAPE 3 00711 #define MSCP_K_CL_D144 4 00712 #define MSCP_K_CL_LDR 5 00713 00714 #define MSCP_K_CM_HSC50 1 00715 #define MSCP_K_CM_UDA50 2 00716 #define MSCP_K_CM_RC25 3 00717 #define MSCP_K_CM_EMULA 4 00718 #define MSCP_K_CM_TU81 5 00719 #define MSCP_K_CM_UDA52 6 00720 #define MSCP_K_CM_UDA50A 6 00721 #define MSCP_K_CM_RDRX 7 00722 #define MSCP_K_CM_TOPS 8 00723 #define MSCP_K_CM_TK50 9 00724 #define MSCP_K_CM_TQK50 9 00725 #define MSCP_K_CM_RUX50 10 00726 #define MSCP_K_CM_AIO 12 00727 #define MSCP_K_CM_KFBTA 12 00728 #define MSCP_K_CM_KDA50 13 00729 #define MSCP_K_CM_TK70 14 00730 #define MSCP_K_CM_TQK70 14 00731 #define MSCP_K_CM_RV20 15 00732 #define MSCP_K_CM_RRD50 16 00733 #define MSCP_K_CM_RRD50Q 16 00734 #define MSCP_K_CM_KDB50 18 00735 #define MSCP_K_CM_RQDX3 19 00736 #define MSCP_K_CM_RQDX4 20 00737 #define MSCP_K_CM_DSSI_DISK 21 00738 #define MSCP_K_CM_DSSI_TAPE 22 00739 #define MSCP_K_CM_DSSI_DSKTAP 23 00740 #define MSCP_K_CM_DSSI_OTHER 24 00741 #define MSCP_K_CM_TUK50 25 00742 #define MSCP_K_CM_RRD50U 26 00743 #define MSCP_K_CM_KDM70 27 00744 #define MSCP_K_CM_TQL70 28 00745 #define MSCP_K_CM_TM32 29 00746 #define MSCP_K_CM_HSC70 32 00747 #define MSCP_K_CM_HSC40 33 00748 #define MSCP_K_CM_HSC60 34 00749 #define MSCP_K_CM_HSC90 35 00750 #define MSCP_K_CM_RN20 36 00751 #define MSCP_K_CM_ENE10 37 00752 #define MSCP_K_CM_TN10 38 00753 #define MSCP_K_CM_HSJ40 40 00754 #define MSCP_K_CM_HSC65 41 00755 #define MSCP_K_CM_HSC95 42 00756 #define MSCP_K_CM_HSJ80 46 00757 #define MSCP_K_CM_KSB50 64 00758 #define MSCP_K_CM_TK50_DEBNT 65 00759 #define MSCP_K_CM_TBK70 66 00760 #define MSCP_K_CM_TBK7L 68 00761 #define MSCP_K_CM_RF30 96 00762 #define MSCP_K_CM_RF71 97 00763 #define MSCP_K_CM_TF85 98 00764 #define MSCP_K_CM_TF70 99 00765 #define MSCP_K_CM_RF31 100 00766 #define MSCP_K_CM_RF72 101 00767 #define MSCP_K_CM_RF73 102 00768 #define MSCP_K_CM_RF32 103 00769 #define MSCP_K_CM_RF35 104 00770 #define MSCP_K_CM_RF36 108 00771 #define MSCP_K_CM_RF74 109 00772 #define MSCP_K_CM_TF86 110 00773 #define MSCP_K_CM_HSD20 111 00774 #define MSCP_K_CM_RF75 112 00775 #define MSCP_K_CM_RF37 114 00776 #define MSCP_K_CM_HSX50 128 00777 #define MSCP_K_CM_ULTRIX 248 00778 #define MSCP_K_CM_SVS 249 00779 00780 struct _stcon { 00781 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00782 unsigned short int mscp_w_version; 00783 union { 00784 union { 00785 unsigned short int mscp_w_cnt_flgs; 00786 struct { 00787 unsigned mscp_v_cf_576 : 1; 00788 unsigned mscp_v_cf_shadw : 1; 00789 unsigned mscp_v_cf_mlths : 1; 00790 unsigned mscp_v_cf_ldcd : 1; 00791 unsigned mscp_v_cf_this : 1; 00792 unsigned mscp_v_cf_other : 1; 00793 unsigned mscp_v_cf_misc : 1; 00794 unsigned mscp_v_cf_attn : 1; 00795 unsigned mscp_v_cf_rdcd : 1; 00796 unsigned mscp_v_cf_whl : 1; 00797 unsigned mscp_v_cf_rdo : 1; 00798 unsigned mscp_v_cf_nfesc : 1; 00799 unsigned mscp_v_filler : 1; 00800 unsigned mscp_v_cf_load : 1; 00801 unsigned mscp_v_cf_edcrp : 1; 00802 unsigned mscp_v_cf_replc : 1; 00803 }; 00804 }; 00805 union { 00806 unsigned short int mscp_w_tu_cnt_flgs; 00807 struct { 00808 unsigned mscp_v_filler : 14; 00809 unsigned mscp_v_cf_mtden : 1; 00810 unsigned mscp_v_cf_srt : 1; 00811 }; 00812 }; 00813 }; 00814 union { 00815 unsigned short int mscp_w_hst_tmo; 00816 struct { 00817 unsigned short int mscp_w_cnt_tmo; 00818 }; 00819 }; 00820 unsigned char mscp_b_cnt_svr; 00821 unsigned char mscp_b_cnt_hvr; 00822 union { 00823 unsigned long long mscp_q_time; 00824 struct { 00825 unsigned long long mscp_q_cnt_id; 00826 }; 00827 }; 00828 unsigned int mscp_l_maxbcnt; 00829 unsigned short int mscp_w_conn_ref; 00830 00831 }; 00832 00833 00834 #define MSCP_K_MIN_SIZ 12 00835 #define MSCP_C_MIN_SIZ 12 00836 #define MSCP_K_MXCMDLEN 36 00837 #define MSCP_C_MXCMDLEN 36 00838 #define MSCP_K_DCDCMDLEN 60 00839 #define MSCP_C_DCDCMDLEN 60 00840 #define MSCP_K_LEN 50 00841 #define MSCP_C_LEN 50 00842 00843 struct _dcd { 00844 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00845 union { 00846 struct { 00847 unsigned int mscp_l_lbcount; 00848 unsigned short int mscp_w_src_unum; 00849 short int mscp_w_reserved; 00850 unsigned long long mscp_q_src_uid; 00851 unsigned int mscp_l_dest_lbn; 00852 unsigned short int mscp_w_hrn; 00853 unsigned short int mscp_w_ent_id; 00854 int mscp_l_reserved; 00855 unsigned int mscp_l_src_lbn; 00856 unsigned long long mscp_q_port_adr; 00857 unsigned long long mscp_q_sys_adr; 00858 }; 00859 struct { 00860 int mscp_l_filler; 00861 unsigned char mscp_z_sbc_sts [16]; 00862 unsigned short int mscp_w_ent_loc; 00863 }; 00864 }; 00865 }; 00866 00867 00868 #define MSCP_K_WHM_DALL 1 00869 #define MSCP_K_WHM_DHRN 2 00870 #define MSCP_K_WHM_DELO 3 00871 #define MSCP_K_WHM_RALL 4 00872 #define MSCP_K_WHM_RHRN 5 00873 #define MSCP_K_WHM_DAFC 6 00874 00875 struct _wrhim { 00876 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00877 int mscp_l_reserved; 00878 union { 00879 unsigned char mscp_b_wrhis_bd [12]; 00880 struct { 00881 unsigned short int mscp_w_unit_al; 00882 unsigned short int mscp_w_serv_al; 00883 unsigned short int mscp_w_serv_unal; 00884 }; 00885 }; 00886 union { 00887 unsigned short int mscp_w_oper; 00888 unsigned short int mscp_w_count; 00889 }; 00890 unsigned short int mscp_w_offset; 00891 }; 00892 00893 00894 #define WHIS_M_ET_TLIB 0x4000 00895 #define WHIS_M_ET_ERR 0x8000 00896 #define WHIS_K_WRITELOGLEN 16 00897 #define WHIS_C_WRITELOGLEN 16 00898 00899 struct _write_log_entry { 00900 unsigned short int whis_w_elo; 00901 unsigned short int whis_w_unit; 00902 unsigned int whis_l_length; 00903 unsigned int whis_l_lbn; 00904 unsigned short int whis_w_hrn; 00905 union { 00906 unsigned short int whis_w_entflgs; 00907 struct { 00908 unsigned whis_v_filler : 14; 00909 unsigned whis_v_et_tlib : 1; 00910 unsigned whis_v_et_err : 1; 00911 }; 00912 }; 00913 }; 00914 00915 struct _get_unit_name { 00916 struct _mscp_basic_pkt mscp_r_mscp_basic_pkt; 00917 unsigned int mscp_l_ddr_namelen; 00918 char mscp_t_ddr_name [28]; 00919 }; 00920 00921 #endif 00922 00923