]> git.saurik.com Git - apple/xnu.git/blob - iokit/IOKit/IOKitKeys.h
xnu-2782.10.72.tar.gz
[apple/xnu.git] / iokit / IOKit / IOKitKeys.h
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
59 // IOService class name
60 #define kIOServiceClass "IOService"
61
62 // IOResources class name
63 #define kIOResourcesClass "IOResources"
64
65 // IOService driver probing property names
66 #define kIOClassKey "IOClass"
67 #define kIOProbeScoreKey "IOProbeScore"
68 #define kIOKitDebugKey "IOKitDebug"
69
70 // IOService matching property names
71 #define kIOProviderClassKey "IOProviderClass"
72 #define kIONameMatchKey "IONameMatch"
73 #define kIOPropertyMatchKey "IOPropertyMatch"
74 #define kIOPathMatchKey "IOPathMatch"
75 #define kIOLocationMatchKey "IOLocationMatch"
76 #define kIOParentMatchKey "IOParentMatch"
77 #define kIOResourceMatchKey "IOResourceMatch"
78 #define kIOMatchedServiceCountKey "IOMatchedServiceCountMatch"
79
80 #define kIONameMatchedKey "IONameMatched"
81
82 #define kIOMatchCategoryKey "IOMatchCategory"
83 #define kIODefaultMatchCategoryKey "IODefaultMatchCategory"
84
85 // IOService default user client class, for loadable user clients
86 #define kIOUserClientClassKey "IOUserClientClass"
87
88 // key to find IOMappers
89 #define kIOMapperIDKey "IOMapperID"
90
91 #define kIOUserClientCrossEndianKey "IOUserClientCrossEndian"
92 #define kIOUserClientCrossEndianCompatibleKey "IOUserClientCrossEndianCompatible"
93 #define kIOUserClientSharedInstanceKey "IOUserClientSharedInstance"
94 // diagnostic string describing the creating task
95 #define kIOUserClientCreatorKey "IOUserClientCreator"
96
97 // IOService notification types
98 #define kIOPublishNotification "IOServicePublish"
99 #define kIOFirstPublishNotification "IOServiceFirstPublish"
100 #define kIOMatchedNotification "IOServiceMatched"
101 #define kIOFirstMatchNotification "IOServiceFirstMatch"
102 #define kIOTerminatedNotification "IOServiceTerminate"
103
104 // IOService interest notification types
105 #define kIOGeneralInterest "IOGeneralInterest"
106 #define kIOBusyInterest "IOBusyInterest"
107 #define kIOAppPowerStateInterest "IOAppPowerStateInterest"
108 #define kIOPriorityPowerStateInterest "IOPriorityPowerStateInterest"
109
110 #define kIOPlatformDeviceMessageKey "IOPlatformDeviceMessage"
111
112 // IOService interest notification types
113 #define kIOCFPlugInTypesKey "IOCFPlugInTypes"
114
115 // properties found in services that implement command pooling
116 #define kIOCommandPoolSizeKey "IOCommandPoolSize" // (OSNumber)
117
118 // properties found in services that implement priority
119 #define kIOMaximumPriorityCountKey "IOMaximumPriorityCount" // (OSNumber)
120
121 // properties found in services that have transfer constraints
122 #define kIOMaximumBlockCountReadKey "IOMaximumBlockCountRead" // (OSNumber)
123 #define kIOMaximumBlockCountWriteKey "IOMaximumBlockCountWrite" // (OSNumber)
124 #define kIOMaximumByteCountReadKey "IOMaximumByteCountRead" // (OSNumber)
125 #define kIOMaximumByteCountWriteKey "IOMaximumByteCountWrite" // (OSNumber)
126 #define kIOMaximumSegmentCountReadKey "IOMaximumSegmentCountRead" // (OSNumber)
127 #define kIOMaximumSegmentCountWriteKey "IOMaximumSegmentCountWrite" // (OSNumber)
128 #define kIOMaximumSegmentByteCountReadKey "IOMaximumSegmentByteCountRead" // (OSNumber)
129 #define kIOMaximumSegmentByteCountWriteKey "IOMaximumSegmentByteCountWrite" // (OSNumber)
130 #define kIOMinimumSegmentAlignmentByteCountKey "IOMinimumSegmentAlignmentByteCount" // (OSNumber)
131 #define kIOMaximumSegmentAddressableBitCountKey "IOMaximumSegmentAddressableBitCount" // (OSNumber)
132
133 // properties found in services that wish to describe an icon
134 //
135 // IOIcon =
136 // {
137 // CFBundleIdentifier = "com.example.driver.example";
138 // IOBundleResourceFile = "example.icns";
139 // };
140 //
141 // where IOBundleResourceFile is the filename of the resource
142
143 #define kIOIconKey "IOIcon" // (OSDictionary)
144 #define kIOBundleResourceFileKey "IOBundleResourceFile" // (OSString)
145
146 #define kIOBusBadgeKey "IOBusBadge" // (OSDictionary)
147 #define kIODeviceIconKey "IODeviceIcon" // (OSDictionary)
148
149 // property of root that describes the machine's serial number as a string
150 #define kIOPlatformSerialNumberKey "IOPlatformSerialNumber" // (OSString)
151
152 // property of root that describes the machine's UUID as a string
153 #define kIOPlatformUUIDKey "IOPlatformUUID" // (OSString)
154
155 // IODTNVRAM property keys
156 #define kIONVRAMDeletePropertyKey "IONVRAM-DELETE-PROPERTY"
157 #define kIONVRAMSyncNowPropertyKey "IONVRAM-SYNCNOW-PROPERTY"
158 #define kIONVRAMActivateCSRConfigPropertyKey "IONVRAM-ARMCSR-PROPERTY"
159 #define kIODTNVRAMPanicInfoKey "aapl,panic-info"
160
161 // keys for complex boot information
162 #define kIOBootDeviceKey "IOBootDevice" // dict | array of dicts
163 #define kIOBootDevicePathKey "IOBootDevicePath" // arch-neutral OSString
164 #define kIOBootDeviceSizeKey "IOBootDeviceSize" // OSNumber of bytes
165
166 // keys for OS Version information
167 #define kOSBuildVersionKey "OS Build Version"
168
169 #endif /* ! _IOKIT_IOKITKEYS_H */