patch-2.4.4 linux/drivers/s390/char/tape34xx.h
Next file: linux/drivers/s390/char/tapeblock.c
Previous file: linux/drivers/s390/char/tape34xx.c
Back to the patch index
Back to the overall index
- Lines: 91
- Date:
Wed Apr 11 19:02:28 2001
- Orig file:
v2.4.3/linux/drivers/s390/char/tape34xx.h
- Orig date:
Tue Feb 13 14:13:44 2001
diff -u --recursive --new-file v2.4.3/linux/drivers/s390/char/tape34xx.h linux/drivers/s390/char/tape34xx.h
@@ -4,12 +4,11 @@
* drivers/s390/char/tape34xx.h
* common tape device discipline for 34xx tapes.
*
- * S390 version
- * Copyright (C) 2000 IBM Corporation
- * Author(s): Tuan Ngo-Anh <ngoanh@de.ibm.com>
- * Carsten Otte <cotte@de.ibm.com>
+ * S390 and zSeries version
+ * Copyright (C) 2001 IBM Corporation
+ * Author(s): Carsten Otte <cotte@de.ibm.com>
+ * Tuan Ngo-Anh <ngoanh@de.ibm.com>
*
- * UNDER CONSTRUCTION: Work in progress...:-)
****************************************************************************
*/
@@ -85,6 +84,31 @@
#define CONTROL_UNIT_END DEV_STAT_CU_END /* redefine from irq.h */
#define INCORR_LEN SCHN_STAT_INCORR_LEN /* redefine from irq.h */
+#define SENSE_COMMAND_REJECT 0x80
+#define SENSE_INTERVENTION_REQUIRED 0x40
+#define SENSE_BUS_OUT_CHECK 0x20
+#define SENSE_EQUIPMENT_CHECK 0x10
+#define SENSE_DATA_CHECK 0x08
+#define SENSE_OVERRUN 0x04
+#define SENSE_DEFERRED_UNIT_CHECK 0x02
+#define SENSE_ASSIGNED_ELSEWHERE 0x01
+
+#define SENSE_LOCATE_FAILURE 0x80
+#define SENSE_DRIVE_ONLINE 0x40
+#define SENSE_RESERVED 0x20
+#define SENSE_RECORD_SEQUENCE_ERR 0x10
+#define SENSE_BEGINNING_OF_TAPE 0x08
+#define SENSE_WRITE_MODE 0x04
+#define SENSE_WRITE_PROTECT 0x02
+#define SENSE_NOT_CAPABLE 0x01
+
+#define SENSE_CHANNEL_ADAPTER_CODE 0xE0
+#define SENSE_CHANNEL_ADAPTER_LOC 0x10
+#define SENSE_REPORTING_CU 0x08
+#define SENSE_AUTOMATIC_LOADER 0x04
+#define SENSE_TAPE_SYNC_MODE 0x02
+#define SENSE_TAPE_POSITIONING 0x01
+
typedef struct _tape34xx_disc_data_t {
__u8 modeset_byte;
} tape34xx_disc_data_t __attribute__ ((packed, aligned(8)));
@@ -130,33 +154,30 @@
void tape34xx_default_handler (tape_info_t * tape);
void tape34xx_unexpect_uchk_handler (tape_info_t * tape);
void tape34xx_unused_done(tape_info_t* tape);
-void tape34xx_unused_error(tape_info_t* tape);
void tape34xx_idle_done(tape_info_t* tape);
-void tape34xx_idle_error(tape_info_t* tape);
void tape34xx_block_done(tape_info_t* tape);
-void tape34xx_block_error(tape_info_t* tape);
void tape34xx_bsf_init_done(tape_info_t* tape);
void tape34xx_dse_init_done(tape_info_t* tape);
void tape34xx_fsf_init_done(tape_info_t* tape);
-void tape34xx_fsf_init_error(tape_info_t* tape);
void tape34xx_bsb_init_done(tape_info_t* tape);
void tape34xx_fsb_init_done(tape_info_t* tape);
void tape34xx_lbl_init_done(tape_info_t* tape);
-void tape34xx_lbl_init_error(tape_info_t* tape);
void tape34xx_nop_init_done(tape_info_t* tape);
void tape34xx_rfo_init_done(tape_info_t* tape);
-void tape34xx_rfo_init_error(tape_info_t* tape);
void tape34xx_rbi_init_done(tape_info_t* tape);
void tape34xx_rew_init_done(tape_info_t* tape);
-void tape34xx_rew_init_error(tape_info_t* tape);
void tape34xx_rew_release_init_done(tape_info_t* tape);
-void tape34xx_rew_release_init_error(tape_info_t* tape);
void tape34xx_run_init_done(tape_info_t* tape);
-void tape34xx_run_init_error(tape_info_t* tape);
void tape34xx_wri_init_done(tape_info_t* tape);
-void tape34xx_wri_init_error(tape_info_t* tape);
void tape34xx_wtm_init_done(tape_info_t* tape);
-void tape34xx_wtm_init_error(tape_info_t* tape);
extern void schedule_tapeblock_exec_IO (tape_info_t *tape);
+
+// the error recovery stuff:
+void tape34xx_error_recovery (tape_info_t* tape);
+void tape34xx_error_recovery_has_failed (tape_info_t* tape,int error_id);
+void tape34xx_error_recovery_succeded(tape_info_t* tape);
+void tape34xx_error_recovery_do_retry(tape_info_t* tape);
+void tape34xx_error_recovery_read_opposite (tape_info_t* tape);
+void tape34xx_error_recovery_HWBUG (tape_info_t* tape,int condno);
#endif // _TAPE34XX_H
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)