dasd_diag.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  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. #define MDSK_WRITE_REQ 0x01
  10. #define MDSK_READ_REQ  0x02
  11. #define INIT_BIO        0x00
  12. #define RW_BIO          0x01
  13. #define TERM_BIO        0x02
  14. #define DEV_CLASS_FBA   0x01
  15. #define DEV_CLASS_ECKD  0x04
  16. #define DEV_CLASS_CKD   0x04
  17. typedef struct dasd_diag_characteristics_t {
  18. u16 dev_nr;
  19. u16 rdc_len;
  20. u8 vdev_class;
  21. u8 vdev_type;
  22. u8 vdev_status;
  23. u8 vdev_flags;
  24. u8 rdev_class;
  25. u8 rdev_type;
  26. u8 rdev_model;
  27. u8 rdev_features;
  28. } __attribute__ ((packed, aligned (4)))
  29.     dasd_diag_characteristics_t;
  30. typedef struct diag_bio_t {
  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.     diag_bio_t;
  39. typedef struct diag_init_io_t {
  40. u16 dev_nr;
  41. u16 spare1[11];
  42. u32 block_size;
  43. u32 offset;
  44. u32 start_block;
  45. u32 end_block;
  46. u32 spare2[6];
  47. } __attribute__ ((packed, aligned (8)))
  48.     diag_init_io_t;
  49. typedef struct diag_rw_io_t {
  50. u16 dev_nr;
  51. u16 spare1[11];
  52. u8 key;
  53. u8 flags;
  54. u16 spare2;
  55. u32 block_count;
  56. u32 alet;
  57. u32 bio_list;
  58. u32 interrupt_params;
  59. u32 spare3[5];
  60. } __attribute__ ((packed, aligned (8)))
  61.     diag_rw_io_t;
  62. int dasd_diag_init (void);
  63. void dasd_diag_cleanup (void);