Root/
Source at commit 1580 created 12 years 9 months ago. By blackosx, Attempted to enable 'exclusive' choices in auto generated boot options, but it's not working at present. I've added notes to remind me to look again at some point. | |
---|---|
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 | ␊ |
222 | enum␊ |
223 | {␊ |
224 | kIOMediaAttributeEjectableMask = 0x00000001,␊ |
225 | kIOMediaAttributeRemovableMask = 0x00000002,␊ |
226 | kIOMediaAttributeReservedMask = 0xFFFFFFFC␊ |
227 | };␊ |
228 | ␊ |
229 | typedef UInt32 IOMediaAttributeMask;␊ |
230 | ␊ |
231 | #endif /* !_IOMEDIA_H */␊ |
232 |