Linux-2.6.12-rc2
[linux-flexiantxendom0-natty.git] / drivers / s390 / block / dasd_diag.h
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.6 $
10  */
11
12 #define MDSK_WRITE_REQ 0x01
13 #define MDSK_READ_REQ  0x02
14
15 #define INIT_BIO        0x00
16 #define RW_BIO          0x01
17 #define TERM_BIO        0x02
18
19 #define DEV_CLASS_FBA   0x01
20 #define DEV_CLASS_ECKD  0x04
21
22 struct dasd_diag_characteristics {
23         u16 dev_nr;
24         u16 rdc_len;
25         u8 vdev_class;
26         u8 vdev_type;
27         u8 vdev_status;
28         u8 vdev_flags;
29         u8 rdev_class;
30         u8 rdev_type;
31         u8 rdev_model;
32         u8 rdev_features;
33 } __attribute__ ((packed, aligned(4)));
34
35 struct dasd_diag_bio {
36         u8 type;
37         u8 status;
38         u16 spare1;
39         u32 block_number;
40         u32 alet;
41         u32 buffer;
42 } __attribute__ ((packed, aligned(8)));
43
44 struct dasd_diag_init_io {
45         u16 dev_nr;
46         u16 spare1[11];
47         u32 block_size;
48         u32 offset;
49         u32 start_block;
50         u32 end_block;
51         u32 spare2[6];
52 } __attribute__ ((packed, aligned(8)));
53
54 struct dasd_diag_rw_io {
55         u16 dev_nr;
56         u16 spare1[11];
57         u8 key;
58         u8 flags;
59         u16 spare2;
60         u32 block_count;
61         u32 alet;
62         u32 bio_list;
63         u32 interrupt_params;
64         u32 spare3[5];
65 } __attribute__ ((packed, aligned(8)));
66