blob: f1b948c1f5925fd9c495ea0174295021b581cbb6 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#ifndef AFFS_HARDBLOCKS_H
2#define AFFS_HARDBLOCKS_H
3
David Woodhouse7ee7d0e2006-05-04 15:49:24 +01004#include <linux/types.h>
5
Linus Torvalds1da177e2005-04-16 15:20:36 -07006/* Just the needed definitions for the RDB of an Amiga HD. */
7
8struct RigidDiskBlock {
David Woodhouse7ee7d0e2006-05-04 15:49:24 +01009 __u32 rdb_ID;
Linus Torvalds1da177e2005-04-16 15:20:36 -070010 __be32 rdb_SummedLongs;
David Woodhouse7ee7d0e2006-05-04 15:49:24 +010011 __s32 rdb_ChkSum;
12 __u32 rdb_HostID;
Linus Torvalds1da177e2005-04-16 15:20:36 -070013 __be32 rdb_BlockBytes;
David Woodhouse7ee7d0e2006-05-04 15:49:24 +010014 __u32 rdb_Flags;
15 __u32 rdb_BadBlockList;
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 __be32 rdb_PartitionList;
David Woodhouse7ee7d0e2006-05-04 15:49:24 +010017 __u32 rdb_FileSysHeaderList;
18 __u32 rdb_DriveInit;
19 __u32 rdb_Reserved1[6];
20 __u32 rdb_Cylinders;
21 __u32 rdb_Sectors;
22 __u32 rdb_Heads;
23 __u32 rdb_Interleave;
24 __u32 rdb_Park;
25 __u32 rdb_Reserved2[3];
26 __u32 rdb_WritePreComp;
27 __u32 rdb_ReducedWrite;
28 __u32 rdb_StepRate;
29 __u32 rdb_Reserved3[5];
30 __u32 rdb_RDBBlocksLo;
31 __u32 rdb_RDBBlocksHi;
32 __u32 rdb_LoCylinder;
33 __u32 rdb_HiCylinder;
34 __u32 rdb_CylBlocks;
35 __u32 rdb_AutoParkSeconds;
36 __u32 rdb_HighRDSKBlock;
37 __u32 rdb_Reserved4;
Linus Torvalds1da177e2005-04-16 15:20:36 -070038 char rdb_DiskVendor[8];
39 char rdb_DiskProduct[16];
40 char rdb_DiskRevision[4];
41 char rdb_ControllerVendor[8];
42 char rdb_ControllerProduct[16];
43 char rdb_ControllerRevision[4];
David Woodhouse7ee7d0e2006-05-04 15:49:24 +010044 __u32 rdb_Reserved5[10];
Linus Torvalds1da177e2005-04-16 15:20:36 -070045};
46
47#define IDNAME_RIGIDDISK 0x5244534B /* "RDSK" */
48
49struct PartitionBlock {
50 __be32 pb_ID;
51 __be32 pb_SummedLongs;
David Woodhouse7ee7d0e2006-05-04 15:49:24 +010052 __s32 pb_ChkSum;
53 __u32 pb_HostID;
Linus Torvalds1da177e2005-04-16 15:20:36 -070054 __be32 pb_Next;
David Woodhouse7ee7d0e2006-05-04 15:49:24 +010055 __u32 pb_Flags;
56 __u32 pb_Reserved1[2];
57 __u32 pb_DevFlags;
58 __u8 pb_DriveName[32];
59 __u32 pb_Reserved2[15];
Linus Torvalds1da177e2005-04-16 15:20:36 -070060 __be32 pb_Environment[17];
David Woodhouse7ee7d0e2006-05-04 15:49:24 +010061 __u32 pb_EReserved[15];
Linus Torvalds1da177e2005-04-16 15:20:36 -070062};
63
64#define IDNAME_PARTITION 0x50415254 /* "PART" */
65
66#define RDB_ALLOCATION_LIMIT 16
67
68#endif /* AFFS_HARDBLOCKS_H */