Root/
Source at commit 2741 created 8 years 11 months ago. By ifabio, Add data for new logo and clut (grey) from macosxbootloader (Credits to Pike R. Alpha) | |
---|---|
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 | * @header IODVDMedia␊ |
26 | * @abstract␊ |
27 | * This header contains the IODVDMedia class definition.␊ |
28 | */␊ |
29 | ␊ |
30 | #ifndef _IODVDMEDIA_H␊ |
31 | #define _IODVDMEDIA_H␊ |
32 | ␊ |
33 | /*!␊ |
34 | * @defined kIODVDMediaClass␊ |
35 | * @abstract␊ |
36 | * kIODVDMediaClass is the name of the IODVDMedia class.␊ |
37 | * @discussion␊ |
38 | * kIODVDMediaClass is the name of the IODVDMedia class.␊ |
39 | */␊ |
40 | ␊ |
41 | #define kIODVDMediaClass "IODVDMedia"␊ |
42 | ␊ |
43 | /*!␊ |
44 | * @defined kIODVDMediaTypeKey␊ |
45 | * @abstract␊ |
46 | * kIODVDMediaTypeKey is a property of IODVDMedia objects. It has an OSString␊ |
47 | * value.␊ |
48 | * @discussion␊ |
49 | * The kIODVDMediaTypeKey property identifies the DVD media type (DVD-ROM,␊ |
50 | * DVD-R, DVD-RW, DVD+RW, DVD-RAM, etc). See the kIODVDMediaType contants␊ |
51 | * for possible values.␊ |
52 | */␊ |
53 | ␊ |
54 | #define kIODVDMediaTypeKey "Type"␊ |
55 | ␊ |
56 | /*!␊ |
57 | * @defined kIODVDMediaTypeROM␊ |
58 | * The kIODVDMediaTypeKey constant for DVD-ROM media.␊ |
59 | */␊ |
60 | ␊ |
61 | #define kIODVDMediaTypeROM "DVD-ROM"␊ |
62 | ␊ |
63 | /*!␊ |
64 | * @defined kIODVDMediaTypeR␊ |
65 | * The kIODVDMediaTypeKey constant for DVD Recordable (DVD-R) media.␊ |
66 | */␊ |
67 | ␊ |
68 | #define kIODVDMediaTypeR "DVD-R"␊ |
69 | ␊ |
70 | /*!␊ |
71 | * @defined kIODVDMediaTypeRW␊ |
72 | * The kIODVDMediaTypeKey constant for DVD ReWritable (DVD-RW) media.␊ |
73 | */␊ |
74 | ␊ |
75 | #define kIODVDMediaTypeRW "DVD-RW"␊ |
76 | ␊ |
77 | /*!␊ |
78 | * @defined kIODVDMediaTypePlusR␊ |
79 | * The kIODVDMediaTypeKey constant for DVD "Plus" Recordable (DVD+R) media.␊ |
80 | */␊ |
81 | ␊ |
82 | #define kIODVDMediaTypePlusR "DVD+R"␊ |
83 | ␊ |
84 | /*!␊ |
85 | * @defined kIODVDMediaTypePlusRW␊ |
86 | * The kIODVDMediaTypeKey constant for DVD "Plus" ReWritable (DVD+RW) media.␊ |
87 | */␊ |
88 | ␊ |
89 | #define kIODVDMediaTypePlusRW "DVD+RW"␊ |
90 | ␊ |
91 | /*!␊ |
92 | * @defined kIODVDMediaTypeRAM␊ |
93 | * The kIODVDMediaTypeKey constant for DVD-RAM media.␊ |
94 | */␊ |
95 | ␊ |
96 | #define kIODVDMediaTypeRAM "DVD-RAM"␊ |
97 | ␊ |
98 | /*!␊ |
99 | * @defined kIODVDMediaTypeHDROM␊ |
100 | * The kIODVDMediaTypeKey constant for HD DVD-ROM media.␊ |
101 | */␊ |
102 | ␊ |
103 | #define kIODVDMediaTypeHDROM "HD DVD-ROM"␊ |
104 | ␊ |
105 | /*!␊ |
106 | * @defined kIODVDMediaTypeHDR␊ |
107 | * The kIODVDMediaTypeKey constant for HD DVD Recordable (HD DVD-R) media.␊ |
108 | */␊ |
109 | ␊ |
110 | #define kIODVDMediaTypeHDR "HD DVD-R"␊ |
111 | ␊ |
112 | /*!␊ |
113 | * @defined kIODVDMediaTypeHDRW␊ |
114 | * The kIODVDMediaTypeKey constant for HD DVD ReWritable (HD DVD-RW) media.␊ |
115 | */␊ |
116 | ␊ |
117 | #define kIODVDMediaTypeHDRW "HD DVD-RW"␊ |
118 | ␊ |
119 | /*!␊ |
120 | * @defined kIODVDMediaTypeHDRAM␊ |
121 | * The kIODVDMediaTypeKey constant for HD DVD-RAM media.␊ |
122 | */␊ |
123 | ␊ |
124 | #define kIODVDMediaTypeHDRAM "HD DVD-RAM"␊ |
125 | ␊ |
126 | #ifdef KERNEL␊ |
127 | #ifdef __cplusplus␊ |
128 | ␊ |
129 | /*␊ |
130 | * Kernel␊ |
131 | */␊ |
132 | ␊ |
133 | #include <IOKit/storage/IODVDBlockStorageDriver.h>␊ |
134 | #include <IOKit/storage/IOMedia.h>␊ |
135 | ␊ |
136 | /*!␊ |
137 | * @class IODVDMedia␊ |
138 | * @abstract␊ |
139 | * The IODVDMedia class is a random-access disk device abstraction for DVDs.␊ |
140 | * @discussion␊ |
141 | * The IODVDMedia class is a random-access disk device abstraction for DVDs.␊ |
142 | */␊ |
143 | ␊ |
144 | class IODVDMedia : public IOMedia␊ |
145 | {␊ |
146 | OSDeclareDefaultStructors(IODVDMedia)␊ |
147 | ␊ |
148 | protected:␊ |
149 | ␊ |
150 | struct ExpansionData { /* */ };␊ |
151 | ExpansionData * _expansionData;␊ |
152 | ␊ |
153 | public:␊ |
154 | ␊ |
155 | /*␊ |
156 | * Obtain this object's provider. We override the superclass's method to␊ |
157 | * return a more specific subclass of IOService -- IODVDBlockStorageDriver.␊ |
158 | * This method serves simply as a convenience to subclass developers.␊ |
159 | */␊ |
160 | ␊ |
161 | virtual IODVDBlockStorageDriver * getProvider() const;␊ |
162 | ␊ |
163 | /*␊ |
164 | * Compare the properties in the supplied table to this object's properties.␊ |
165 | */␊ |
166 | ␊ |
167 | virtual bool matchPropertyTable(OSDictionary * table, SInt32 * score);␊ |
168 | ␊ |
169 | /*!␊ |
170 | * @function reportKey␊ |
171 | * @discussion␊ |
172 | * Issue an MMC REPORT KEY command.␊ |
173 | * @param buffer␊ |
174 | * Buffer for the data transfer. The size of the buffer implies the size of␊ |
175 | * the data transfer. Pass null for the kDVDKeyFormatAGID_Invalidate format␊ |
176 | * case.␊ |
177 | * @param keyClass␊ |
178 | * As documented by MMC.␊ |
179 | * @param address␊ |
180 | * As documented by MMC.␊ |
181 | * @param grantID␊ |
182 | * As documented by MMC.␊ |
183 | * @param format␊ |
184 | * As documented by MMC.␊ |
185 | * @result␊ |
186 | * Returns the status of the data transfer.␊ |
187 | */␊ |
188 | ␊ |
189 | virtual IOReturn reportKey( IOMemoryDescriptor * buffer,␊ |
190 | const DVDKeyClass keyClass,␊ |
191 | const UInt32 address,␊ |
192 | const UInt8 grantID,␊ |
193 | const DVDKeyFormat format ); /* 10.1.0 */␊ |
194 | ␊ |
195 | /*!␊ |
196 | * @function sendKey␊ |
197 | * @discussion␊ |
198 | * Issue an MMC SEND KEY command.␊ |
199 | * @param buffer␊ |
200 | * Buffer for the data transfer. The size of the buffer implies the size of␊ |
201 | * the data transfer. Pass null for the kDVDKeyFormatAGID_Invalidate format␊ |
202 | * case.␊ |
203 | * @param keyClass␊ |
204 | * As documented by MMC.␊ |
205 | * @param grantID␊ |
206 | * As documented by MMC.␊ |
207 | * @param format␊ |
208 | * As documented by MMC.␊ |
209 | * @result␊ |
210 | * Returns the status of the data transfer.␊ |
211 | */␊ |
212 | ␊ |
213 | virtual IOReturn sendKey( IOMemoryDescriptor * buffer,␊ |
214 | const DVDKeyClass keyClass,␊ |
215 | const UInt8 grantID,␊ |
216 | const DVDKeyFormat format ); /* 10.1.0 */␊ |
217 | ␊ |
218 | /*!␊ |
219 | * @function readStructure␊ |
220 | * @discussion␊ |
221 | * Issue an MMC READ DVD STRUCTURE command.␊ |
222 | * @param buffer␊ |
223 | * Buffer for the data transfer. The size of the buffer implies the size of␊ |
224 | * the data transfer.␊ |
225 | * @param format␊ |
226 | * As documented by MMC.␊ |
227 | * @param address␊ |
228 | * As documented by MMC.␊ |
229 | * @param layer␊ |
230 | * As documented by MMC.␊ |
231 | * @param grantID␊ |
232 | * As documented by MMC.␊ |
233 | * @result␊ |
234 | * Returns the status of the data transfer.␊ |
235 | */␊ |
236 | ␊ |
237 | virtual IOReturn readStructure( IOMemoryDescriptor * buffer,␊ |
238 | const DVDStructureFormat format,␊ |
239 | const UInt32 address,␊ |
240 | const UInt8 layer,␊ |
241 | const UInt8 grantID ); /* 10.1.0 */␊ |
242 | ␊ |
243 | /*!␊ |
244 | * @function getSpeed␊ |
245 | * @discussion␊ |
246 | * Get the current speed used for data transfers.␊ |
247 | * @param kilobytesPerSecond␊ |
248 | * Returns the current speed used for data transfers, in kB/s.␊ |
249 | *␊ |
250 | * kDVDSpeedMin specifies the minimum speed for all DVD media (1X).␊ |
251 | * kDVDSpeedMax specifies the maximum speed supported in hardware.␊ |
252 | * @result␊ |
253 | * Returns the status of the operation.␊ |
254 | */␊ |
255 | ␊ |
256 | virtual IOReturn getSpeed(UInt16 * kilobytesPerSecond); /* 10.1.0 */␊ |
257 | ␊ |
258 | /*!␊ |
259 | * @function setSpeed␊ |
260 | * @discussion␊ |
261 | * Set the speed to be used for data transfers.␊ |
262 | * @param kilobytesPerSecond␊ |
263 | * Speed to be used for data transfers, in kB/s.␊ |
264 | *␊ |
265 | * kDVDSpeedMin specifies the minimum speed for all DVD media (1X).␊ |
266 | * kDVDSpeedMax specifies the maximum speed supported in hardware.␊ |
267 | * @result␊ |
268 | * Returns the status of the operation.␊ |
269 | */␊ |
270 | ␊ |
271 | virtual IOReturn setSpeed(UInt16 kilobytesPerSecond); /* 10.1.0 */␊ |
272 | ␊ |
273 | /*!␊ |
274 | * @function readDiscInfo␊ |
275 | * @discussion␊ |
276 | * Issue an MMC READ DISC INFORMATION command.␊ |
277 | * @param buffer␊ |
278 | * Buffer for the data transfer. The size of the buffer implies the size of␊ |
279 | * the data transfer.␊ |
280 | * @param actualByteCount␊ |
281 | * Returns the actual number of bytes transferred in the data transfer.␊ |
282 | * @result␊ |
283 | * Returns the status of the data transfer.␊ |
284 | */␊ |
285 | ␊ |
286 | virtual IOReturn readDiscInfo( IOMemoryDescriptor * buffer,␊ |
287 | UInt16 * actualByteCount ); /* 10.2.0 */␊ |
288 | ␊ |
289 | /*!␊ |
290 | * @function readRZoneInfo␊ |
291 | * @discussion␊ |
292 | * Issue an MMC READ RZONE INFORMATION (READ TRACK INFORMATION) command.␊ |
293 | * @param buffer␊ |
294 | * Buffer for the data transfer. The size of the buffer implies the size of␊ |
295 | * the data transfer.␊ |
296 | * @param address␊ |
297 | * As documented by MMC.␊ |
298 | * @param addressType␊ |
299 | * As documented by MMC.␊ |
300 | * @param actualByteCount␊ |
301 | * Returns the actual number of bytes transferred in the data transfer.␊ |
302 | * @result␊ |
303 | * Returns the status of the data transfer.␊ |
304 | */␊ |
305 | ␊ |
306 | virtual IOReturn readRZoneInfo( IOMemoryDescriptor * buffer,␊ |
307 | UInt32 address,␊ |
308 | DVDRZoneInfoAddressType addressType,␊ |
309 | UInt16 * actualByteCount ); /* 10.2.0 */␊ |
310 | ␊ |
311 | #ifdef __LP64__␊ |
312 | OSMetaClassDeclareReservedUnused(IODVDMedia, 0);␊ |
313 | OSMetaClassDeclareReservedUnused(IODVDMedia, 1);␊ |
314 | OSMetaClassDeclareReservedUnused(IODVDMedia, 2);␊ |
315 | OSMetaClassDeclareReservedUnused(IODVDMedia, 3);␊ |
316 | OSMetaClassDeclareReservedUnused(IODVDMedia, 4);␊ |
317 | OSMetaClassDeclareReservedUnused(IODVDMedia, 5);␊ |
318 | OSMetaClassDeclareReservedUnused(IODVDMedia, 6);␊ |
319 | #else /* !__LP64__ */␊ |
320 | OSMetaClassDeclareReservedUsed(IODVDMedia, 0);␊ |
321 | OSMetaClassDeclareReservedUsed(IODVDMedia, 1);␊ |
322 | OSMetaClassDeclareReservedUsed(IODVDMedia, 2);␊ |
323 | OSMetaClassDeclareReservedUsed(IODVDMedia, 3);␊ |
324 | OSMetaClassDeclareReservedUsed(IODVDMedia, 4);␊ |
325 | OSMetaClassDeclareReservedUsed(IODVDMedia, 5);␊ |
326 | OSMetaClassDeclareReservedUsed(IODVDMedia, 6);␊ |
327 | #endif /* !__LP64__ */␊ |
328 | OSMetaClassDeclareReservedUnused(IODVDMedia, 7);␊ |
329 | OSMetaClassDeclareReservedUnused(IODVDMedia, 8);␊ |
330 | OSMetaClassDeclareReservedUnused(IODVDMedia, 9);␊ |
331 | OSMetaClassDeclareReservedUnused(IODVDMedia, 10);␊ |
332 | OSMetaClassDeclareReservedUnused(IODVDMedia, 11);␊ |
333 | OSMetaClassDeclareReservedUnused(IODVDMedia, 12);␊ |
334 | OSMetaClassDeclareReservedUnused(IODVDMedia, 13);␊ |
335 | OSMetaClassDeclareReservedUnused(IODVDMedia, 14);␊ |
336 | OSMetaClassDeclareReservedUnused(IODVDMedia, 15);␊ |
337 | OSMetaClassDeclareReservedUnused(IODVDMedia, 16);␊ |
338 | OSMetaClassDeclareReservedUnused(IODVDMedia, 17);␊ |
339 | OSMetaClassDeclareReservedUnused(IODVDMedia, 18);␊ |
340 | OSMetaClassDeclareReservedUnused(IODVDMedia, 19);␊ |
341 | OSMetaClassDeclareReservedUnused(IODVDMedia, 20);␊ |
342 | OSMetaClassDeclareReservedUnused(IODVDMedia, 21);␊ |
343 | OSMetaClassDeclareReservedUnused(IODVDMedia, 22);␊ |
344 | OSMetaClassDeclareReservedUnused(IODVDMedia, 23);␊ |
345 | OSMetaClassDeclareReservedUnused(IODVDMedia, 24);␊ |
346 | OSMetaClassDeclareReservedUnused(IODVDMedia, 25);␊ |
347 | OSMetaClassDeclareReservedUnused(IODVDMedia, 26);␊ |
348 | OSMetaClassDeclareReservedUnused(IODVDMedia, 27);␊ |
349 | OSMetaClassDeclareReservedUnused(IODVDMedia, 28);␊ |
350 | OSMetaClassDeclareReservedUnused(IODVDMedia, 29);␊ |
351 | OSMetaClassDeclareReservedUnused(IODVDMedia, 30);␊ |
352 | OSMetaClassDeclareReservedUnused(IODVDMedia, 31);␊ |
353 | };␊ |
354 | ␊ |
355 | #endif /* __cplusplus */␊ |
356 | #endif /* KERNEL */␊ |
357 | #endif /* !_IODVDMEDIA_H */␊ |
358 |