affs_hardblocks.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. __u32 rdb_ID;
  8. __be32 rdb_SummedLongs;
  9. __s32 rdb_ChkSum;
  10. __u32 rdb_HostID;
  11. __be32 rdb_BlockBytes;
  12. __u32 rdb_Flags;
  13. __u32 rdb_BadBlockList;
  14. __be32 rdb_PartitionList;
  15. __u32 rdb_FileSysHeaderList;
  16. __u32 rdb_DriveInit;
  17. __u32 rdb_Reserved1[6];
  18. __u32 rdb_Cylinders;
  19. __u32 rdb_Sectors;
  20. __u32 rdb_Heads;
  21. __u32 rdb_Interleave;
  22. __u32 rdb_Park;
  23. __u32 rdb_Reserved2[3];
  24. __u32 rdb_WritePreComp;
  25. __u32 rdb_ReducedWrite;
  26. __u32 rdb_StepRate;
  27. __u32 rdb_Reserved3[5];
  28. __u32 rdb_RDBBlocksLo;
  29. __u32 rdb_RDBBlocksHi;
  30. __u32 rdb_LoCylinder;
  31. __u32 rdb_HiCylinder;
  32. __u32 rdb_CylBlocks;
  33. __u32 rdb_AutoParkSeconds;
  34. __u32 rdb_HighRDSKBlock;
  35. __u32 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. __u32 rdb_Reserved5[10];
  43. };
  44. #define IDNAME_RIGIDDISK 0x5244534B /* "RDSK" */
  45. struct PartitionBlock {
  46. __be32 pb_ID;
  47. __be32 pb_SummedLongs;
  48. __s32 pb_ChkSum;
  49. __u32 pb_HostID;
  50. __be32 pb_Next;
  51. __u32 pb_Flags;
  52. __u32 pb_Reserved1[2];
  53. __u32 pb_DevFlags;
  54. __u8 pb_DriveName[32];
  55. __u32 pb_Reserved2[15];
  56. __be32 pb_Environment[17];
  57. __u32 pb_EReserved[15];
  58. };
  59. #define IDNAME_PARTITION 0x50415254 /* "PART" */
  60. #define RDB_ALLOCATION_LIMIT 16
  61. #endif /* AFFS_HARDBLOCKS_H */