Chameleon

Chameleon Svn Source Tree

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

Source at commit 1146 created 12 years 11 months ago.
By azimutz, Sync with trunk (r1145). Add nVidia dev id's, 0DF4 for "GeForce GT 450M" (issue 99) and 1251 for "GeForce GTX 560M" (thanks to oSxFr33k for testing).
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 IODVDBlockStorageDevice
26 * @abstract
27 * This header contains the IODVDBlockStorageDevice class definition.
28 */
29
30#ifndef_IODVDBLOCKSTORAGEDEVICE_H
31#define_IODVDBLOCKSTORAGEDEVICE_H
32
33#include <IOKit/storage/IODVDTypes.h>
34
35/*!
36 * @defined kIODVDBlockStorageDeviceClass
37 * @abstract
38 * kIODVDBlockStorageDeviceClass is the name of the IODVDBlockStorageDevice class.
39 * @discussion
40 * kIODVDBlockStorageDeviceClass is the name of the IODVDBlockStorageDevice class.
41 */
42
43#define kIODVDBlockStorageDeviceClass "IODVDBlockStorageDevice"
44
45#ifdef KERNEL
46#ifdef __cplusplus
47
48/*
49 * Kernel
50 */
51
52#include <IOKit/storage/IOCDBlockStorageDevice.h>
53
54/* Property used for matching, so the generic driver gets the nub it wants. */
55#definekIOBlockStorageDeviceTypeDVD"DVD"
56
57/*!
58 * @class
59 * IODVDBlockStorageDevice : public IOCDBlockStorageDevice
60 * @abstract
61 * The IODVDBlockStorageDevice class is a generic DVD block storage device
62 * abstraction.
63 * @discussion
64 * This class is the protocol for generic DVD functionality, independent of
65 * the physical connection protocol (e.g. SCSI, ATA, USB).
66 *
67 * The APIs are the union of CD APIs and all
68 * necessary new low-level DVD APIs.
69 *
70 * A subclass implements relay methods that translate our requests into
71 * calls to a protocol- and device-specific provider.
72 */
73
74class IODVDBlockStorageDevice : public IOCDBlockStorageDevice {
75
76 OSDeclareAbstractStructors(IODVDBlockStorageDevice)
77
78protected:
79
80 struct ExpansionData { /* */ };
81 ExpansionData * _expansionData;
82
83public:
84
85 /* Overrides from IORegistryEntry */
86
87 virtual boolinit(OSDictionary * properties);
88
89 /* New APIs for DVD */
90
91 virtual IOReturnreportKey(IOMemoryDescriptor *buffer,const DVDKeyClass keyClass,
92 const UInt32 lba,const UInt8 agid,const DVDKeyFormat keyFormat)= 0;
93
94 virtual IOReturnsendKey(IOMemoryDescriptor *buffer,const DVDKeyClass keyClass,
95 const UInt8 agid,const DVDKeyFormat keyFormat)= 0;
96
97#ifdef __LP64__
98 virtual IOReturnreadDVDStructure(IOMemoryDescriptor *buffer,const DVDStructureFormat format,
99 const UInt32 address,const UInt8 layer,const UInt8 agid)= 0;
100#else /* !__LP64__ */
101 virtual IOReturnreadDVDStructure(IOMemoryDescriptor *buffer,const DVDStructureFormat format,
102 const UInt32 address,const UInt8 layer,const UInt8 agid); /* 10.1.0 */
103#endif /* !__LP64__ */
104
105#ifdef __LP64__
106 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 0);
107#else /* !__LP64__ */
108 OSMetaClassDeclareReservedUsed(IODVDBlockStorageDevice, 0);
109#endif /* !__LP64__ */
110 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 1);
111 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 2);
112 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 3);
113 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 4);
114 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 5);
115 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 6);
116 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 7);
117 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 8);
118 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 9);
119 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 10);
120 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 11);
121 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 12);
122 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 13);
123 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 14);
124 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 15);
125 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 16);
126 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 17);
127 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 18);
128 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 19);
129 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 20);
130 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 21);
131 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 22);
132 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 23);
133 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 24);
134 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 25);
135 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 26);
136 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 27);
137 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 28);
138 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 29);
139 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 30);
140 OSMetaClassDeclareReservedUnused(IODVDBlockStorageDevice, 31);
141};
142
143#endif /* __cplusplus */
144#endif /* KERNEL */
145#endif /* !_IODVDBLOCKSTORAGEDEVICE_H */
146

Archive Download this file

Revision: 1146