]>
Commit | Line | Data |
---|---|---|
ea3f0419 A |
1 | /* |
2 | * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved. | |
3 | * | |
4 | * @APPLE_OSREFERENCE_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. The rights granted to you under the License | |
10 | * may not be used to create, or enable the creation or redistribution of, | |
11 | * unlawful or unlicensed copies of an Apple operating system, or to | |
12 | * circumvent, violate, or enable the circumvention or violation of, any | |
13 | * terms of an Apple operating system software license agreement. | |
14 | * | |
15 | * Please obtain a copy of the License at | |
16 | * http://www.opensource.apple.com/apsl/ and read it before using this file. | |
17 | * | |
18 | * The Original Code and all software distributed under the License are | |
19 | * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER | |
20 | * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, | |
21 | * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, | |
22 | * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. | |
23 | * Please see the License for the specific language governing rights and | |
24 | * limitations under the License. | |
25 | * | |
26 | * @APPLE_OSREFERENCE_LICENSE_HEADER_END@ | |
27 | */ | |
28 | /* | |
29 | * Copyright (c) 1999 Apple Computer, Inc. All rights reserved. | |
30 | * | |
31 | * Common symbol definitions for IOKit. | |
32 | * | |
33 | * HISTORY | |
34 | * | |
35 | */ | |
36 | ||
37 | ||
38 | #ifndef _IOKIT_IOKITKEYS_H | |
39 | #define _IOKIT_IOKITKEYS_H | |
40 | ||
41 | // properties found in the registry root | |
42 | #define kIOKitBuildVersionKey "IOKitBuildVersion" | |
43 | #define kIOKitDiagnosticsKey "IOKitDiagnostics" | |
44 | // a dictionary keyed by plane name | |
45 | #define kIORegistryPlanesKey "IORegistryPlanes" | |
46 | #define kIOCatalogueKey "IOCatalogue" | |
47 | ||
48 | // registry plane names | |
49 | #define kIOServicePlane "IOService" | |
50 | #define kIOPowerPlane "IOPower" | |
51 | #define kIODeviceTreePlane "IODeviceTree" | |
52 | #define kIOAudioPlane "IOAudio" | |
53 | #define kIOFireWirePlane "IOFireWire" | |
54 | #define kIOUSBPlane "IOUSB" | |
55 | ||
56 | // registry ID number | |
57 | #define kIORegistryEntryIDKey "IORegistryEntryID" | |
58 | // property name to get array of property names | |
59 | #define kIORegistryEntryPropertyKeysKey "IORegistryEntryPropertyKeys" | |
60 | ||
61 | // IOService class name | |
62 | #define kIOServiceClass "IOService" | |
63 | ||
64 | // IOResources class name | |
65 | #define kIOResourcesClass "IOResources" | |
66 | ||
67 | // IOService driver probing property names | |
68 | #define kIOClassKey "IOClass" | |
69 | #define kIOProbeScoreKey "IOProbeScore" | |
70 | #define kIOKitDebugKey "IOKitDebug" | |
71 | ||
72 | // Properties to be supported as API | |
73 | #define kIOSupportedPropertiesKey "IOSupportedProperties" | |
74 | // Properties writable by dexts | |
75 | #define kIOUserServicePropertiesKey "IOUserServiceProperties" | |
76 | ||
77 | ||
78 | // IOService matching property names | |
79 | #define kIOProviderClassKey "IOProviderClass" | |
80 | #define kIONameMatchKey "IONameMatch" | |
81 | #define kIOPropertyMatchKey "IOPropertyMatch" | |
82 | #define kIOPropertyExistsMatchKey "IOPropertyExistsMatch" | |
83 | #define kIOPathMatchKey "IOPathMatch" | |
84 | #define kIOLocationMatchKey "IOLocationMatch" | |
85 | #define kIOParentMatchKey "IOParentMatch" | |
86 | #define kIOResourceMatchKey "IOResourceMatch" | |
87 | #define kIOResourceMatchedKey "IOResourceMatched" | |
88 | #define kIOMatchedServiceCountKey "IOMatchedServiceCountMatch" | |
89 | ||
90 | #define kIONameMatchedKey "IONameMatched" | |
91 | ||
92 | #define kIOMatchCategoryKey "IOMatchCategory" | |
93 | #define kIODefaultMatchCategoryKey "IODefaultMatchCategory" | |
94 | ||
95 | #define kIOMatchedPersonalityKey "IOMatchedPersonality" | |
96 | #define kIORematchPersonalityKey "IORematchPersonality" | |
97 | #define kIORematchCountKey "IORematchCount" | |
98 | #define kIODEXTMatchCountKey "IODEXTMatchCount" | |
99 | ||
100 | // Entitlements to check against dext process | |
101 | // Property is an array, one or more of which may match, of: | |
102 | // an array of entitlement strings, all must be present | |
103 | // Any array can be a single string. | |
104 | #define kIOServiceDEXTEntitlementsKey "IOServiceDEXTEntitlements" | |
105 | ||
106 | // Entitlement required to open dext connection | |
107 | #define kIODriverKitEntitlementKey "com.apple.developer.driverkit" | |
108 | ||
109 | // Entitlements required to open dext IOUserClient | |
110 | // Property is an array of strings containing CFBundleIdentifiers of service being opened | |
111 | #define kIODriverKitUserClientEntitlementsKey "com.apple.developer.driverkit.userclient-access" | |
112 | ||
113 | // Other DriverKit entitlements | |
114 | #define kIODriverKitUSBTransportEntitlementKey "com.apple.developer.driverkit.transport.usb" | |
115 | #define kIODriverKitHIDTransportEntitlementKey "com.apple.developer.driverkit.transport.hid" | |
116 | #define kIODriverKitHIDFamilyDeviceEntitlementKey "com.apple.developer.driverkit.family.hid.device" | |
117 | #define kIODriverKitHIDFamilyEventServiceEntitlementKey "com.apple.developer.driverkit.family.hid.eventservice" | |
118 | #define kIODriverKitTransportBuiltinEntitlementKey "com.apple.developer.driverkit.builtin" | |
119 | ||
120 | // Entitlement required to read nvram root-only properties as non-root user | |
121 | #define kIONVRAMReadAccessKey "com.apple.private.iokit.nvram-read-access" | |
122 | // Entitlement required to write nvram properties as non-root user | |
123 | #define kIONVRAMWriteAccessKey "com.apple.private.iokit.nvram-write-access" | |
124 | ||
125 | // When possible, defer matching of this driver until kextd has started. | |
126 | #define kIOMatchDeferKey "IOMatchDefer" | |
127 | ||
128 | // Published after processor_start() has been called on all CPUs at boot time. | |
129 | #define kIOAllCPUInitializedKey "IOAllCPUInitialized" | |
130 | ||
131 | // IOService default user client class, for loadable user clients | |
132 | #define kIOUserClientClassKey "IOUserClientClass" | |
133 | ||
134 | // key to find IOMappers | |
135 | #define kIOMapperIDKey "IOMapperID" | |
136 | ||
137 | #define kIOUserClientCrossEndianKey "IOUserClientCrossEndian" | |
138 | #define kIOUserClientCrossEndianCompatibleKey "IOUserClientCrossEndianCompatible" | |
139 | #define kIOUserClientSharedInstanceKey "IOUserClientSharedInstance" | |
140 | #if KERNEL_PRIVATE | |
141 | #define kIOUserClientMessageAppSuspendedKey "IOUserClientMessageAppSuspended" | |
142 | #endif | |
143 | // diagnostic string describing the creating task | |
144 | #define kIOUserClientCreatorKey "IOUserClientCreator" | |
145 | // the expected cdhash value of the userspace driver executable | |
146 | #define kIOUserServerCDHashKey "IOUserServerCDHash" | |
147 | ||
148 | #define kIOUserUserClientKey "IOUserUserClient" | |
149 | ||
150 | ||
151 | // IOService notification types | |
152 | #define kIOPublishNotification "IOServicePublish" | |
153 | #define kIOFirstPublishNotification "IOServiceFirstPublish" | |
154 | #define kIOMatchedNotification "IOServiceMatched" | |
155 | #define kIOFirstMatchNotification "IOServiceFirstMatch" | |
156 | #define kIOTerminatedNotification "IOServiceTerminate" | |
157 | #define kIOWillTerminateNotification "IOServiceWillTerminate" | |
158 | ||
159 | // IOService interest notification types | |
160 | #define kIOGeneralInterest "IOGeneralInterest" | |
161 | #define kIOBusyInterest "IOBusyInterest" | |
162 | #define kIOAppPowerStateInterest "IOAppPowerStateInterest" | |
163 | #define kIOPriorityPowerStateInterest "IOPriorityPowerStateInterest" | |
164 | ||
165 | #define kIOPlatformDeviceMessageKey "IOPlatformDeviceMessage" | |
166 | ||
167 | // IOService interest notification types | |
168 | #define kIOCFPlugInTypesKey "IOCFPlugInTypes" | |
169 | ||
170 | #define kIOCompatibilityMatchKey "IOCompatibilityMatch" | |
171 | #define kIOCompatibilityPropertiesKey "IOCompatibilityProperties" | |
172 | #define kIOPathKey "IOPath" | |
173 | ||
174 | ||
175 | // properties found in services that implement command pooling | |
176 | #define kIOCommandPoolSizeKey "IOCommandPoolSize" // (OSNumber) | |
177 | ||
178 | // properties found in services that implement priority | |
179 | #define kIOMaximumPriorityCountKey "IOMaximumPriorityCount" // (OSNumber) | |
180 | ||
181 | // properties found in services that have transfer constraints | |
182 | #define kIOMaximumBlockCountReadKey "IOMaximumBlockCountRead" // (OSNumber) | |
183 | #define kIOMaximumBlockCountWriteKey "IOMaximumBlockCountWrite" // (OSNumber) | |
184 | #define kIOMaximumByteCountReadKey "IOMaximumByteCountRead" // (OSNumber) | |
185 | #define kIOMaximumByteCountWriteKey "IOMaximumByteCountWrite" // (OSNumber) | |
186 | #define kIOMaximumSegmentCountReadKey "IOMaximumSegmentCountRead" // (OSNumber) | |
187 | #define kIOMaximumSegmentCountWriteKey "IOMaximumSegmentCountWrite" // (OSNumber) | |
188 | #define kIOMaximumSegmentByteCountReadKey "IOMaximumSegmentByteCountRead" // (OSNumber) | |
189 | #define kIOMaximumSegmentByteCountWriteKey "IOMaximumSegmentByteCountWrite" // (OSNumber) | |
190 | #define kIOMinimumSegmentAlignmentByteCountKey "IOMinimumSegmentAlignmentByteCount" // (OSNumber) | |
191 | #define kIOMaximumSegmentAddressableBitCountKey "IOMaximumSegmentAddressableBitCount" // (OSNumber) | |
192 | #define kIOMinimumSaturationByteCountKey "IOMinimumSaturationByteCount" // (OSNumber) | |
193 | #define kIOMaximumSwapWriteKey "IOMaximumSwapWrite" // (OSNumber) | |
194 | ||
195 | // properties found in services that wish to describe an icon | |
196 | // | |
197 | // IOIcon = | |
198 | // { | |
199 | // CFBundleIdentifier = "com.example.driver.example"; | |
200 | // IOBundleResourceFile = "example.icns"; | |
201 | // }; | |
202 | // | |
203 | // where IOBundleResourceFile is the filename of the resource | |
204 | ||
205 | #define kIOIconKey "IOIcon" // (OSDictionary) | |
206 | #define kIOBundleResourceFileKey "IOBundleResourceFile" // (OSString) | |
207 | ||
208 | #define kIOBusBadgeKey "IOBusBadge" // (OSDictionary) | |
209 | #define kIODeviceIconKey "IODeviceIcon" // (OSDictionary) | |
210 | ||
211 | // property of root that describes the machine's serial number as a string | |
212 | #define kIOPlatformSerialNumberKey "IOPlatformSerialNumber" // (OSString) | |
213 | ||
214 | // property of root that describes the machine's UUID as a string | |
215 | #define kIOPlatformUUIDKey "IOPlatformUUID" // (OSString) | |
216 | ||
217 | // IODTNVRAM property keys | |
218 | #define kIONVRAMBootArgsKey "boot-args" | |
219 | #define kIONVRAMDeletePropertyKey "IONVRAM-DELETE-PROPERTY" | |
220 | #define kIONVRAMSyncNowPropertyKey "IONVRAM-SYNCNOW-PROPERTY" | |
221 | #define kIONVRAMActivateCSRConfigPropertyKey "IONVRAM-ARMCSR-PROPERTY" | |
222 | #define kIODTNVRAMPanicInfoKey "aapl,panic-info" | |
223 | ||
224 | // keys for complex boot information | |
225 | #define kIOBootDeviceKey "IOBootDevice" // dict | array of dicts | |
226 | #define kIOBootDevicePathKey "IOBootDevicePath" // arch-neutral OSString | |
227 | #define kIOBootDeviceSizeKey "IOBootDeviceSize" // OSNumber of bytes | |
228 | ||
229 | // keys for OS Version information | |
230 | #define kOSBuildVersionKey "OS Build Version" | |
231 | ||
232 | #endif /* ! _IOKIT_IOKITKEYS_H */ |