Chameleon

Chameleon Svn Source Tree

Root/branches/rewrite/i386/include/IOKit/storage/IOFDiskPartitionScheme.h

Source at commit 1129 created 12 years 11 months ago.
By meklort, Change options.o so that it reloads the system config as well. Also change it so that it uses that config for variables (NOTE: if the calue exists in chameleonConfig, it's used instead.
1/*
2 * Copyright (c) 1998-2009 Apple Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 */
23
24/*
25 * This header contains the IOFDiskPartitionScheme class definition.
26 */
27
28#ifndef _IOFDISKPARTITIONSCHEME_H
29#define _IOFDISKPARTITIONSCHEME_H
30
31#include <IOKit/IOTypes.h>
32
33/*
34 * kIOFDiskPartitionSchemeClass is the name of the IOFDiskPartitionScheme class.
35 */
36
37#define kIOFDiskPartitionSchemeClass "IOFDiskPartitionScheme"
38
39/*
40 * FDisk Partition Map Definitions
41 */
42
43#pragma pack(push, 1) /* (enable 8-bit struct packing) */
44
45/* Structure constants. */
46
47#define DISK_BLK0SZ sizeof(struct disk_blk0) /* (size of partition map) */
48#define DISK_BOOTSZ 446 /* (size of boot code in map) */
49#define DISK_NPART 4 /* (number of entries in map) */
50
51/* Partition map entry. */
52
53struct fdisk_part
54{
55 UInt8 bootid; /* (is active boot partition?) */
56 UInt8 beghead; /* (beginning head) */
57 UInt8 begsect; /* (beginning sector; beginning cylinder, high 2 bits) */
58 UInt8 begcyl; /* (beginning cylinder, low 8 bits) */
59 UInt8 systid; /* (type) */
60 UInt8 endhead; /* (ending head) */
61 UInt8 endsect; /* (ending sector; ending cylinder, high 2 bits) */
62 UInt8 endcyl; /* (ending cylinder, low 8 bits) */
63 UInt32 relsect; /* (block start) */
64 UInt32 numsect; /* (block count) */
65};
66
67/* Partition map, as found in block zero of the disk (or extended partition). */
68
69struct disk_blk0
70{
71 UInt8 bootcode[DISK_BOOTSZ]; /* (boot code) */
72 struct fdisk_part parts[DISK_NPART]; /* (partition entries) */
73 UInt16 signature; /* (unique signature for map) */
74};
75
76/* Partition map signature (signature). */
77
78#define DISK_SIGNATURE 0xAA55
79
80/* Partition map entry types (systid). */
81
82#define FDISK_PARTITION_TYPE_01 "DOS_FAT_12"
83#define FDISK_PARTITION_TYPE_04 "DOS_FAT_16_S"
84#define FDISK_PARTITION_TYPE_06 "DOS_FAT_16"
85#define FDISK_PARTITION_TYPE_07 "Windows_NTFS"
86#define FDISK_PARTITION_TYPE_0B "DOS_FAT_32"
87#define FDISK_PARTITION_TYPE_0C "Windows_FAT_32"
88#define FDISK_PARTITION_TYPE_0E "Windows_FAT_16"
89#define FDISK_PARTITION_TYPE_42 "Windows_LDM"
90#define FDISK_PARTITION_TYPE_82 "Linux_Swap"
91#define FDISK_PARTITION_TYPE_83 "Linux"
92#define FDISK_PARTITION_TYPE_8E "Linux_LVM"
93#define FDISK_PARTITION_TYPE_A5 "FreeBSD"
94#define FDISK_PARTITION_TYPE_A6 "OpenBSD"
95#define FDISK_PARTITION_TYPE_A7 "Apple_Rhapsody_UFS"
96#define FDISK_PARTITION_TYPE_A8 "Apple_UFS"
97#define FDISK_PARTITION_TYPE_A9 "NetBSD"
98#define FDISK_PARTITION_TYPE_AB "Apple_Boot"
99#define FDISK_PARTITION_TYPE_AE "Apple_Encrypted"
100#define FDISK_PARTITION_TYPE_AF "Apple_HFS"
101#define FDISK_PARTITION_TYPE_FD "Linux_RAID"
102
103#pragma pack(pop) /* (reset to default struct packing) */
104
105#endif /* !_IOFDISKPARTITIONSCHEME_H */
106

Archive Download this file

Revision: 1129