78 lines · c
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 * Copyright IBM Corp. 1999, 20006 *7 */8 9#ifndef DASD_FBA_H10#define DASD_FBA_H11 12/*13 * Maximum number of blocks to be chained14 */15#define DASD_FBA_MAX_BLOCKS 9616 17struct DE_fba_data {18 struct {19 unsigned char perm:2; /* Permissions on this extent */20 unsigned char zero:2; /* Must be zero */21 unsigned char da:1; /* usually zero */22 unsigned char diag:1; /* allow diagnose */23 unsigned char zero2:2; /* zero */24 } __attribute__ ((packed)) mask;25 __u8 zero; /* Must be zero */26 __u16 blk_size; /* Blocksize */27 __u32 ext_loc; /* Extent locator */28 __u32 ext_beg; /* logical number of block 0 in extent */29 __u32 ext_end; /* logocal number of last block in extent */30} __attribute__ ((packed));31 32struct LO_fba_data {33 struct {34 unsigned char zero:4;35 unsigned char cmd:4;36 } __attribute__ ((packed)) operation;37 __u8 auxiliary;38 __u16 blk_ct;39 __u32 blk_nr;40} __attribute__ ((packed));41 42struct dasd_fba_characteristics {43 union {44 __u8 c;45 struct {46 unsigned char reserved:1;47 unsigned char overrunnable:1;48 unsigned char burst_byte:1;49 unsigned char data_chain:1;50 unsigned char zeros:4;51 } __attribute__ ((packed)) bits;52 } __attribute__ ((packed)) mode;53 union {54 __u8 c;55 struct {56 unsigned char zero0:1;57 unsigned char removable:1;58 unsigned char shared:1;59 unsigned char zero1:1;60 unsigned char mam:1;61 unsigned char zeros:3;62 } __attribute__ ((packed)) bits;63 } __attribute__ ((packed)) features;64 __u8 dev_class;65 __u8 unit_type;66 __u16 blk_size;67 __u32 blk_per_cycl;68 __u32 blk_per_bound;69 __u32 blk_bdsa;70 __u32 reserved0;71 __u16 reserved1;72 __u16 blk_ce;73 __u32 reserved2;74 __u16 reserved3;75} __attribute__ ((packed));76 77#endif /* DASD_FBA_H */78