Chameleon

Chameleon Svn Source Tree

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

Source at commit 1129 created 12 years 11 months ago.
By meklort, Change options.o so that it reloads the system config as well. Also change it so that it uses that config for variables (NOTE: if the calue exists in chameleonConfig, it's used instead.
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 IOMedia
26 * @abstract
27 * This header contains the IOMedia class definition.
28 */
29
30#ifndef _IOMEDIA_H
31#define _IOMEDIA_H
32
33#include <IOKit/IOTypes.h>
34
35/*!
36 * @defined kIOMediaClass
37 * @abstract
38 * The name of the IOMedia class.
39 */
40
41#define kIOMediaClass "IOMedia"
42
43/*!
44 * @defined kIOMediaContentKey
45 * @abstract
46 * A property of IOMedia objects.
47 * @discussion
48 * The kIOMediaContentKey property has an OSString
49 * value and contains a description of the media's
50 * contents. The description is the same as the hint at the time of the
51 * object's creation, but it is possible that the description has been overridden
52 * by a client (which has probed the media and identified the content correctly)
53 * of the media object. It is more accurate than the hint for this reason. The
54 * string is formed in the likeness of Apple's "Apple_HFS" strings or in the
55 * likeness of a UUID.
56 */
57
58#define kIOMediaContentKey "Content"
59
60/*!
61 * @defined kIOMediaContentHintKey
62 * @abstract
63 * A property of IOMedia objects.
64 * @discussion
65 * The kIOMediaContentHintKey property has an OSString
66 * value and contains a hint of the media's contents.
67 * The hint is set at the time of the object's creation, should the creator have
68 * a clue as to what it may contain. The hint string does not change for the
69 * lifetime of the object and is formed in the likeness of Apple's "Apple_HFS"
70 * strings or in the likeness of a UUID.
71 */
72
73#define kIOMediaContentHintKey "Content Hint"
74
75/*!
76 * @defined kIOMediaEjectableKey
77 * @abstract
78 * A property of IOMedia objects.
79 * @discussion
80 * The kIOMediaEjectableKey property has an OSBoolean
81 * value and describes whether the media is ejectable
82 * from the drive mechanism under software control. Implies IOMediaRemovable
83 * is also true.
84 */
85
86#define kIOMediaEjectableKey "Ejectable"
87
88/*!
89 * @defined kIOMediaLeafKey
90 * @abstract
91 * A property of IOMedia objects.
92 * @discussion
93 * The kIOMediaLeafKey property has an OSBoolean value and describes whether the media is a leaf, that is,
94 * it is the deepest media object in this branch of the I/O Registry.
95 */
96
97#define kIOMediaLeafKey "Leaf"
98
99/*!
100 * @defined kIOMediaOpenKey
101 * @abstract
102 * A property of IOMedia objects.
103 * @discussion
104 * The kIOMediaOpenKey property has an OSBoolean value and describes whether
105 * a client presently has an open on this media.
106 */
107
108#define kIOMediaOpenKey "Open"
109
110/*!
111 * @defined kIOMediaPreferredBlockSizeKey
112 * @abstract
113 * A property of IOMedia objects.
114 * @discussion
115 * The kIOMediaPreferredBlockSizeKey property has an
116 * OSNumber value and describes the media's natural
117 * block size in bytes. This information is useful to clients that want to
118 * optimize access to the media.
119 */
120
121#define kIOMediaPreferredBlockSizeKey "Preferred Block Size"
122
123/*!
124 * @defined kIOMediaRemovableKey
125 * @abstract
126 * A property of IOMedia objects.
127 * @discussion
128 * The kIOMediaRemovableKey property has an OSBoolean
129 * value and describes whether the media is removable
130 * from the drive mechanism.
131 */
132
133#define kIOMediaRemovableKey "Removable"
134
135/*!
136 * @defined kIOMediaSizeKey
137 * @abstract
138 * A property of IOMedia objects.
139 * @discussion
140 * The kIOMediaSizeKey property has an OSNumber value and describes the total length of the media in
141 * bytes.
142 */
143
144#define kIOMediaSizeKey "Size"
145
146/*!
147 * @defined kIOMediaUUIDKey
148 * @abstract
149 * A property of IOMedia objects.
150 * @discussion
151 * The kIOMediaUUIDKey property has an OSString value and contains a persistent
152 * Universal Unique Identifier for the media if such an identifier is available.
153 */
154
155#define kIOMediaUUIDKey "UUID"
156
157/*!
158 * @defined kIOMediaWholeKey
159 * @abstract
160 * A property of IOMedia objects.
161 * @discussion
162 * The kIOMediaWholeKey property has an OSBoolean
163 * value and describes whether the media is whole, that is,
164 * it represents the whole disk (the physical disk, or a virtual replica
165 * thereof).
166 */
167
168#define kIOMediaWholeKey "Whole"
169
170/*!
171 * @defined kIOMediaWritableKey
172 * @abstract
173 * A property of IOMedia objects.
174 * @discussion
175 * The kIOMediaWritableKey property has an OSBoolean
176 * value and describes whether the media is writable.
177 */
178
179#define kIOMediaWritableKey "Writable"
180
181/*!
182 * @defined kIOMediaContentMaskKey
183 * @abstract
184 * A property of IOMedia clients.
185 * @discussion
186 * The kIOMediaContentMaskKey property has an OSString
187 * value and must exist in all IOMedia clients that
188 * drive new content (that is, produce new media objects). When the client
189 * matches against the provider media, the value of the client's
190 * kIOMediaContentMaskKey property is used to replace the provider's
191 * kIOMediaContentKey property.
192 */
193
194#define kIOMediaContentMaskKey "Content Mask"
195
196/*!
197 * @defined kIOMediaIconKey
198 * @abstract
199 * A property of any object in the media stack.
200 * @discussion
201 * kIOMediaIconKey is a property of any object in the media stack that wishes
202 * to override the default icon shown for the media objects in the stack. It
203 * is usually defined in a provider object below the media object. It has an
204 * OSDictionary value, with properties identical to the kIOIconKey definition,
205 * that is, kCFBundleIdentifierKey and kIOBundleResourceFileKey.
206 */
207
208#define kIOMediaIconKey "IOMediaIcon"
209
210/*!
211 * @enum IOMediaAttributeMask
212 * @discussion
213 * The IOMediaAttributeMask bit mask describes various attributes of
214 * the media object, such as its ejectability and its removability.
215 * @constant kIOMediaAttributeEjectableMask
216 * Indicates whether the media is ejectable from the drive mechanism
217 * under software control. Implies kIOMediaAttributeRemovableMask.
218 * @constant kIOMediaAttributeRemovableMask
219 * Indicates whether the media is removable from the drive mechanism.
220 */
221
222enum
223{
224 kIOMediaAttributeEjectableMask = 0x00000001,
225 kIOMediaAttributeRemovableMask = 0x00000002,
226 kIOMediaAttributeReservedMask = 0xFFFFFFFC
227};
228
229typedef UInt32 IOMediaAttributeMask;
230
231#endif /* !_IOMEDIA_H */
232

Archive Download this file

Revision: 1129