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