mac.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * fs/partitions/mac.h
  4. */
  5. #define MAC_PARTITION_MAGIC 0x504d
  6. /* type field value for A/UX or other Unix partitions */
  7. #define APPLE_AUX_TYPE "Apple_UNIX_SVR2"
  8. struct mac_partition {
  9. __be16 signature; /* expected to be MAC_PARTITION_MAGIC */
  10. __be16 res1;
  11. __be32 map_count; /* # blocks in partition map */
  12. __be32 start_block; /* absolute starting block # of partition */
  13. __be32 block_count; /* number of blocks in partition */
  14. char name[32]; /* partition name */
  15. char type[32]; /* string type description */
  16. __be32 data_start; /* rel block # of first data block */
  17. __be32 data_count; /* number of data blocks */
  18. __be32 status; /* partition status bits */
  19. __be32 boot_start;
  20. __be32 boot_size;
  21. __be32 boot_load;
  22. __be32 boot_load2;
  23. __be32 boot_entry;
  24. __be32 boot_entry2;
  25. __be32 boot_cksum;
  26. char processor[16]; /* identifies ISA of boot */
  27. /* there is more stuff after this that we don't need */
  28. };
  29. #define MAC_STATUS_BOOTABLE 8 /* partition is bootable */
  30. #define MAC_DRIVER_MAGIC 0x4552
  31. /* Driver descriptor structure, in block 0 */
  32. struct mac_driver_desc {
  33. __be16 signature; /* expected to be MAC_DRIVER_MAGIC */
  34. __be16 block_size;
  35. __be32 block_count;
  36. /* ... more stuff */
  37. };
  38. int mac_partition(struct parsed_partitions *state);