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