0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef DASD_FBA_H
0010 #define DASD_FBA_H
0011
0012
0013
0014
0015 #define DASD_FBA_MAX_BLOCKS 96
0016
0017 struct DE_fba_data {
0018 struct {
0019 unsigned char perm:2;
0020 unsigned char zero:2;
0021 unsigned char da:1;
0022 unsigned char diag:1;
0023 unsigned char zero2:2;
0024 } __attribute__ ((packed)) mask;
0025 __u8 zero;
0026 __u16 blk_size;
0027 __u32 ext_loc;
0028 __u32 ext_beg;
0029 __u32 ext_end;
0030 } __attribute__ ((packed));
0031
0032 struct LO_fba_data {
0033 struct {
0034 unsigned char zero:4;
0035 unsigned char cmd:4;
0036 } __attribute__ ((packed)) operation;
0037 __u8 auxiliary;
0038 __u16 blk_ct;
0039 __u32 blk_nr;
0040 } __attribute__ ((packed));
0041
0042 struct dasd_fba_characteristics {
0043 union {
0044 __u8 c;
0045 struct {
0046 unsigned char reserved:1;
0047 unsigned char overrunnable:1;
0048 unsigned char burst_byte:1;
0049 unsigned char data_chain:1;
0050 unsigned char zeros:4;
0051 } __attribute__ ((packed)) bits;
0052 } __attribute__ ((packed)) mode;
0053 union {
0054 __u8 c;
0055 struct {
0056 unsigned char zero0:1;
0057 unsigned char removable:1;
0058 unsigned char shared:1;
0059 unsigned char zero1:1;
0060 unsigned char mam:1;
0061 unsigned char zeros:3;
0062 } __attribute__ ((packed)) bits;
0063 } __attribute__ ((packed)) features;
0064 __u8 dev_class;
0065 __u8 unit_type;
0066 __u16 blk_size;
0067 __u32 blk_per_cycl;
0068 __u32 blk_per_bound;
0069 __u32 blk_bdsa;
0070 __u32 reserved0;
0071 __u16 reserved1;
0072 __u16 blk_ce;
0073 __u32 reserved2;
0074 __u16 reserved3;
0075 } __attribute__ ((packed));
0076
0077 #endif