Root/
Source at commit 1275 created 12 years 11 months ago. By meklort, Remove unused file. Fixup makefiles some more - boot2 compiles again. | |
---|---|
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 IOAppleLabelScheme class definition.␊ |
26 | */␊ |
27 | ␊ |
28 | #ifndef _IOAPPLELABELSCHEME_H␊ |
29 | #define _IOAPPLELABELSCHEME_H␊ |
30 | ␊ |
31 | #include <IOKit/IOTypes.h>␊ |
32 | ␊ |
33 | /*␊ |
34 | * kIOAppleLabelSchemeClass is the name of the IOAppleLabelScheme class.␊ |
35 | */␊ |
36 | ␊ |
37 | #define kIOAppleLabelSchemeClass "IOAppleLabelScheme"␊ |
38 | ␊ |
39 | /*␊ |
40 | * Apple Label Scheme Definitions␊ |
41 | */␊ |
42 | ␊ |
43 | #pragma pack(push, 1) /* (enable 8-bit struct packing) */␊ |
44 | ␊ |
45 | /* Label scheme. */␊ |
46 | ␊ |
47 | struct applelabel␊ |
48 | {␊ |
49 | uint8_t al_boot0[416]; /* (reserved for boot area) */␊ |
50 | uint16_t al_magic; /* (the magic number) */␊ |
51 | uint16_t al_type; /* (label type) */␊ |
52 | uint32_t al_flags; /* (generic flags) */␊ |
53 | uint64_t al_offset; /* (offset of property area, bytes) */␊ |
54 | uint32_t al_size; /* (size of property area, bytes) */␊ |
55 | uint32_t al_checksum; /* (checksum of property area) */␊ |
56 | uint8_t al_boot1[72]; /* (reserved for boot area) */␊ |
57 | };␊ |
58 | ␊ |
59 | /* Label scheme signature (al_magic). */␊ |
60 | ␊ |
61 | #define AL_MAGIC 0x414C␊ |
62 | ␊ |
63 | /* Label scheme version (al_type). */␊ |
64 | ␊ |
65 | #define AL_TYPE_DEFAULT 0x0000␊ |
66 | ␊ |
67 | /* Label scheme flags (al_flags). */␊ |
68 | ␊ |
69 | #define AL_FLAG_DEFAULT 0x00000000␊ |
70 | ␊ |
71 | #pragma pack(pop) /* (reset to default struct packing) */␊ |
72 | ␊ |
73 | #ifdef KERNEL␊ |
74 | #ifdef __cplusplus␊ |
75 | ␊ |
76 | /*␊ |
77 | * Kernel␊ |
78 | */␊ |
79 | ␊ |
80 | #include <IOKit/storage/IOFilterScheme.h>␊ |
81 | ␊ |
82 | /*␊ |
83 | * Class␊ |
84 | */␊ |
85 | ␊ |
86 | class IOAppleLabelScheme : public IOFilterScheme␊ |
87 | {␊ |
88 | OSDeclareDefaultStructors(IOAppleLabelScheme);␊ |
89 | ␊ |
90 | protected:␊ |
91 | ␊ |
92 | struct ExpansionData { /* */ };␊ |
93 | ExpansionData * _expansionData;␊ |
94 | ␊ |
95 | IOMedia * _content;␊ |
96 | ␊ |
97 | /*␊ |
98 | * Free all of this object's outstanding resources.␊ |
99 | */␊ |
100 | ␊ |
101 | virtual void free(void);␊ |
102 | ␊ |
103 | /*␊ |
104 | * Scan the provider media for an Apple label scheme.␊ |
105 | */␊ |
106 | ␊ |
107 | virtual IOMedia * scan(SInt32 * score);␊ |
108 | ␊ |
109 | /*␊ |
110 | * Ask whether the given content appears to be corrupt.␊ |
111 | */␊ |
112 | ␊ |
113 | virtual bool isContentCorrupt(OSDictionary * properties);␊ |
114 | ␊ |
115 | /*␊ |
116 | * Ask whether the given content appears to be invalid.␊ |
117 | */␊ |
118 | ␊ |
119 | virtual bool isContentInvalid(OSDictionary * properties);␊ |
120 | ␊ |
121 | /*␊ |
122 | * Instantiate a new media object to represent the given content.␊ |
123 | */␊ |
124 | ␊ |
125 | virtual IOMedia * instantiateMediaObject(OSDictionary * properties);␊ |
126 | ␊ |
127 | /*␊ |
128 | * Allocate a new media object (called from instantiateMediaObject).␊ |
129 | */␊ |
130 | ␊ |
131 | virtual IOMedia * instantiateDesiredMediaObject(OSDictionary * properties);␊ |
132 | ␊ |
133 | /*␊ |
134 | * Attach the given media object to the device tree plane.␊ |
135 | */␊ |
136 | ␊ |
137 | virtual bool attachMediaObjectToDeviceTree(IOMedia * media);␊ |
138 | ␊ |
139 | /*␊ |
140 | * Detach the given media object from the device tree plane.␊ |
141 | */␊ |
142 | ␊ |
143 | virtual void detachMediaObjectFromDeviceTree(IOMedia * media);␊ |
144 | ␊ |
145 | public:␊ |
146 | ␊ |
147 | /*␊ |
148 | * Initialize this object's minimal state.␊ |
149 | */␊ |
150 | ␊ |
151 | virtual bool init(OSDictionary * properties = 0);␊ |
152 | ␊ |
153 | /*␊ |
154 | * Determine whether the provider media contains an Apple label scheme.␊ |
155 | */␊ |
156 | ␊ |
157 | virtual IOService * probe(IOService * provider, SInt32 * score);␊ |
158 | ␊ |
159 | /*␊ |
160 | * Publish the new media object which represents our content.␊ |
161 | */␊ |
162 | ␊ |
163 | virtual bool start(IOService * provider);␊ |
164 | ␊ |
165 | /*␊ |
166 | * Clean up after the media object we published before terminating.␊ |
167 | */␊ |
168 | ␊ |
169 | virtual void stop(IOService * provider);␊ |
170 | ␊ |
171 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 0);␊ |
172 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 1);␊ |
173 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 2);␊ |
174 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 3);␊ |
175 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 4);␊ |
176 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 5);␊ |
177 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 6);␊ |
178 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 7);␊ |
179 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 8);␊ |
180 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 9);␊ |
181 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 10);␊ |
182 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 11);␊ |
183 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 12);␊ |
184 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 13);␊ |
185 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 14);␊ |
186 | OSMetaClassDeclareReservedUnused(IOAppleLabelScheme, 15);␊ |
187 | };␊ |
188 | ␊ |
189 | #endif /* __cplusplus */␊ |
190 | #endif /* KERNEL */␊ |
191 | #endif /* !_IOAPPLELABELSCHEME_H */␊ |
192 |