affs_hardblocks.h 1.5 KB

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