forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
2.7 KiB
82 lines
2.7 KiB
/* SPDX-License-Identifier: GPL-2.0+ */ |
|
/* |
|
* (C) Copyright 2000 |
|
* Wolfgang Denk, DENX Software Engineering, [email protected]. |
|
*/ |
|
|
|
/* |
|
* See also Linux sources, fs/partitions/mac.h |
|
* |
|
* This file describes structures and values related to the standard |
|
* Apple SCSI disk partitioning scheme. For more information see: |
|
* http://developer.apple.com/techpubs/mac/Devices/Devices-126.html#MARKER-14-92 |
|
*/ |
|
|
|
#ifndef _DISK_PART_MAC_H |
|
#define _DISK_PART_MAC_H |
|
|
|
#define MAC_DRIVER_MAGIC 0x4552 |
|
|
|
/* |
|
* Driver Descriptor Structure, in block 0. |
|
* This block is (and shall remain) 512 bytes long. |
|
* Note that there is an alignment problem for the driver descriptor map! |
|
*/ |
|
typedef struct mac_driver_desc { |
|
__u16 signature; /* expected to be MAC_DRIVER_MAGIC */ |
|
__u16 blk_size; /* block size of device */ |
|
__u32 blk_count; /* number of blocks on device */ |
|
__u16 dev_type; /* device type */ |
|
__u16 dev_id; /* device id */ |
|
__u32 data; /* reserved */ |
|
__u16 drvr_cnt; /* number of driver descriptor entries */ |
|
__u16 drvr_map[247]; /* driver descriptor map */ |
|
} mac_driver_desc_t; |
|
|
|
/* |
|
* Device Driver Entry |
|
* (Cannot be included in mac_driver_desc because of alignment problems) |
|
*/ |
|
typedef struct mac_driver_entry { |
|
__u32 block; /* block number of starting block */ |
|
__u16 size; /* size of driver, in 512 byte blocks */ |
|
__u16 type; /* OS Type */ |
|
} mac_driver_entry_t; |
|
|
|
|
|
#define MAC_PARTITION_MAGIC 0x504d |
|
|
|
/* type field value for A/UX or other Unix partitions */ |
|
#define APPLE_AUX_TYPE "Apple_UNIX_SVR2" |
|
|
|
/* |
|
* Each Partition Map entry (in blocks 1 ... N) has this format: |
|
*/ |
|
typedef struct mac_partition { |
|
__u16 signature; /* expected to be MAC_PARTITION_MAGIC */ |
|
__u16 sig_pad; /* reserved */ |
|
__u32 map_count; /* # blocks in partition map */ |
|
__u32 start_block; /* abs. starting block # of partition */ |
|
__u32 block_count; /* number of blocks in partition */ |
|
uchar name[32]; /* partition name */ |
|
uchar type[32]; /* string type description */ |
|
__u32 data_start; /* rel block # of first data block */ |
|
__u32 data_count; /* number of data blocks */ |
|
__u32 status; /* partition status bits */ |
|
__u32 boot_start; /* first block of boot code */ |
|
__u32 boot_size; /* size of boot code, in bytes */ |
|
__u32 boot_load; /* boot code load address */ |
|
__u32 boot_load2; /* reserved */ |
|
__u32 boot_entry; /* boot code entry point */ |
|
__u32 boot_entry2; /* reserved */ |
|
__u32 boot_cksum; /* boot code checksum */ |
|
uchar processor[16]; /* Type of Processor */ |
|
__u16 part_pad[188]; /* reserved */ |
|
#if CONFIG_IS_ENABLED(ISO_PARTITION) |
|
uchar iso_dummy[2048];/* Reservere enough room for an ISO partition block to fit */ |
|
#endif |
|
} mac_partition_t; |
|
|
|
#define MAC_STATUS_BOOTABLE 8 /* partition is bootable */ |
|
|
|
#endif /* _DISK_PART_MAC_H */
|
|
|