#ifndef DEVICES_HARDBLOCKS_H #define DEVICES_HARDBLOCKS_H /* ** $Filename: devices/hardblocks.h $ ** $Release: 2.04 Includes, V37.4 $ ** $Revision: 36.3 $ ** $Date: 91/08/23 $ ** ** File System identifier blocks for hard disks ** ** (C) Copyright 1988-1991 Commodore-Amiga, Inc. ** All Rights Reserved */ #ifndef EXEC_TYPES_H #include "exec/types.h" #endif struct RigidDiskBlock { ULONG rdb_ID; ULONG rdb_SummedLongs; LONG rdb_ChkSum; ULONG rdb_HostID; ULONG rdb_BlockBytes; ULONG rdb_Flags; ULONG rdb_BadBlockList; ULONG rdb_PartitionList; ULONG rdb_FileSysHeaderList; ULONG rdb_DriveInit; ULONG rdb_Reserved1[6]; ULONG rdb_Cylinders; ULONG rdb_Sectors; ULONG rdb_Heads; ULONG rdb_Interleave; ULONG rdb_Park; ULONG rdb_Reserved2[3]; ULONG rdb_WritePreComp; ULONG rdb_ReducedWrite; ULONG rdb_StepRate; ULONG rdb_Reserved3[5]; ULONG rdb_RDBBlocksLo; ULONG rdb_RDBBlocksHi; ULONG rdb_LoCylinder; ULONG rdb_HiCylinder; ULONG rdb_CylBlocks; ULONG rdb_AutoParkSeconds; ULONG rdb_HighRDSKBlock; ULONG rdb_Reserved4; char rdb_DiskVendor[8]; char rdb_DiskProduct[16]; char rdb_DiskRevision[4]; char rdb_ControllerVendor[8]; char rdb_ControllerProduct[16]; char rdb_ControllerRevision[4]; ULONG rdb_Reserved5[10]; }; #define IDNAME_RIGIDDISK 0x5244534B #define RDB_LOCATION_LIMIT 16 #define RDBFB_LAST 0 #define RDBFF_LAST 0x01L #define RDBFB_LASTLUN 1 #define RDBFF_LASTLUN 0x02L #define RDBFB_LASTTID 2 #define RDBFF_LASTTID 0x04L #define RDBFB_NORESELECT 3 #define RDBFF_NORESELECT 0x08L #define RDBFB_DISKID 4 #define RDBFF_DISKID 0x10L #define RDBFB_CTRLRID 5 #define RDBFF_CTRLRID 0x20L #define RDBFB_SYNCH 6 #define RDBFF_SYNCH 0x40L struct BadBlockEntry { ULONG bbe_BadBlock; ULONG bbe_GoodBlock; }; struct BadBlockBlock { ULONG bbb_ID; ULONG bbb_SummedLongs; LONG bbb_ChkSum; ULONG bbb_HostID; ULONG bbb_Next; ULONG bbb_Reserved; struct BadBlockEntry bbb_BlockPairs[61]; }; #define IDNAME_BADBLOCK 0x42414442 struct PartitionBlock { ULONG pb_ID; ULONG pb_SummedLongs; LONG pb_ChkSum; ULONG pb_HostID; ULONG pb_Next; ULONG pb_Flags; ULONG pb_Reserved1[2]; ULONG pb_DevFlags; UBYTE pb_DriveName[32]; ULONG pb_Reserved2[15]; ULONG pb_Environment[17]; ULONG pb_EReserved[15]; }; #define IDNAME_PARTITION 0x50415254 #define PBFB_BOOTABLE 0 #define PBFF_BOOTABLE 1L #define PBFB_NOMOUNT 1 #define PBFF_NOMOUNT 2L struct FileSysHeaderBlock { ULONG fhb_ID; ULONG fhb_SummedLongs; LONG fhb_ChkSum; ULONG fhb_HostID; ULONG fhb_Next; ULONG fhb_Flags; ULONG fhb_Reserved1[2]; ULONG fhb_DosType; ULONG fhb_Version; ULONG fhb_PatchFlags; ULONG fhb_Type; ULONG fhb_Task; ULONG fhb_Lock; ULONG fhb_Handler; ULONG fhb_StackSize; LONG fhb_Priority; LONG fhb_Startup; LONG fhb_SegListBlocks; LONG fhb_GlobalVec; ULONG fhb_Reserved2[23]; ULONG fhb_Reserved3[21]; }; #define IDNAME_FILESYSHEADER 0x46534844 struct LoadSegBlock { ULONG lsb_ID; ULONG lsb_SummedLongs; LONG lsb_ChkSum; ULONG lsb_HostID; ULONG lsb_Next; ULONG lsb_LoadData[123]; }; #define IDNAME_LOADSEG 0x4C534547 #endif