1 /* 2 * File...........: linux/drivers/s390/block/dasd_fba.h 3 * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com> 4 * Horst Hummel <Horst.Hummel@de.ibm.com> 5 * Bugreports.to..: <Linux390@de.ibm.com> 6 * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000 7 * 8 * $Revision: 1.6 $ 9 * 10 * History of changes 11 * 12 */ 13 14 #ifndef DASD_FBA_H 15 #define DASD_FBA_H 16 17 typedef 18 struct DE_fba_data_t { 19 struct { 20 unsigned char perm:2; /* Permissions on this extent */ 21 unsigned char zero:2; /* Must be zero */ 22 unsigned char da:1; /* usually zero */ 23 unsigned char diag:1; /* allow diagnose */ 24 unsigned char zero2:2; /* zero */ 25 } __attribute__ ((packed)) mask; 26 __u8 zero; /* Must be zero */ 27 __u16 blk_size; /* Blocksize */ 28 __u32 ext_loc; /* Extent locator */ 29 __u32 ext_beg; /* logical number of block 0 in extent */ 30 __u32 ext_end; /* logocal number of last block in extent */ 31 } __attribute__ ((packed)) 32 33 DE_fba_data_t; 34 35 typedef 36 struct LO_fba_data_t { 37 struct { 38 unsigned char zero:4; 39 unsigned char cmd:4; 40 } __attribute__ ((packed)) operation; 41 __u8 auxiliary; 42 __u16 blk_ct; 43 __u32 blk_nr; 44 } __attribute__ ((packed)) 45 46 LO_fba_data_t; 47 48 typedef 49 struct dasd_fba_characteristics_t { 50 union { 51 __u8 c; 52 struct { 53 unsigned char reserved:1; 54 unsigned char overrunnable:1; 55 unsigned char burst_byte:1; 56 unsigned char data_chain:1; 57 unsigned char zeros:4; 58 } __attribute__ ((packed)) bits; 59 } __attribute__ ((packed)) mode; 60 union { 61 __u8 c; 62 struct { 63 unsigned char zero0:1; 64 unsigned char removable:1; 65 unsigned char shared:1; 66 unsigned char zero1:1; 67 unsigned char mam:1; 68 unsigned char zeros:3; 69 } __attribute__ ((packed)) bits; 70 } __attribute__ ((packed)) features; 71 __u8 dev_class; 72 __u8 unit_type; 73 __u16 blk_size; 74 __u32 blk_per_cycl; 75 __u32 blk_per_bound; 76 __u32 blk_bdsa; 77 __u32 reserved0; 78 __u16 reserved1; 79 __u16 blk_ce; 80 __u32 reserved2; 81 __u16 reserved3; 82 } __attribute__ ((packed)) 83 84 dasd_fba_characteristics_t; 85 86 int dasd_fba_init (void); 87 void dasd_fba_cleanup (void); 88 #endif /* DASD_FBA_H */ 89