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

Linux/Unix编程

开发平台:

Unix_Linux

  1. #ifndef DASD_FBA_H
  2. #define DASD_FBA_H
  3. typedef
  4.     struct DE_fba_data_t {
  5. struct {
  6. unsigned char perm:2; /* Permissions on this extent */
  7. unsigned char zero:2; /* Must be zero */
  8. unsigned char da:1; /* usually zero */
  9. unsigned char diag:1; /* allow diagnose */
  10. unsigned char zero2:2; /* zero */
  11. } __attribute__ ((packed)) mask;
  12. __u8 zero; /* Must be zero */
  13. __u16 blk_size; /* Blocksize */
  14. __u32 ext_loc; /* Extent locator */
  15. __u32 ext_beg; /* logical number of block 0 in extent */
  16. __u32 ext_end; /* logocal number of last block in extent */
  17. } __attribute__ ((packed))
  18.     DE_fba_data_t;
  19. typedef
  20.     struct LO_fba_data_t {
  21. struct {
  22. unsigned char zero:4;
  23. unsigned char cmd:4;
  24. } __attribute__ ((packed)) operation;
  25. __u8 auxiliary;
  26. __u16 blk_ct;
  27. __u32 blk_nr;
  28. } __attribute__ ((packed))
  29.     LO_fba_data_t;
  30. typedef
  31.     struct dasd_fba_characteristics_t {
  32. union {
  33. __u8 c;
  34. struct {
  35. unsigned char reserved:1;
  36. unsigned char overrunnable:1;
  37. unsigned char burst_byte:1;
  38. unsigned char data_chain:1;
  39. unsigned char zeros:4;
  40. } __attribute__ ((packed)) bits;
  41. } __attribute__ ((packed)) mode;
  42. union {
  43. __u8 c;
  44. struct {
  45. unsigned char zero0:1;
  46. unsigned char removable:1;
  47. unsigned char shared:1;
  48. unsigned char zero1:1;
  49. unsigned char mam:1;
  50. unsigned char zeros:3;
  51. } __attribute__ ((packed)) bits;
  52. } __attribute__ ((packed)) features;
  53. __u8 dev_class;
  54. __u8 unit_type;
  55. __u16 blk_size;
  56. __u32 blk_per_cycl;
  57. __u32 blk_per_bound;
  58. __u32 blk_bdsa;
  59. __u32 reserved0;
  60. __u16 reserved1;
  61. __u16 blk_ce;
  62. __u32 reserved2;
  63. __u16 reserved3;
  64. } __attribute__ ((packed))
  65.     dasd_fba_characteristics_t;
  66. int dasd_fba_init (void);
  67. void dasd_fba_cleanup (void);
  68. #endif /* DASD_FBA_H */