xref: /linux/include/uapi/linux/affs_hardblocks.h (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
16f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2607ca46eSDavid Howells #ifndef	AFFS_HARDBLOCKS_H
3607ca46eSDavid Howells #define	AFFS_HARDBLOCKS_H
4607ca46eSDavid Howells 
5607ca46eSDavid Howells #include <linux/types.h>
6607ca46eSDavid Howells 
7607ca46eSDavid Howells /* Just the needed definitions for the RDB of an Amiga HD. */
8607ca46eSDavid Howells 
9607ca46eSDavid Howells struct RigidDiskBlock {
10*95a55437SMichael Schmitz 	__be32	rdb_ID;
11607ca46eSDavid Howells 	__be32	rdb_SummedLongs;
12*95a55437SMichael Schmitz 	__be32	rdb_ChkSum;
13*95a55437SMichael Schmitz 	__be32	rdb_HostID;
14607ca46eSDavid Howells 	__be32	rdb_BlockBytes;
15*95a55437SMichael Schmitz 	__be32	rdb_Flags;
16*95a55437SMichael Schmitz 	__be32	rdb_BadBlockList;
17607ca46eSDavid Howells 	__be32	rdb_PartitionList;
18*95a55437SMichael Schmitz 	__be32	rdb_FileSysHeaderList;
19*95a55437SMichael Schmitz 	__be32	rdb_DriveInit;
20*95a55437SMichael Schmitz 	__be32	rdb_Reserved1[6];
21*95a55437SMichael Schmitz 	__be32	rdb_Cylinders;
22*95a55437SMichael Schmitz 	__be32	rdb_Sectors;
23*95a55437SMichael Schmitz 	__be32	rdb_Heads;
24*95a55437SMichael Schmitz 	__be32	rdb_Interleave;
25*95a55437SMichael Schmitz 	__be32	rdb_Park;
26*95a55437SMichael Schmitz 	__be32	rdb_Reserved2[3];
27*95a55437SMichael Schmitz 	__be32	rdb_WritePreComp;
28*95a55437SMichael Schmitz 	__be32	rdb_ReducedWrite;
29*95a55437SMichael Schmitz 	__be32	rdb_StepRate;
30*95a55437SMichael Schmitz 	__be32	rdb_Reserved3[5];
31*95a55437SMichael Schmitz 	__be32	rdb_RDBBlocksLo;
32*95a55437SMichael Schmitz 	__be32	rdb_RDBBlocksHi;
33*95a55437SMichael Schmitz 	__be32	rdb_LoCylinder;
34*95a55437SMichael Schmitz 	__be32	rdb_HiCylinder;
35*95a55437SMichael Schmitz 	__be32	rdb_CylBlocks;
36*95a55437SMichael Schmitz 	__be32	rdb_AutoParkSeconds;
37*95a55437SMichael Schmitz 	__be32	rdb_HighRDSKBlock;
38*95a55437SMichael Schmitz 	__be32	rdb_Reserved4;
39607ca46eSDavid Howells 	char	rdb_DiskVendor[8];
40607ca46eSDavid Howells 	char	rdb_DiskProduct[16];
41607ca46eSDavid Howells 	char	rdb_DiskRevision[4];
42607ca46eSDavid Howells 	char	rdb_ControllerVendor[8];
43607ca46eSDavid Howells 	char	rdb_ControllerProduct[16];
44607ca46eSDavid Howells 	char	rdb_ControllerRevision[4];
45*95a55437SMichael Schmitz 	__be32	rdb_Reserved5[10];
46607ca46eSDavid Howells };
47607ca46eSDavid Howells 
48607ca46eSDavid Howells #define	IDNAME_RIGIDDISK	0x5244534B	/* "RDSK" */
49607ca46eSDavid Howells 
50607ca46eSDavid Howells struct PartitionBlock {
51607ca46eSDavid Howells 	__be32	pb_ID;
52607ca46eSDavid Howells 	__be32	pb_SummedLongs;
53*95a55437SMichael Schmitz 	__be32	pb_ChkSum;
54*95a55437SMichael Schmitz 	__be32	pb_HostID;
55607ca46eSDavid Howells 	__be32	pb_Next;
56*95a55437SMichael Schmitz 	__be32	pb_Flags;
57*95a55437SMichael Schmitz 	__be32	pb_Reserved1[2];
58*95a55437SMichael Schmitz 	__be32	pb_DevFlags;
59607ca46eSDavid Howells 	__u8	pb_DriveName[32];
60*95a55437SMichael Schmitz 	__be32	pb_Reserved2[15];
61607ca46eSDavid Howells 	__be32	pb_Environment[17];
62*95a55437SMichael Schmitz 	__be32	pb_EReserved[15];
63607ca46eSDavid Howells };
64607ca46eSDavid Howells 
65607ca46eSDavid Howells #define	IDNAME_PARTITION	0x50415254	/* "PART" */
66607ca46eSDavid Howells 
67607ca46eSDavid Howells #define RDB_ALLOCATION_LIMIT	16
68607ca46eSDavid Howells 
69607ca46eSDavid Howells #endif	/* AFFS_HARDBLOCKS_H */
70