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