]> git.saurik.com Git - apple/xnu.git/blob - iokit/IOKit/storage/IODVDMedia.h
xnu-124.13.tar.gz
[apple/xnu.git] / iokit / IOKit / storage / IODVDMedia.h
1 /*
2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * The contents of this file constitute Original Code as defined in and
7 * are subject to the Apple Public Source License Version 1.1 (the
8 * "License"). You may not use this file except in compliance with the
9 * License. Please obtain a copy of the License at
10 * http://www.apple.com/publicsource and read it before using this file.
11 *
12 * This Original Code and all software distributed under the License are
13 * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
14 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
15 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT. Please see the
17 * License for the specific language governing rights and limitations
18 * under the License.
19 *
20 * @APPLE_LICENSE_HEADER_END@
21 */
22
23 /*!
24 * @header IODVDMedia
25 * @abstract
26 * This header contains the IODVDMedia class definition.
27 */
28
29 #ifndef _IODVDMEDIA_H
30 #define _IODVDMEDIA_H
31
32 /*!
33 * @defined kIODVDMediaClass
34 * @abstract
35 * kIODVDMediaClass is the name of the IODVDMedia class.
36 * @discussion
37 * kIODVDMediaClass is the name of the IODVDMedia class.
38 */
39
40 #define kIODVDMediaClass "IODVDMedia"
41
42 /*!
43 * @defined kIODVDMediaTypeKey
44 * @abstract
45 * kIODVDMediaTypeKey is a property of IODVDMedia objects. It has an OSString
46 * value.
47 * @discussion
48 * The kIODVDMediaTypeKey property identifies the DVD media type (DVD-ROM,
49 * DVD-R, DVD-RW, DVD+RW, DVD-RAM, etc). See the kIODVDMediaType contants
50 * for possible values.
51 */
52
53 #define kIODVDMediaTypeKey "Type"
54
55 /*!
56 * @defined kIODVDMediaTypeROM
57 * The kIODVDMediaTypeKey constant for DVD-ROM media.
58 */
59
60 #define kIODVDMediaTypeROM "DVD-ROM"
61
62 /*!
63 * @defined kIODVDMediaTypeR
64 * The kIODVDMediaTypeKey constant for DVD Recordable (DVD-R) media.
65 */
66
67 #define kIODVDMediaTypeR "DVD-R"
68
69 /*!
70 * @defined kIODVDMediaTypeRW
71 * The kIODVDMediaTypeKey constant for DVD ReWritable (DVD-RW) media.
72 */
73
74 #define kIODVDMediaTypeRW "DVD-RW"
75
76 /*!
77 * @defined kIODVDMediaTypePlusRW
78 * The kIODVDMediaTypeKey constant for DVD "Plus" ReWritable (DVD+RW) media.
79 */
80
81 #define kIODVDMediaTypePlusRW "DVD+RW"
82
83 /*!
84 * @defined kIODVDMediaTypeRAM
85 * The kIODVDMediaTypeKey constant for DVD-RAM media.
86 */
87
88 #define kIODVDMediaTypeRAM "DVD-RAM"
89
90 /*
91 * Kernel
92 */
93
94 #if defined(KERNEL) && defined(__cplusplus)
95
96 #include <IOKit/storage/IODVDBlockStorageDriver.h>
97 #include <IOKit/storage/IOMedia.h>
98
99 /*!
100 * @class IODVDMedia
101 * @abstract
102 * The IODVDMedia class is a random-access disk device abstraction for DVDs.
103 * @discussion
104 * The IODVDMedia class is a random-access disk device abstraction for DVDs.
105 */
106
107 class IODVDMedia : public IOMedia
108 {
109 OSDeclareDefaultStructors(IODVDMedia)
110
111 protected:
112
113 struct ExpansionData { /* */ };
114 ExpansionData * _expansionData;
115
116 public:
117
118 /*
119 * Obtain this object's provider. We override the superclass's method to
120 * return a more specific subclass of IOService -- IODVDBlockStorageDriver.
121 * This method serves simply as a convenience to subclass developers.
122 */
123
124 virtual IODVDBlockStorageDriver * getProvider() const;
125
126 OSMetaClassDeclareReservedUnused(IODVDMedia, 0);
127 OSMetaClassDeclareReservedUnused(IODVDMedia, 1);
128 OSMetaClassDeclareReservedUnused(IODVDMedia, 2);
129 OSMetaClassDeclareReservedUnused(IODVDMedia, 3);
130 OSMetaClassDeclareReservedUnused(IODVDMedia, 4);
131 OSMetaClassDeclareReservedUnused(IODVDMedia, 5);
132 OSMetaClassDeclareReservedUnused(IODVDMedia, 6);
133 OSMetaClassDeclareReservedUnused(IODVDMedia, 7);
134 OSMetaClassDeclareReservedUnused(IODVDMedia, 8);
135 OSMetaClassDeclareReservedUnused(IODVDMedia, 9);
136 OSMetaClassDeclareReservedUnused(IODVDMedia, 10);
137 OSMetaClassDeclareReservedUnused(IODVDMedia, 11);
138 OSMetaClassDeclareReservedUnused(IODVDMedia, 12);
139 OSMetaClassDeclareReservedUnused(IODVDMedia, 13);
140 OSMetaClassDeclareReservedUnused(IODVDMedia, 14);
141 OSMetaClassDeclareReservedUnused(IODVDMedia, 15);
142 OSMetaClassDeclareReservedUnused(IODVDMedia, 16);
143 OSMetaClassDeclareReservedUnused(IODVDMedia, 17);
144 OSMetaClassDeclareReservedUnused(IODVDMedia, 18);
145 OSMetaClassDeclareReservedUnused(IODVDMedia, 19);
146 OSMetaClassDeclareReservedUnused(IODVDMedia, 20);
147 OSMetaClassDeclareReservedUnused(IODVDMedia, 21);
148 OSMetaClassDeclareReservedUnused(IODVDMedia, 22);
149 OSMetaClassDeclareReservedUnused(IODVDMedia, 23);
150 OSMetaClassDeclareReservedUnused(IODVDMedia, 24);
151 OSMetaClassDeclareReservedUnused(IODVDMedia, 25);
152 OSMetaClassDeclareReservedUnused(IODVDMedia, 26);
153 OSMetaClassDeclareReservedUnused(IODVDMedia, 27);
154 OSMetaClassDeclareReservedUnused(IODVDMedia, 28);
155 OSMetaClassDeclareReservedUnused(IODVDMedia, 29);
156 OSMetaClassDeclareReservedUnused(IODVDMedia, 30);
157 OSMetaClassDeclareReservedUnused(IODVDMedia, 31);
158 };
159
160 #endif /* defined(KERNEL) && defined(__cplusplus) */
161
162 #endif /* !_IODVDMEDIA_H */