Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 /*
0003  * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com>
0004  * Bugreports.to..: <Linux390@de.ibm.com>
0005  * Copyright IBM Corp. 1999, 2000
0006  *
0007  */
0008 
0009 #ifndef DASD_FBA_H
0010 #define DASD_FBA_H
0011 
0012 /*
0013  * Maximum number of blocks to be chained
0014  */
0015 #define DASD_FBA_MAX_BLOCKS     96
0016 
0017 struct DE_fba_data {
0018     struct {
0019         unsigned char perm:2;   /* Permissions on this extent */
0020         unsigned char zero:2;   /* Must be zero */
0021         unsigned char da:1; /* usually zero */
0022         unsigned char diag:1;   /* allow diagnose */
0023         unsigned char zero2:2;  /* zero */
0024     } __attribute__ ((packed)) mask;
0025     __u8 zero;      /* Must be zero */
0026     __u16 blk_size;     /* Blocksize */
0027     __u32 ext_loc;      /* Extent locator */
0028     __u32 ext_beg;      /* logical number of block 0 in extent */
0029     __u32 ext_end;      /* logocal number of last block in extent */
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              /* DASD_FBA_H */