Linux-libre 5.4.49-gnu
[librecmc/linux-libre.git] / block / partitions / mac.h
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);