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

source code of linux/include/uapi/linux/affs_hardblocks.h