📄 mscp_msg.h
字号:
#define mscp_formenu em.u0.gus.u1.t.formenu /* Format menu */#define mscp_freecap em.u0.gus.u1.t.freecap /* Tape media size function */#define mscp_frst_bad em.u0.gen.frst_bad /* First bad block */#define mscp_group em.u0.gus.u1.d.group /* Group size */#define mscp_hst_tmo cm.u0.scc.hst_tmo /* Host timeout */#define mscp_lbn cm.u0.gen.lbn /* Logical block number */#define mscp_max_bcnt em.u0.scc.max_bcnt /* Maximum byte count */#define mscp_maxwtrec em.u0.onl.u1.t.maxwtrec /* Maximum WRITE record size */#define mscp_media_id em.u0.gus.media_id /* Media identifier */#define mscp_modifier cm.modifier /* Command modifier */#define mscp_mult_unt em.u0.gus.mult_unt /* Multi-unit code */#define mscp_noiserec em.u0.onl.u1.t.noiserec /* Maximum noise record size */#define mscp_opcode cm.opcode /* Command opcode */#define mscp_out_ref cm.u0.abo.out_ref /* Outstanding reference no. */#define mscp_position em.u0.acc.position /* Tape position */#define mscp_rbn cm.u0.rep.rbn /* Replacement block number */#define mscp_rbns em.u0.gus.u1.d.rbns /* RBNs per track */#define mscp_rcskiped em.u0.rpo.rcskiped /* Records skipped */#define mscp_rct_cpys em.u0.gus.u1.d.rct_cpys /* RCT copies */#define mscp_rct_size em.u0.gus.u1.d.rct_size /* RCT size */#define mscp_rec_cnt cm.u0.rpo.rec_cnt /* Record/object count */#define mscp_seq_num em.seq_num /* Last err log sequence num */#define mscp_status em.status /* End message status */#define mscp_shdw_sts em.u0.gus.u1.d.shdw_sts /* Shadow status */#define mscp_shdw_unt cm.u0.onl.u1.d.shdw_unt /* Shadow unit */#define mscp_speed cm.u0.onl.u1.t.speed /* Speed */#define mscp_taperec em.u0.acc.taperec /* Tape record byte count */#define mscp_time cm.u0.scc.time /* Quadword date/time */#define mscp_tmgp_cnt cm.u0.rpo.tmgp_cnt /* Tape mark count */#define mscp_tmskiped em.u0.rpo.tmskiped /* Tape marks skipped */#define mscp_track em.u0.gus.u1.d.track /* Track size */#define mscp_unit cm.unit /* Unit number */#define mscp_unit_hvr em.u0.gus.u1.d.unit_hvr /* Unit hardware version */#define mscp_unit_id em.u0.gus.unit_id /* Unit identifier */#define mscp_unit_svr em.u0.gus.u1.d.unit_svr /* Unit software version */#define mscp_unt_flgs cm.u0.onl.unt_flgs /* Unit flags */#define mscp_unt_size em.u0.onl.u1.d.unt_size /* Unit size */#define mscp_version cm.u0.scc.version /* MSCP version */#define mscp_vol_ser em.u0.onl.u1.d.vol_ser /* Volume serial number *//* MSCP error log message offsets (from MSCP specification Table A-8) */typedef struct _mslg { struct _lg { u_long cmd_ref; /* Command reference number */ u_short unit; /* Unit number */ u_short seq_num; /* Sequence number */ u_char format; /* Format */ u_char flags; /* Error log message flags */ u_short event; /* Event code */ u_char cnt_id[ 8 ]; /* Controller ID */ u_char cnt_svr; /* Controller s/w version */ u_char cnt_hvr; /* Controller h/w version */ union { u_short mult_unt; /* Multi-unit code */ u_char cnt_err; /* Cntlr error (1st byte) */ } u1; union { u_long unit_id[ 2 ]; /* Unit ID */ u_long bus_addr; /* Bus address */ } u2; union { struct _dsk { /* Disk transfer errors */ u_char unit_svr; /* Unit software version */ u_char unit_hvr; /* Unit hardware version */ u_char level; /* Level */ u_char retry; /* Retry */ u_long vol_ser; /* Volume serial number */ u_long hdr_code; /* Header code */ u_char disk_trn; /* Disk transfer (1st byte) */ } dsk; struct _sdi { /* SDI errors */ u_char unit_svr; /* Unit software version */ u_char unit_hvr; /* Unit hardware version */ u_short :16; /* Reserved */ u_long vol_ser; /* Volume serial number */ u_long hdr_code; /* Header code */ u_char sdi[ 12 ]; /* SDI Errors */ } sdi; struct _sde { /* Small disk errors */ u_char unit_svr; /* Unit software version */ u_char unit_hvr; /* Unit hardware version */ u_short sde_cyl; /* Cylinder */ u_long vol_ser; /* Volume serial number */ } sde; struct _rpl { /* BBR errors */ u_char unit_svr; /* Unit software version */ u_char unit_hvr; /* Unit hardware version */ u_short rpl_flgs; /* Replacement flags */ u_long vol_ser; /* Volume serial number */ u_long bad_lbn; /* Bad logical block number */ u_long old_rbn; /* Old replacement BN */ u_long new_rbn; /* New replacement BN */ u_short cause; /* Cause (an event code) */ } rpl; struct _ldr { /* Loader errors */ u_char unit_svr; /* Unit software version */ u_char unit_hvr; /* Unit hardware version */ u_short :16; /* Reserved */ u_long ml_id[2]; /* Loader identifier */ u_char ml_svr; /* Loader software version */ u_char ml_hvr; /* Loader hardware version */ u_short ml_unit; /* Loader unit number */ u_char ldr_err; /* Loader error (1st byte) */ } ldr; struct _tpe { /* Tape transfer errors */ u_char unit_svr; /* Unit software version */ u_char unit_hvr; /* Unit hardware version */ u_char level; /* Level */ u_char retry; /* Retry */ u_long vol_ser; /* Volume serial number */ u_long hdr_code; /* Header code */ u_char tape_trn; /* Tape transfer (1st byte) */ } tpe; struct _sti { /* STI errors */ u_char unit_svr; /* Unit software version */ u_char unit_hvr; /* Unit hardware version */ u_short :16; /* Reserved */ u_long gap_cnt; /* Position (object count) */ u_char fmtr_svr; /* Formatter s/w version */ u_char fmtr_hvr; /* Formatter h/w version */ u_short :16; /* Reserved */ u_char sti[62]; /* STI error information */ } sti; } u3; } lg;} MSLG;/* Redefine cells inside inner unions and structures to eliminate * multiple qualification levels. */#define mslg_bad_lbn lg.u3.rpl.bad_lbn /* Bad logical block number */#define mslg_bus_addr lg.u2.bus_addr /* Bus address */#define mslg_cause lg.u3.rpl.cause /* Cause (an event code) */#define mslg_cmd_ref lg.cmd_ref /* Command reference number */#define mslg_cnt_err lg.u1.cnt_err /* Cntlr-dep data (1st byte) */#define mslg_cnt_hvr lg.cnt_hvr /* Controller h/w version */#define mslg_cnt_id lg.cnt_id /* Controller ID */#define mslg_cnt_svr lg.cnt_svr /* Controller s/w version */#define mslg_disk_trn lg.u3.dsk.disk_trn /* Disk transfer (1st byte) */#define mslg_event lg.event /* Event code */#define mslg_flags lg.flags /* Error log message flags */#define mslg_fmtr_hvr lg.u3.sti.fmtr_hvr /* Formatter h/w version */#define mslg_fmtr_svr lg.u3.sti.fmtr_svr /* Formatter s/w version */#define mslg_format lg.format /* Format */#define mslg_gap_cnt lg.u3.sti.gap_cnt /* Position (object count) */#define mslg_hdr_code lg.u3.dsk.hdr_code /* Header code */#define mslg_ldr_err lg.u3.ldr.ldr_err /* Loader error (1st byte ) */#define mslg_level lg.u3.dsk.level /* Level */#define mslg_ml_hvr lg.u3.ldr.ml_hvr /* Loader hardware version */#define mslg_ml_id lg.u3.ldr.ml_id /* Loader identifier */#define mslg_ml_svr lg.u3.ldr.ml_svr /* Loader software version */#define mslg_ml_unit lg.u3.ldr.ml_unit /* Loader unit number */#define mslg_mult_unt lg.u1.mult_unt /* Multi-unit code */#define mslg_new_rbn lg.u3.rpl.new_rbn /* New replacement BN */#define mslg_old_rbn lg.u3.rpl.old_rbn /* Old replacement BN */#define mslg_retry lg.u3.dsk.retry /* Retry */#define mslg_rpl_flgs lg.u3.rpl.rpl_flgs /* Replacement flags */#define mslg_sde_cyl lg.u3.sde.sde_cyl /* Cylinder */#define mslg_sdi lg.u3.sdi.sdi /* SDI Information */#define mslg_seq_num lg.seq_num /* Sequence number */#define mslg_sti lg.u3.sti.sti /* STI Information */#define mslg_tape_trn lg.u3.tpe.tape_trn /* Tape transfer (1st byte ) */#define mslg_unit lg.unit /* Unit number */#define mslg_unit_hvr lg.u3.dsk.unit_hvr /* Unit hardware version */#define mslg_unit_id lg.u2.unit_id /* Unit identifier */#define mslg_unit_svr lg.u3.dsk.unit_svr /* Unit software version */#define mslg_vol_ser lg.u3.dsk.vol_ser /* Volume serial number *//* Define a union of the MSCP and MSLG structures for use in determining * data structure storage requirements. */typedef union { MSCP mscp_maxsize; /* MSCP maximum message size */ MSLG mslg_maxsize; /* MSLG maximum datagram size */} MSCP_MAXBUF;/* MSCP format code definitions (from MSCP specification Table A-9) */#define MSLG_FM_CNT_ER 0x00 /* Controller errors */#define MSLG_FM_BUS_ADDR 0x01 /* Host memory access errors */#define MSLG_FM_DISK_TRN 0x02 /* Disk transfer errors (D) */#define MSLG_FM_SDI 0x03 /* SDI errors */#define MSLG_FM_SML_DSK 0x04 /* Small disk errors */#define MSLG_FM_TAPE_TRN 0x05 /* Tape transfer error (T) */#define MSLG_FM_STI_ERR 0X06 /* STI command error (T) */#define MSLG_FM_STI_DEL 0x07 /* STI driver error log (T) */#define MSLG_FM_STI_FEL 0x08 /* STI formatter error log (T) */#define MSLG_FM_REPLACE 0x09 /* Bad block replacement attempt */#define MSLG_FM_LDR_ERR 0x0a /* Media loader errors */#define MSLG_FM_IBMSENSE 0x0b /* Sense data error log (T) *//* MSCP error log message flags (from MSCP specification Table A-10) */#define MSLG_LF_SUCC 0x80 /* Operation successful */#define MSLG_LF_CONT 0x40 /* Operation continuing */#define MSLG_LF_BBR 0x20 /* Bad block replacement attempt */#define MSLG_LF_RPLER 0x10 /* Error during replacement */#define MSLG_LF_INFO 0x02 /* Informational */#define MSLG_LF_SQNRS 0x01 /* Sequence number reset *//* Bad block replacement attempt (from MSCP specification table A-11) */#define MSLG_LFR_RP 0x8000 /* Replacement attempted */#define MSLG_LFR_FE 0x4000 /* Force error */#define MSLG_LFR_TE 0x2000 /* Tertiary revector */#define MSLG_LFR_RF 0x1000 /* Reformat error */#define MSLG_LFR_RI 0x0800 /* RCT inconsistent */#define MSLG_LFR_BR 0x0400 /* Bad replacement block number *//* ACCESS NON-VOLATILE MEMORY command operation codes * (from MSCP specification table A-12) */#define MSCP_ANM_READ 0x00 /* Read non-volatile memory */#define MSCP_ANM_EXCG 0x01 /* Exchange command data with NVM data */#define MSCP_ANM_TSST 0x02 /* Test and set contents of NVM *//* FORMAT function codes (from MSCP specification table A-13) */#define MSCP_FMT_DFLT 0 /* Device's default */#define MSCP_FMT_SING 1 /* Single density */#define MSCP_FMT_DOUB 2 /* Double density */#define MSCP_FMT_RX33 282 /* RX33 - ISO DIS8630-1985 *//**//* Status and event codes (MSCP specification table B-1) */#define MSCP_ST_MASK 0x1f /* Status / event code mask */#define MSCP_ST_SBCOD 0x20 /* Sub-code multiplier */#define MSCP_ST_SBBIT 0x05 /* Sub-code starting bit position */#define MSCP_ST_SUCC 0x00 /* Success */#define MSCP_ST_ICMD 0x01 /* Invalid command */#define MSCP_ST_ABRTD 0x02 /* Command aborted */#define MSCP_ST_OFFLN 0x03 /* Unit-offline */#define MSCP_ST_AVLBL 0x04 /* Unit-available */#define MSCP_ST_MFMTE 0x05 /* Media format error */#define MSCP_ST_WRTPR 0x06 /* Write protected */#define MSCP_ST_COMP 0x07 /* Compare error */#define MSCP_ST_DATA 0x08 /* Data error */#define MSCP_ST_HSTBF 0x09 /* Host buffer access error */#define MSCP_ST_CNTLR 0x0a /* Controller error */#define MSCP_ST_DRIVE 0x0b /* Drive error */#define MSCP_ST_SHST 0x0c /* Shadow set has changed (D) */#define MSCP_ST_FMTER 0x0c /* Formatter error (T) */#define MSCP_ST_BOT 0x0d /* BOT encountered (T) */#define MSCP_ST_TAPEM 0x0e /* Tape mark encountered (T) */#define MSCP_ST_RDTRN 0x10 /* Record data truncated */#define MSCP_ST_PLOST 0x11 /* Position lost (T) */#define MSCP_ST_PRESE 0x12 /* Previous serious exception (T) */#define MSCP_ST_SEX 0x12 /* Serious Exception (T) */#define MSCP_ST_LED 0x13 /* LEOT detected (T) */#define MSCP_ST_BBR 0x14 /* Bad block replacement completion */#define MSCP_ST_IPARM 0x15 /* Invalid parameter */#define MSCP_ST_INFO 0x16 /* Informational message, not an error */#define MSCP_ST_LOADR 0x17 /* Media loader error */#define MSCP_ST_DIAG 0x1f /* Internal diagnostic message *//* Success sub-code values (MSCP specification table B-2) */#define MSCP_SC_NORML 0x0000 /* Normal */#define MSCP_SC_SDIGN 0x0001 /* Spin-down ignored */#define MSCP_SC_STCON 0x0002 /* Still connected */#define MSCP_SC_DUPUN 0x0004 /* Duplicate unit number */#define MSCP_SC_ALONL 0x0008 /* Already online */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -