Prep 1.3.13 release
[yaboot.git] / include / mac-part.h
1 /*
2  *  mac-part.h - Structure of Apple partition tables
3  *
4  *  Copyright (C) 1996 Paul Mackerras
5  *
6  *  This program is free software; you can redistribute it and/or modify
7  *  it under the terms of the GNU General Public License as published by
8  *  the Free Software Foundation; either version 2 of the License, or
9  *  (at your option) any later version.
10  *
11  *  This program is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  *  GNU General Public License for more details.
15  *
16  *  You should have received a copy of the GNU General Public License
17  *  along with this program; if not, write to the Free Software
18  *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19  */
20
21 #define MAC_PARTITION_MAGIC     0x504d
22
23 /* type field value for A/UX or other Unix partitions */
24 #define APPLE_AUX_TYPE  "Apple_UNIX_SVR2"
25
26 struct mac_partition {
27     __u16       signature;      /* expected to be MAC_PARTITION_MAGIC */
28     __u16       res1;
29     __u32       map_count;      /* # blocks in partition map */
30     __u32       start_block;    /* absolute starting block # of partition */
31     __u32       block_count;    /* number of blocks in partition */
32     char        name[32];       /* partition name */
33     char        type[32];       /* string type description */
34     __u32       data_start;     /* rel block # of first data block */
35     __u32       data_count;     /* number of data blocks */
36     __u32       status;         /* partition status */
37     __u32       boot_start;     /* logical start block no. of bootstrap */
38     __u32       boot_size;      /* no. of bytes in bootstrap */
39     __u32       boot_load;      /* bootstrap load address in memory */
40     __u32       boot_load2;     /* reserved for extension of boot_load */
41     __u32       boot_entry;     /* entry point address for bootstrap */
42     __u32       boot_entry2;    /* reserved for extension of boot_entry */
43     __u32       boot_cksum;
44     char        processor[16];  /* name of processor that boot is for */
45 };
46
47 /* Bit in status field */
48 #define STATUS_BOOTABLE 8       /* partition is bootable */
49
50 #define MAC_DRIVER_MAGIC        0x4552
51
52 /* Driver descriptor structure, in block 0 */
53 struct mac_driver_desc {
54     __u16       signature;      /* expected to be MAC_DRIVER_MAGIC */
55     __u16       block_size;
56     __u32       block_count;
57     /* ... more stuff */
58 };