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