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