dasd_fba.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. /*
  2. * File...........: linux/drivers/s390/block/dasd_fba.h
  3. * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com>
  4. * Bugreports.to..: <Linux390@de.ibm.com>
  5. * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
  6. *
  7. * $Revision: 1.6 $
  8. */
  9. #ifndef DASD_FBA_H
  10. #define DASD_FBA_H
  11. struct 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. struct LO_fba_data {
  26. struct {
  27. unsigned char zero:4;
  28. unsigned char cmd:4;
  29. } __attribute__ ((packed)) operation;
  30. __u8 auxiliary;
  31. __u16 blk_ct;
  32. __u32 blk_nr;
  33. } __attribute__ ((packed));
  34. struct dasd_fba_characteristics {
  35. union {
  36. __u8 c;
  37. struct {
  38. unsigned char reserved:1;
  39. unsigned char overrunnable:1;
  40. unsigned char burst_byte:1;
  41. unsigned char data_chain:1;
  42. unsigned char zeros:4;
  43. } __attribute__ ((packed)) bits;
  44. } __attribute__ ((packed)) mode;
  45. union {
  46. __u8 c;
  47. struct {
  48. unsigned char zero0:1;
  49. unsigned char removable:1;
  50. unsigned char shared:1;
  51. unsigned char zero1:1;
  52. unsigned char mam:1;
  53. unsigned char zeros:3;
  54. } __attribute__ ((packed)) bits;
  55. } __attribute__ ((packed)) features;
  56. __u8 dev_class;
  57. __u8 unit_type;
  58. __u16 blk_size;
  59. __u32 blk_per_cycl;
  60. __u32 blk_per_bound;
  61. __u32 blk_bdsa;
  62. __u32 reserved0;
  63. __u16 reserved1;
  64. __u16 blk_ce;
  65. __u32 reserved2;
  66. __u16 reserved3;
  67. } __attribute__ ((packed));
  68. #endif /* DASD_FBA_H */