]> git.saurik.com Git - apple/xnu.git/blob - iokit/IOKit/IOKitKeys.h
35ecdf5c16ca36e40d772b3ed1c005b53dc7bea4
[apple/xnu.git] / iokit / IOKit / IOKitKeys.h
1 /*
2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3 *
4 * @APPLE_LICENSE_OSREFERENCE_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
10 * License may not be used to create, or enable the creation or
11 * redistribution of, unlawful or unlicensed copies of an Apple operating
12 * system, or to circumvent, violate, or enable the circumvention or
13 * violation of, any terms of an Apple operating system software license
14 * agreement.
15 *
16 * Please obtain a copy of the License at
17 * http://www.opensource.apple.com/apsl/ and read it before using this
18 * file.
19 *
20 * The Original Code and all software distributed under the License are
21 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
22 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
23 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
24 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
25 * Please see the License for the specific language governing rights and
26 * limitations under the License.
27 *
28 * @APPLE_LICENSE_OSREFERENCE_HEADER_END@
29 */
30 /*
31 * Copyright (c) 1999 Apple Computer, Inc. All rights reserved.
32 *
33 * Common symbol definitions for IOKit.
34 *
35 * HISTORY
36 *
37 */
38
39
40 #ifndef _IOKIT_IOKITKEYS_H
41 #define _IOKIT_IOKITKEYS_H
42
43 // properties found in the registry root
44 #define kIOKitBuildVersionKey "IOKitBuildVersion"
45 #define kIOKitDiagnosticsKey "IOKitDiagnostics"
46 // a dictionary keyed by plane name
47 #define kIORegistryPlanesKey "IORegistryPlanes"
48 #define kIOCatalogueKey "IOCatalogue"
49
50 // registry plane names
51 #define kIOServicePlane "IOService"
52 #define kIOPowerPlane "IOPower"
53 #define kIODeviceTreePlane "IODeviceTree"
54 #define kIOAudioPlane "IOAudio"
55 #define kIOFireWirePlane "IOFireWire"
56 #define kIOUSBPlane "IOUSB"
57
58 // IOService class name
59 #define kIOServiceClass "IOService"
60
61 // IOResources class name
62 #define kIOResourcesClass "IOResources"
63
64 // IOService driver probing property names
65 #define kIOClassKey "IOClass"
66 #define kIOProbeScoreKey "IOProbeScore"
67 #define kIOKitDebugKey "IOKitDebug"
68
69 // IOService matching property names
70 #define kIOProviderClassKey "IOProviderClass"
71 #define kIONameMatchKey "IONameMatch"
72 #define kIOPropertyMatchKey "IOPropertyMatch"
73 #define kIOPathMatchKey "IOPathMatch"
74 #define kIOLocationMatchKey "IOLocationMatch"
75 #define kIOParentMatchKey "IOParentMatch"
76 #define kIOResourceMatchKey "IOResourceMatch"
77 #define kIOMatchedServiceCountKey "IOMatchedServiceCountMatch"
78
79 #define kIONameMatchedKey "IONameMatched"
80
81 #define kIOMatchCategoryKey "IOMatchCategory"
82 #define kIODefaultMatchCategoryKey "IODefaultMatchCategory"
83
84 // IOService default user client class, for loadable user clients
85 #define kIOUserClientClassKey "IOUserClientClass"
86
87 #define kIOUserClientCrossEndianKey "IOUserClientCrossEndian"
88 #define kIOUserClientCrossEndianCompatibleKey "IOUserClientCrossEndianCompatible"
89 #define kIOUserClientSharedInstanceKey "IOUserClientSharedInstance"
90
91 // IOService notification types
92 #define kIOPublishNotification "IOServicePublish"
93 #define kIOFirstPublishNotification "IOServiceFirstPublish"
94 #define kIOMatchedNotification "IOServiceMatched"
95 #define kIOFirstMatchNotification "IOServiceFirstMatch"
96 #define kIOTerminatedNotification "IOServiceTerminate"
97
98 // IOService interest notification types
99 #define kIOGeneralInterest "IOGeneralInterest"
100 #define kIOBusyInterest "IOBusyInterest"
101 #define kIOAppPowerStateInterest "IOAppPowerStateInterest"
102 #define kIOPriorityPowerStateInterest "IOPriorityPowerStateInterest"
103
104 #define kIOPlatformDeviceMessageKey "IOPlatformDeviceMessage"
105
106 // IOService interest notification types
107 #define kIOCFPlugInTypesKey "IOCFPlugInTypes"
108
109 // properties found in services that implement command pooling
110 #define kIOCommandPoolSizeKey "IOCommandPoolSize" // (OSNumber)
111
112 // properties found in services that have transfer constraints
113 #define kIOMaximumBlockCountReadKey "IOMaximumBlockCountRead" // (OSNumber)
114 #define kIOMaximumBlockCountWriteKey "IOMaximumBlockCountWrite" // (OSNumber)
115 #define kIOMaximumByteCountReadKey "IOMaximumByteCountRead" // (OSNumber)
116 #define kIOMaximumByteCountWriteKey "IOMaximumByteCountWrite" // (OSNumber)
117 #define kIOMaximumSegmentCountReadKey "IOMaximumSegmentCountRead" // (OSNumber)
118 #define kIOMaximumSegmentCountWriteKey "IOMaximumSegmentCountWrite" // (OSNumber)
119 #define kIOMaximumSegmentByteCountReadKey "IOMaximumSegmentByteCountRead" // (OSNumber)
120 #define kIOMaximumSegmentByteCountWriteKey "IOMaximumSegmentByteCountWrite" // (OSNumber)
121 #define kIOMinimumSegmentAlignmentByteCountKey "IOMinimumSegmentAlignmentByteCount" // (OSNumber)
122 #define kIOMaximumSegmentAddressableBitCountKey "IOMaximumSegmentAddressableBitCount" // (OSNumber)
123
124 // properties found in services that wish to describe an icon
125 //
126 // IOIcon =
127 // {
128 // CFBundleIdentifier = "com.example.driver.example";
129 // IOBundleResourceFile = "example.icns";
130 // };
131 //
132 // where IOBundleResourceFile is the filename of the resource
133
134 #define kIOIconKey "IOIcon" // (OSDictionary)
135 #define kIOBundleResourceFileKey "IOBundleResourceFile" // (OSString)
136
137 #define kIOBusBadgeKey "IOBusBadge" // (OSDictionary)
138 #define kIODeviceIconKey "IODeviceIcon" // (OSDictionary)
139
140 // property of root that describes the machine's serial number as a string
141 #define kIOPlatformSerialNumberKey "IOPlatformSerialNumber" // (OSString)
142
143 // IODTNVRAM property keys
144 #define kIONVRAMDeletePropertyKey "IONVRAM-DELETE-PROPERTY"
145 #define kIODTNVRAMPanicInfoKey "aapl,panic-info"
146
147 // keys for complex boot information
148 #define kIOBootDeviceKey "IOBootDevice" // dict | array of dicts
149 #define kIOBootDevicePathKey "IOBootDevicePath" // arch-neutral OSString
150 #define kIOBootDeviceSizeKey "IOBootDeviceSize" // OSNumber of bytes
151
152 #endif /* ! _IOKIT_IOKITKEYS_H */