]> git.saurik.com Git - apple/xnu.git/blame - iokit/IOKit/storage/IODVDMedia.h
xnu-124.13.tar.gz
[apple/xnu.git] / iokit / IOKit / storage / IODVDMedia.h
CommitLineData
1c79356b
A
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
107class IODVDMedia : public IOMedia
108{
109 OSDeclareDefaultStructors(IODVDMedia)
110
111protected:
112
113 struct ExpansionData { /* */ };
114 ExpansionData * _expansionData;
115
116public:
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 */