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