affs_hardblocks.h
01: #ifndef AFFS_HARDBLOCKS_H
02: #define AFFS_HARDBLOCKS_H
03:
04: #include <linux/types.h>
05:
06:
07:
08: struct RigidDiskBlock {
09: __u32 rdb_ID;
10: __be32 rdb_SummedLongs;
11: __s32 rdb_ChkSum;
12: __u32 rdb_HostID;
13: __be32 rdb_BlockBytes;
14: __u32 rdb_Flags;
15: __u32 rdb_BadBlockList;
16: __be32 rdb_PartitionList;
17: __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;
38: 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];
44: __u32 rdb_Reserved5[10];
45: };
46:
47: #define IDNAME_RIGIDDISK 0x5244534B
48:
49: struct PartitionBlock {
50: __be32 pb_ID;
51: __be32 pb_SummedLongs;
52: __s32 pb_ChkSum;
53: __u32 pb_HostID;
54: __be32 pb_Next;
55: __u32 pb_Flags;
56: __u32 pb_Reserved1[2];
57: __u32 pb_DevFlags;
58: __u8 pb_DriveName[32];
59: __u32 pb_Reserved2[15];
60: __be32 pb_Environment[17];
61: __u32 pb_EReserved[15];
62: };
63:
64: #define IDNAME_PARTITION 0x50415254
65:
66: #define RDB_ALLOCATION_LIMIT 16
67:
68: #endif
69:
© Andrew Scott 2006 -
2025,
All Rights Reserved