1 /* 2 * File...........: linux/drivers/s390/block/dasd_diag.h 3 * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com> 4 * Based on.......: linux/drivers/s390/block/mdisk.h 5 * ...............: by Hartmunt Penner <hpenner@de.ibm.com> 6 * Bugreports.to..: <Linux390@de.ibm.com> 7 * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 8 * 9 * $Revision: 1.7 $ 10 * 11 * History of changes 12 * 13 */ 14 15 #define MDSK_WRITE_REQ 0x01 16 #define MDSK_READ_REQ 0x02 17 18 #define INIT_BIO 0x00 19 #define RW_BIO 0x01 20 #define TERM_BIO 0x02 21 22 #define DEV_CLASS_FBA 0x01 23 #define DEV_CLASS_ECKD 0x04 24 #define DEV_CLASS_CKD 0x04 25 26 typedef struct diag_bio_t { 27 u8 type; 28 u8 status; 29 u16 spare1; 30 u32 block_number; 31 u32 alet; 32 u32 buffer; 33 } __attribute__ ((packed, aligned (8))) 34 35 diag_bio_t; 36 37 typedef struct diag_init_io_t { 38 u16 dev_nr; 39 u16 spare1[11]; 40 u32 block_size; 41 u32 offset; 42 u32 start_block; 43 u32 end_block; 44 u32 spare2[6]; 45 } __attribute__ ((packed, aligned (8))) 46 47 diag_init_io_t; 48 49 typedef struct diag_rw_io_t { 50 u16 dev_nr; 51 u16 spare1[11]; 52 u8 key; 53 u8 flags; 54 u16 spare2; 55 u32 block_count; 56 u32 alet; 57 u32 bio_list; 58 u32 interrupt_params; 59 u32 spare3[5]; 60 } __attribute__ ((packed, aligned (8))) 61 62 diag_rw_io_t; 63 64 int dasd_diag_init (void); 65 void dasd_diag_cleanup (void); 66