xref: /openbmc/linux/block/partitions/mac.h (revision e2c75e76)
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