1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com> 4 * Bugreports.to..: <Linux390@de.ibm.com> 5 * Coypright IBM Corp. 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 */ 73