125981136fb13bcacf5f475f3e0ec750341e1e671Christopher Ferris/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef AFFS_HARDBLOCKS_H 330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define AFFS_HARDBLOCKS_H 430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#include <linux/types.h> 630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Just the needed definitions for the RDB of an Amiga HD. */ 830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 930692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct RigidDiskBlock { 1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_ID; 1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be32 rdb_SummedLongs; 1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __s32 rdb_ChkSum; 1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_HostID; 1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be32 rdb_BlockBytes; 1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Flags; 1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_BadBlockList; 1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be32 rdb_PartitionList; 1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_FileSysHeaderList; 1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_DriveInit; 2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Reserved1[6]; 2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Cylinders; 2230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Sectors; 2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Heads; 2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Interleave; 2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Park; 2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Reserved2[3]; 2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_WritePreComp; 2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_ReducedWrite; 2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_StepRate; 3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Reserved3[5]; 3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_RDBBlocksLo; 3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_RDBBlocksHi; 3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_LoCylinder; 3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_HiCylinder; 3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_CylBlocks; 3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_AutoParkSeconds; 3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_HighRDSKBlock; 3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Reserved4; 3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char rdb_DiskVendor[8]; 4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char rdb_DiskProduct[16]; 4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char rdb_DiskRevision[4]; 4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char rdb_ControllerVendor[8]; 4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char rdb_ControllerProduct[16]; 4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng char rdb_ControllerRevision[4]; 4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 rdb_Reserved5[10]; 4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 4830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IDNAME_RIGIDDISK 0x5244534B /* "RDSK" */ 4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 5030692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct PartitionBlock { 5130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be32 pb_ID; 5230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be32 pb_SummedLongs; 5330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __s32 pb_ChkSum; 5430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 pb_HostID; 5530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be32 pb_Next; 5630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 pb_Flags; 5730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 pb_Reserved1[2]; 5830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 pb_DevFlags; 5930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u8 pb_DriveName[32]; 6030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 pb_Reserved2[15]; 6130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __be32 pb_Environment[17]; 6230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng __u32 pb_EReserved[15]; 6330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng}; 6430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 6530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IDNAME_PARTITION 0x50415254 /* "PART" */ 6630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 6730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define RDB_ALLOCATION_LIMIT 16 6830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng 6930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* AFFS_HARDBLOCKS_H */ 70