patch-2.4.4 linux/drivers/s390/char/tape.h
Next file: linux/drivers/s390/char/tape3480.c
Previous file: linux/drivers/s390/char/tape.c
Back to the patch index
Back to the overall index
- Lines: 69
- Date:
Wed Apr 11 19:02:28 2001
- Orig file:
v2.4.3/linux/drivers/s390/char/tape.h
- Orig date:
Tue Feb 13 14:13:44 2001
diff -u --recursive --new-file v2.4.3/linux/drivers/s390/char/tape.h linux/drivers/s390/char/tape.h
@@ -1,15 +1,13 @@
-
/***************************************************************************
*
* drivers/s390/char/tape.h
* tape device driver for 3480/3490E 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...:-)
****************************************************************************
*/
@@ -71,10 +69,14 @@
typedef ccw_req_t* (*tape_rwblock_t)(const char* data,size_t count,struct _tape_info_t* tape);
typedef void (*tape_freeblock_t)(ccw_req_t* cqr,struct _tape_info_t* tape);
typedef void (*tape_setup_assist_t) (struct _tape_info_t*);
+#ifdef CONFIG_DEVFS_FS
+typedef void (*tape_devfs_handler_t) (struct _tape_info_t*);
+#endif
typedef tape_event_handler_t tape_event_table_t[TS_SIZE][TE_SIZE];
typedef struct _tape_discipline_t {
unsigned int cu_type;
tape_setup_assist_t setup_assist;
+ tape_event_handler_t error_recovery;
tape_reqgen_t bread;
tape_freeblock_t free_bread;
tape_rwblock_t write_block;
@@ -115,6 +117,10 @@
typedef struct _tape_frontend_t {
tape_setup_assist_t device_setup;
+#ifdef CONFIG_DEVFS_FS
+ tape_devfs_handler_t mkdevfstree;
+ tape_devfs_handler_t rmdevfstree;
+#endif
void* next;
} tape_frontend_t __attribute__ ((aligned(8)));
@@ -142,6 +148,14 @@
ccw_req_t* cqr;
atomic_t bh_scheduled;
struct tq_struct bh_tq;
+#ifdef CONFIG_DEVFS_FS
+ devfs_handle_t devfs_dir; /* devfs handle for tape/DEVNO directory */
+ devfs_handle_t devfs_char_dir; /* devfs handle for tape/DEVNO/char directory */
+ devfs_handle_t devfs_block_dir; /* devfs handle for tape/DEVNO/block directory */
+ devfs_handle_t devfs_nonrewinding; /* devfs handle for tape/DEVNO/char/nonrewinding device */
+ devfs_handle_t devfs_rewinding; /* devfs handle for tape/DEVNO/char/rewinding device */
+ devfs_handle_t devfs_disc; /* devfs handle for tape/DEVNO/block/disc device */
+#endif
void* discdata;
void* kernbuf;
void* userbuf;
@@ -167,6 +181,7 @@
/* functions for handling the status of a device */
inline void tapestate_set (tape_info_t * tape, int newstate);
inline int tapestate_get (tape_info_t * tape);
+void tapestate_event (tape_info_t * tape, int event);
extern char* state_verbose[TS_SIZE];
extern char* event_verbose[TE_SIZE];
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)