home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / C / BC_DICE2.DMS / in.adf / INCLUDE / devices / hardblocks.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-10  |  3.1 KB  |  178 lines

  1. #ifndef DEVICES_HARDBLOCKS_H
  2. #define DEVICES_HARDBLOCKS_H
  3. /*
  4. ** $Filename: devices/hardblocks.h $
  5. ** $Release: 2.04 Includes, V37.4 $
  6. ** $Revision: 36.3 $
  7. ** $Date: 91/08/23 $
  8. **
  9. ** File System identifier blocks for hard disks
  10. **
  11. ** (C) Copyright 1988-1991 Commodore-Amiga, Inc.
  12. ** All Rights Reserved
  13. */
  14.  
  15. #ifndef EXEC_TYPES_H
  16. #include "exec/types.h"
  17. #endif 
  18.  
  19.  
  20.  
  21.  
  22.  
  23. struct RigidDiskBlock {
  24.  ULONG rdb_ID; 
  25.  ULONG rdb_SummedLongs; 
  26.  LONG rdb_ChkSum; 
  27.  ULONG rdb_HostID; 
  28.  ULONG rdb_BlockBytes; 
  29.  ULONG rdb_Flags; 
  30.  
  31.  ULONG rdb_BadBlockList; 
  32.  ULONG rdb_PartitionList; 
  33.  ULONG rdb_FileSysHeaderList; 
  34.  ULONG rdb_DriveInit; 
  35.  
  36.  ULONG rdb_Reserved1[6]; 
  37.  
  38.  ULONG rdb_Cylinders; 
  39.  ULONG rdb_Sectors; 
  40.  ULONG rdb_Heads; 
  41.  ULONG rdb_Interleave; 
  42.  ULONG rdb_Park; 
  43.  ULONG rdb_Reserved2[3];
  44.  ULONG rdb_WritePreComp; 
  45.  ULONG rdb_ReducedWrite; 
  46.  ULONG rdb_StepRate; 
  47.  ULONG rdb_Reserved3[5];
  48.  
  49.  ULONG rdb_RDBBlocksLo; 
  50.  ULONG rdb_RDBBlocksHi; 
  51.  ULONG rdb_LoCylinder; 
  52.  ULONG rdb_HiCylinder; 
  53.  ULONG rdb_CylBlocks; 
  54.  ULONG rdb_AutoParkSeconds; 
  55.  ULONG rdb_HighRDSKBlock; 
  56.  
  57.  ULONG rdb_Reserved4;
  58.  
  59.  char rdb_DiskVendor[8];
  60.  char rdb_DiskProduct[16];
  61.  char rdb_DiskRevision[4];
  62.  char rdb_ControllerVendor[8];
  63.  char rdb_ControllerProduct[16];
  64.  char rdb_ControllerRevision[4];
  65.  ULONG rdb_Reserved5[10];
  66. };
  67.  
  68. #define IDNAME_RIGIDDISK 0x5244534B 
  69.  
  70. #define RDB_LOCATION_LIMIT 16
  71.  
  72. #define RDBFB_LAST 0 
  73. #define RDBFF_LAST 0x01L 
  74. #define RDBFB_LASTLUN 1 
  75. #define RDBFF_LASTLUN 0x02L 
  76. #define RDBFB_LASTTID 2 
  77. #define RDBFF_LASTTID 0x04L 
  78. #define RDBFB_NORESELECT 3 
  79. #define RDBFF_NORESELECT 0x08L 
  80. #define RDBFB_DISKID 4 
  81. #define RDBFF_DISKID 0x10L
  82. #define RDBFB_CTRLRID 5 
  83. #define RDBFF_CTRLRID 0x20L
  84.  
  85. #define RDBFB_SYNCH 6 
  86. #define RDBFF_SYNCH 0x40L 
  87.  
  88.  
  89. struct BadBlockEntry {
  90.  ULONG bbe_BadBlock; 
  91.  ULONG bbe_GoodBlock; 
  92. };
  93.  
  94. struct BadBlockBlock {
  95.  ULONG bbb_ID; 
  96.  ULONG bbb_SummedLongs; 
  97.  LONG bbb_ChkSum; 
  98.  ULONG bbb_HostID; 
  99.  ULONG bbb_Next; 
  100.  ULONG bbb_Reserved;
  101.  struct BadBlockEntry bbb_BlockPairs[61]; 
  102.  
  103. };
  104.  
  105. #define IDNAME_BADBLOCK 0x42414442 
  106.  
  107.  
  108. struct PartitionBlock {
  109.  ULONG pb_ID; 
  110.  ULONG pb_SummedLongs; 
  111.  LONG pb_ChkSum; 
  112.  ULONG pb_HostID; 
  113.  ULONG pb_Next; 
  114.  ULONG pb_Flags; 
  115.  ULONG pb_Reserved1[2];
  116.  ULONG pb_DevFlags; 
  117.  UBYTE pb_DriveName[32]; 
  118.  
  119.  ULONG pb_Reserved2[15]; 
  120.  ULONG pb_Environment[17]; 
  121.  ULONG pb_EReserved[15]; 
  122. };
  123.  
  124. #define IDNAME_PARTITION 0x50415254 
  125.  
  126. #define PBFB_BOOTABLE 0 
  127. #define PBFF_BOOTABLE 1L 
  128. #define PBFB_NOMOUNT 1 
  129. #define PBFF_NOMOUNT 2L 
  130.  
  131.  
  132. struct FileSysHeaderBlock {
  133.  ULONG fhb_ID; 
  134.  ULONG fhb_SummedLongs; 
  135.  LONG fhb_ChkSum; 
  136.  ULONG fhb_HostID; 
  137.  ULONG fhb_Next; 
  138.  ULONG fhb_Flags; 
  139.  ULONG fhb_Reserved1[2];
  140.  ULONG fhb_DosType; 
  141.  
  142.  ULONG fhb_Version; 
  143.  ULONG fhb_PatchFlags; 
  144.  
  145.  
  146.  
  147.  ULONG fhb_Type; 
  148.  ULONG fhb_Task; 
  149.  ULONG fhb_Lock; 
  150.  ULONG fhb_Handler; 
  151.  ULONG fhb_StackSize; 
  152.  LONG fhb_Priority; 
  153.  LONG fhb_Startup; 
  154.  LONG fhb_SegListBlocks; 
  155.  
  156.  
  157.  LONG fhb_GlobalVec; 
  158.  ULONG fhb_Reserved2[23]; 
  159.  ULONG fhb_Reserved3[21];
  160. };
  161.  
  162. #define IDNAME_FILESYSHEADER 0x46534844 
  163.  
  164.  
  165. struct LoadSegBlock {
  166.  ULONG lsb_ID; 
  167.  ULONG lsb_SummedLongs; 
  168.  LONG lsb_ChkSum; 
  169.  ULONG lsb_HostID; 
  170.  ULONG lsb_Next; 
  171.  ULONG lsb_LoadData[123]; 
  172.  
  173. };
  174.  
  175. #define IDNAME_LOADSEG 0x4C534547 
  176.  
  177. #endif 
  178.