Merge to Fedora kernel-2.6.18-1.2224_FC5 patched with stable patch-2.6.18.1-vs2.0...
[linux-2.6.git] / drivers / s390 / block / dasd_fba.h
1 /*
2  * File...........: linux/drivers/s390/block/dasd_fba.h
3  * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com>
4  * Bugreports.to..: <Linux390@de.ibm.com>
5  * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
6  *
7  */
8
9 #ifndef DASD_FBA_H
10 #define DASD_FBA_H
11
12 struct DE_fba_data {
13         struct {
14                 unsigned char perm:2;   /* Permissions on this extent */
15                 unsigned char zero:2;   /* Must be zero */
16                 unsigned char da:1;     /* usually zero */
17                 unsigned char diag:1;   /* allow diagnose */
18                 unsigned char zero2:2;  /* zero */
19         } __attribute__ ((packed)) mask;
20         __u8 zero;              /* Must be zero */
21         __u16 blk_size;         /* Blocksize */
22         __u32 ext_loc;          /* Extent locator */
23         __u32 ext_beg;          /* logical number of block 0 in extent */
24         __u32 ext_end;          /* logocal number of last block in extent */
25 } __attribute__ ((packed));
26
27 struct LO_fba_data {
28         struct {
29                 unsigned char zero:4;
30                 unsigned char cmd:4;
31         } __attribute__ ((packed)) operation;
32         __u8 auxiliary;
33         __u16 blk_ct;
34         __u32 blk_nr;
35 } __attribute__ ((packed));
36
37 struct dasd_fba_characteristics {
38         union {
39                 __u8 c;
40                 struct {
41                         unsigned char reserved:1;
42                         unsigned char overrunnable:1;
43                         unsigned char burst_byte:1;
44                         unsigned char data_chain:1;
45                         unsigned char zeros:4;
46                 } __attribute__ ((packed)) bits;
47         } __attribute__ ((packed)) mode;
48         union {
49                 __u8 c;
50                 struct {
51                         unsigned char zero0:1;
52                         unsigned char removable:1;
53                         unsigned char shared:1;
54                         unsigned char zero1:1;
55                         unsigned char mam:1;
56                         unsigned char zeros:3;
57                 } __attribute__ ((packed)) bits;
58         } __attribute__ ((packed)) features;
59         __u8 dev_class;
60         __u8 unit_type;
61         __u16 blk_size;
62         __u32 blk_per_cycl;
63         __u32 blk_per_bound;
64         __u32 blk_bdsa;
65         __u32 reserved0;
66         __u16 reserved1;
67         __u16 blk_ce;
68         __u32 reserved2;
69         __u16 reserved3;
70 } __attribute__ ((packed));
71
72 #endif                          /* DASD_FBA_H */