dasd_diag.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * File...........: linux/drivers/s390/block/dasd_diag.h
  3. * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com>
  4. * Based on.......: linux/drivers/s390/block/mdisk.h
  5. * ...............: by Hartmunt Penner <hpenner@de.ibm.com>
  6. * Bugreports.to..: <Linux390@de.ibm.com>
  7. * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
  8. *
  9. * $Revision: 1.6 $
  10. */
  11. #define MDSK_WRITE_REQ 0x01
  12. #define MDSK_READ_REQ 0x02
  13. #define INIT_BIO 0x00
  14. #define RW_BIO 0x01
  15. #define TERM_BIO 0x02
  16. #define DEV_CLASS_FBA 0x01
  17. #define DEV_CLASS_ECKD 0x04
  18. struct dasd_diag_characteristics {
  19. u16 dev_nr;
  20. u16 rdc_len;
  21. u8 vdev_class;
  22. u8 vdev_type;
  23. u8 vdev_status;
  24. u8 vdev_flags;
  25. u8 rdev_class;
  26. u8 rdev_type;
  27. u8 rdev_model;
  28. u8 rdev_features;
  29. } __attribute__ ((packed, aligned(4)));
  30. struct dasd_diag_bio {
  31. u8 type;
  32. u8 status;
  33. u16 spare1;
  34. u32 block_number;
  35. u32 alet;
  36. u32 buffer;
  37. } __attribute__ ((packed, aligned(8)));
  38. struct dasd_diag_init_io {
  39. u16 dev_nr;
  40. u16 spare1[11];
  41. u32 block_size;
  42. u32 offset;
  43. u32 start_block;
  44. u32 end_block;
  45. u32 spare2[6];
  46. } __attribute__ ((packed, aligned(8)));
  47. struct dasd_diag_rw_io {
  48. u16 dev_nr;
  49. u16 spare1[11];
  50. u8 key;
  51. u8 flags;
  52. u16 spare2;
  53. u32 block_count;
  54. u32 alet;
  55. u32 bio_list;
  56. u32 interrupt_params;
  57. u32 spare3[5];
  58. } __attribute__ ((packed, aligned(8)));