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
9struct 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
50struct 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