1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
#ifndef AFFS_HARDBLOCKS_H #define AFFS_HARDBLOCKS_H /* Just the needed definitions for the RDB of an Amiga HD. */ struct RigidDiskBlock { u32 rdb_ID; u32 rdb_SummedLongs; s32 rdb_ChkSum; u32 rdb_HostID; u32 rdb_BlockBytes; u32 rdb_Flags; u32 rdb_BadBlockList; u32 rdb_PartitionList; u32 rdb_FileSysHeaderList; u32 rdb_DriveInit; u32 rdb_Reserved1[6]; u32 rdb_Cylinders; u32 rdb_Sectors; u32 rdb_Heads; u32 rdb_Interleave; u32 rdb_Park; u32 rdb_Reserved2[3]; u32 rdb_WritePreComp; u32 rdb_ReducedWrite; u32 rdb_StepRate; u32 rdb_Reserved3[5]; u32 rdb_RDBBlocksLo; u32 rdb_RDBBlocksHi; u32 rdb_LoCylinder; u32 rdb_HiCylinder; u32 rdb_CylBlocks; u32 rdb_AutoParkSeconds; u32 rdb_HighRDSKBlock; u32 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]; u32 rdb_Reserved5[10]; }; #define IDNAME_RIGIDDISK 0x5244534B /* "RDSK" */ struct PartitionBlock { u32 pb_ID; u32 pb_SummedLongs; s32 pb_ChkSum; u32 pb_HostID; u32 pb_Next; u32 pb_Flags; u32 pb_Reserved1[2]; u32 pb_DevFlags; u8 pb_DriveName[32]; u32 pb_Reserved2[15]; u32 pb_Environment[17]; u32 pb_EReserved[15]; }; #define IDNAME_PARTITION 0x50415254 /* "PART" */ #define RDB_ALLOCATION_LIMIT 16 #endif /* AFFS_HARDBLOCKS_H */