0001
0002 #ifndef AFFS_HARDBLOCKS_H
0003 #define AFFS_HARDBLOCKS_H
0004
0005 #include <linux/types.h>
0006
0007
0008
0009 struct RigidDiskBlock {
0010 __u32 rdb_ID;
0011 __be32 rdb_SummedLongs;
0012 __s32 rdb_ChkSum;
0013 __u32 rdb_HostID;
0014 __be32 rdb_BlockBytes;
0015 __u32 rdb_Flags;
0016 __u32 rdb_BadBlockList;
0017 __be32 rdb_PartitionList;
0018 __u32 rdb_FileSysHeaderList;
0019 __u32 rdb_DriveInit;
0020 __u32 rdb_Reserved1[6];
0021 __u32 rdb_Cylinders;
0022 __u32 rdb_Sectors;
0023 __u32 rdb_Heads;
0024 __u32 rdb_Interleave;
0025 __u32 rdb_Park;
0026 __u32 rdb_Reserved2[3];
0027 __u32 rdb_WritePreComp;
0028 __u32 rdb_ReducedWrite;
0029 __u32 rdb_StepRate;
0030 __u32 rdb_Reserved3[5];
0031 __u32 rdb_RDBBlocksLo;
0032 __u32 rdb_RDBBlocksHi;
0033 __u32 rdb_LoCylinder;
0034 __u32 rdb_HiCylinder;
0035 __u32 rdb_CylBlocks;
0036 __u32 rdb_AutoParkSeconds;
0037 __u32 rdb_HighRDSKBlock;
0038 __u32 rdb_Reserved4;
0039 char rdb_DiskVendor[8];
0040 char rdb_DiskProduct[16];
0041 char rdb_DiskRevision[4];
0042 char rdb_ControllerVendor[8];
0043 char rdb_ControllerProduct[16];
0044 char rdb_ControllerRevision[4];
0045 __u32 rdb_Reserved5[10];
0046 };
0047
0048 #define IDNAME_RIGIDDISK 0x5244534B
0049
0050 struct PartitionBlock {
0051 __be32 pb_ID;
0052 __be32 pb_SummedLongs;
0053 __s32 pb_ChkSum;
0054 __u32 pb_HostID;
0055 __be32 pb_Next;
0056 __u32 pb_Flags;
0057 __u32 pb_Reserved1[2];
0058 __u32 pb_DevFlags;
0059 __u8 pb_DriveName[32];
0060 __u32 pb_Reserved2[15];
0061 __be32 pb_Environment[17];
0062 __u32 pb_EReserved[15];
0063 };
0064
0065 #define IDNAME_PARTITION 0x50415254
0066
0067 #define RDB_ALLOCATION_LIMIT 16
0068
0069 #endif