hd_blk.h
上传用户:hy_wanghao
上传日期:2007-01-08
资源大小:279k
文件大小:3k
源码类别:

Shell编程

开发平台:

Visual C++

  1. /*
  2.  *  ADF Library. (C) 1997-1998 Laurent Clevy
  3.  *
  4.  *  hd_blk.h
  5.  *
  6.  *  hard disk blocks structures
  7.  */
  8. #ifndef _HD_BLK_H
  9. #define _HD_BLK_H 1
  10. #include "adf_str.h"
  11. /* ------- RDSK ---------*/
  12. struct bRDSKblock {
  13. /*000*/ char id[4]; /* RDSK */
  14. /*004*/ long  size;  /* 64 longs */
  15. /*008*/ ULONG checksum;
  16. /*00c*/ long hostID;  /* 7 */
  17. /*010*/  long  blockSize;  /* 512 bytes */
  18. /*014*/  long  flags;  /* 0x17 */
  19. /*018*/  long  badBlockList;
  20. /*01c*/  long  partitionList;
  21. /*020*/  long  fileSysHdrList;
  22. /*024*/  long  driveInit;
  23. /*028*/  long  r1[6]; /* -1 */
  24. /*040*/  long  cylinders;
  25. /*044*/  long  sectors;
  26. /*048*/  long  heads;
  27. /*04c*/  long  interleave;
  28. /*050*/  long  parkingZone;
  29. /*054*/ long  r2[3];    /* 0 */
  30. /*060*/ long  writePreComp;
  31. /*064*/ long  reducedWrite;
  32. /*068*/ long  stepRate;
  33. /*06c*/ long  r3[5];  /* 0 */
  34. /*080*/ long  rdbBlockLo;
  35. /*084*/  long  rdbBlockHi;
  36. /*088*/  long  loCylinder;
  37. /*08c*/  long  hiCylinder;
  38. /*090*/  long  cylBlocks;
  39. /*094*/  long  autoParkSeconds;
  40. /*098*/  long  highRDSKBlock;
  41. /*09c*/  long  r4;  /* 0 */
  42. /*0a0*/  char  diskVendor[8];
  43. /*0a8*/  char  diskProduct[16];
  44. /*0b8*/  char  diskRevision[4];
  45. /*0bc*/ char  controllerVendor[8];
  46. /*0c4*/  char  controllerProduct[16];
  47. /*0d4*/ char  controllerRevision[4];
  48. /*0d8*/  long  r5[10];  /* 0 */
  49. /*100*/
  50. };
  51. struct bBADBentry {
  52. /*000*/ long  badBlock;
  53. /*004*/ long  goodBlock;
  54. };
  55. struct bBADBblock {
  56. /*000*/ char id[4];  /* BADB */
  57. /*004*/ long  size;  /* 128 longs */
  58. /*008*/ ULONG checksum; 
  59. /*00c*/ long hostID;  /* 7 */
  60. /*010*/  long  next;
  61. /*014*/  long  r1;
  62. /*018*/  struct bBADBentry blockPairs[61];
  63. };
  64. struct bPARTblock {
  65. /*000*/ char id[4];  /* PART */
  66. /*004*/ long  size;  /* 64 longs */
  67. /*008*/ ULONG checksum;
  68. /*00c*/ long hostID;  /* 7 */
  69. /*010*/  long  next;
  70. /*014*/  long  flags;
  71. /*018*/  long  r1[2];
  72. /*020*/  long  devFlags;
  73. /*024*/  char  nameLen;
  74. /*025*/  char  name[31];
  75. /*044*/  long  r2[15];
  76. /*080*/  long  vectorSize;  /* often 16 longs */
  77. /*084*/  long  blockSize;  /* 128 longs */
  78. /*088*/  long  secOrg;
  79. /*08c*/  long  surfaces;
  80. /*090*/  long  sectorsPerBlock; /* == 1 */
  81. /*094*/  long  blocksPerTrack;
  82. /*098*/  long  dosReserved;
  83. /*09c*/  long  dosPreAlloc;
  84. /*0a0*/  long  interleave;
  85. /*0a4*/  long  lowCyl;
  86. /*0a8*/  long  highCyl;
  87. /*0ac*/ long  numBuffer;
  88. /*0b0*/  long  bufMemType;
  89. /*0b4*/  long  maxTransfer;
  90. /*0b8*/  long  mask;
  91. /*0bc*/  long  bootPri;
  92. /*0c0*/  char  dosType[4];
  93. /*0c4*/  long  r3[15];
  94. };
  95. struct bLSEGblock {
  96. /*000*/ char id[4];  /* LSEG */
  97. /*004*/ long  size;  /* 128 longs */
  98. /*008*/ ULONG checksum;
  99. /*00c*/ long hostID;  /* 7 */
  100. /*010*/  long  next;
  101. /*014*/  char  loadData[123*4];
  102. };
  103. struct bFSHDblock {
  104. /*000*/ char id[4];  /* FSHD */
  105. /*004*/ long  size;  /* 64 */
  106. /*008*/ ULONG checksum;
  107. /*00c*/ long hostID;  /* 7 */
  108. /*010*/  long  next;
  109. /*014*/  long  flags;
  110. /*018*/  long  r1[2];
  111. /*020*/  char  dosType[4];
  112. /*024*/  short  majVersion;
  113. /*026*/  short  minVersion;
  114. /*028*/  long  patchFlags;
  115. /*02c*/  long  type;
  116. /*030*/  long  task;
  117. /*034*/  long  lock;
  118. /*038*/  long  handler;
  119. /*03c*/  long  stackSize;
  120. /*040*/  long  priority;
  121. /*044*/  long  startup;
  122. /*048*/  long  segListBlock;
  123. /*04c*/  long  globalVec;
  124. /*050*/  long  r2[23];
  125. /*0ac*/  long  r3[21];
  126. };
  127. #endif /* _HD_BLK_H */
  128. /*##########################################################################*/