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