affs_hardblocks.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #ifndef AFFS_HARDBLOCKS_H
  2. #define AFFS_HARDBLOCKS_H
  3. #include <linux/types.h>
  4. /* Just the needed definitions for the RDB of an Amiga HD. */
  5. struct RigidDiskBlock {
  6. __u32 rdb_ID;
  7. __be32 rdb_SummedLongs;
  8. __s32 rdb_ChkSum;
  9. __u32 rdb_HostID;
  10. __be32 rdb_BlockBytes;
  11. __u32 rdb_Flags;
  12. __u32 rdb_BadBlockList;
  13. __be32 rdb_PartitionList;
  14. __u32 rdb_FileSysHeaderList;
  15. __u32 rdb_DriveInit;
  16. __u32 rdb_Reserved1[6];
  17. __u32 rdb_Cylinders;
  18. __u32 rdb_Sectors;
  19. __u32 rdb_Heads;
  20. __u32 rdb_Interleave;
  21. __u32 rdb_Park;
  22. __u32 rdb_Reserved2[3];
  23. __u32 rdb_WritePreComp;
  24. __u32 rdb_ReducedWrite;
  25. __u32 rdb_StepRate;
  26. __u32 rdb_Reserved3[5];
  27. __u32 rdb_RDBBlocksLo;
  28. __u32 rdb_RDBBlocksHi;
  29. __u32 rdb_LoCylinder;
  30. __u32 rdb_HiCylinder;
  31. __u32 rdb_CylBlocks;
  32. __u32 rdb_AutoParkSeconds;
  33. __u32 rdb_HighRDSKBlock;
  34. __u32 rdb_Reserved4;
  35. char rdb_DiskVendor[8];
  36. char rdb_DiskProduct[16];
  37. char rdb_DiskRevision[4];
  38. char rdb_ControllerVendor[8];
  39. char rdb_ControllerProduct[16];
  40. char rdb_ControllerRevision[4];
  41. __u32 rdb_Reserved5[10];
  42. };
  43. #define IDNAME_RIGIDDISK 0x5244534B /* "RDSK" */
  44. struct PartitionBlock {
  45. __be32 pb_ID;
  46. __be32 pb_SummedLongs;
  47. __s32 pb_ChkSum;
  48. __u32 pb_HostID;
  49. __be32 pb_Next;
  50. __u32 pb_Flags;
  51. __u32 pb_Reserved1[2];
  52. __u32 pb_DevFlags;
  53. __u8 pb_DriveName[32];
  54. __u32 pb_Reserved2[15];
  55. __be32 pb_Environment[17];
  56. __u32 pb_EReserved[15];
  57. };
  58. #define IDNAME_PARTITION 0x50415254 /* "PART" */
  59. #define RDB_ALLOCATION_LIMIT 16
  60. #endif /* AFFS_HARDBLOCKS_H */