]> git.saurik.com Git - apple/xnu.git/blame - iokit/IOKit/IOKitKeys.h
xnu-3789.51.2.tar.gz
[apple/xnu.git] / iokit / IOKit / IOKitKeys.h
CommitLineData
1c79356b
A
1/*
2 * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
3 *
2d21ac55 4 * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
1c79356b 5 *
2d21ac55
A
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.
8f6c56a5 14 *
2d21ac55
A
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
8f6c56a5
A
20 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
21 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
2d21ac55
A
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.
8f6c56a5 25 *
2d21ac55 26 * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
1c79356b
A
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
b0d623f7
A
56// registry ID number
57#define kIORegistryEntryIDKey "IORegistryEntryID"
39037602
A
58// property name to get array of property names
59#define kIORegistryEntryPropertyKeysKey "IORegistryEntryPropertyKeys"
b0d623f7 60
1c79356b
A
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// IOService matching property names
73#define kIOProviderClassKey "IOProviderClass"
74#define kIONameMatchKey "IONameMatch"
75#define kIOPropertyMatchKey "IOPropertyMatch"
39037602 76#define kIOPropertyExistsMatchKey "IOPropertyExistsMatch"
1c79356b
A
77#define kIOPathMatchKey "IOPathMatch"
78#define kIOLocationMatchKey "IOLocationMatch"
9bccf70c 79#define kIOParentMatchKey "IOParentMatch"
1c79356b 80#define kIOResourceMatchKey "IOResourceMatch"
39037602 81#define kIOResourceMatchedKey "IOResourceMatched"
1c79356b
A
82#define kIOMatchedServiceCountKey "IOMatchedServiceCountMatch"
83
84#define kIONameMatchedKey "IONameMatched"
85
86#define kIOMatchCategoryKey "IOMatchCategory"
87#define kIODefaultMatchCategoryKey "IODefaultMatchCategory"
88
89// IOService default user client class, for loadable user clients
90#define kIOUserClientClassKey "IOUserClientClass"
91
b0d623f7
A
92// key to find IOMappers
93#define kIOMapperIDKey "IOMapperID"
94
0c530ab8
A
95#define kIOUserClientCrossEndianKey "IOUserClientCrossEndian"
96#define kIOUserClientCrossEndianCompatibleKey "IOUserClientCrossEndianCompatible"
97#define kIOUserClientSharedInstanceKey "IOUserClientSharedInstance"
b0d623f7
A
98// diagnostic string describing the creating task
99#define kIOUserClientCreatorKey "IOUserClientCreator"
0c530ab8 100
1c79356b
A
101// IOService notification types
102#define kIOPublishNotification "IOServicePublish"
103#define kIOFirstPublishNotification "IOServiceFirstPublish"
104#define kIOMatchedNotification "IOServiceMatched"
105#define kIOFirstMatchNotification "IOServiceFirstMatch"
106#define kIOTerminatedNotification "IOServiceTerminate"
107
108// IOService interest notification types
109#define kIOGeneralInterest "IOGeneralInterest"
110#define kIOBusyInterest "IOBusyInterest"
111#define kIOAppPowerStateInterest "IOAppPowerStateInterest"
0b4e3aa0 112#define kIOPriorityPowerStateInterest "IOPriorityPowerStateInterest"
1c79356b 113
0c530ab8
A
114#define kIOPlatformDeviceMessageKey "IOPlatformDeviceMessage"
115
1c79356b
A
116// IOService interest notification types
117#define kIOCFPlugInTypesKey "IOCFPlugInTypes"
118
119// properties found in services that implement command pooling
39236c6e
A
120#define kIOCommandPoolSizeKey "IOCommandPoolSize" // (OSNumber)
121
122// properties found in services that implement priority
123#define kIOMaximumPriorityCountKey "IOMaximumPriorityCount" // (OSNumber)
0b4e3aa0
A
124
125// properties found in services that have transfer constraints
0c530ab8
A
126#define kIOMaximumBlockCountReadKey "IOMaximumBlockCountRead" // (OSNumber)
127#define kIOMaximumBlockCountWriteKey "IOMaximumBlockCountWrite" // (OSNumber)
128#define kIOMaximumByteCountReadKey "IOMaximumByteCountRead" // (OSNumber)
129#define kIOMaximumByteCountWriteKey "IOMaximumByteCountWrite" // (OSNumber)
130#define kIOMaximumSegmentCountReadKey "IOMaximumSegmentCountRead" // (OSNumber)
131#define kIOMaximumSegmentCountWriteKey "IOMaximumSegmentCountWrite" // (OSNumber)
132#define kIOMaximumSegmentByteCountReadKey "IOMaximumSegmentByteCountRead" // (OSNumber)
133#define kIOMaximumSegmentByteCountWriteKey "IOMaximumSegmentByteCountWrite" // (OSNumber)
134#define kIOMinimumSegmentAlignmentByteCountKey "IOMinimumSegmentAlignmentByteCount" // (OSNumber)
135#define kIOMaximumSegmentAddressableBitCountKey "IOMaximumSegmentAddressableBitCount" // (OSNumber)
39037602 136#define kIOMinimumSaturationByteCountKey "IOMinimumSaturationByteCount" // (OSNumber)
1c79356b 137
9bccf70c
A
138// properties found in services that wish to describe an icon
139//
140// IOIcon =
141// {
142// CFBundleIdentifier = "com.example.driver.example";
143// IOBundleResourceFile = "example.icns";
144// };
145//
146// where IOBundleResourceFile is the filename of the resource
147
148#define kIOIconKey "IOIcon" // (OSDictionary)
149#define kIOBundleResourceFileKey "IOBundleResourceFile" // (OSString)
1c79356b 150
9bccf70c
A
151#define kIOBusBadgeKey "IOBusBadge" // (OSDictionary)
152#define kIODeviceIconKey "IODeviceIcon" // (OSDictionary)
153
55e303ae
A
154// property of root that describes the machine's serial number as a string
155#define kIOPlatformSerialNumberKey "IOPlatformSerialNumber" // (OSString)
156
2d21ac55
A
157// property of root that describes the machine's UUID as a string
158#define kIOPlatformUUIDKey "IOPlatformUUID" // (OSString)
159
91447636
A
160// IODTNVRAM property keys
161#define kIONVRAMDeletePropertyKey "IONVRAM-DELETE-PROPERTY"
6d2010ae 162#define kIONVRAMSyncNowPropertyKey "IONVRAM-SYNCNOW-PROPERTY"
fe8ab488 163#define kIONVRAMActivateCSRConfigPropertyKey "IONVRAM-ARMCSR-PROPERTY"
91447636
A
164#define kIODTNVRAMPanicInfoKey "aapl,panic-info"
165
166// keys for complex boot information
167#define kIOBootDeviceKey "IOBootDevice" // dict | array of dicts
168#define kIOBootDevicePathKey "IOBootDevicePath" // arch-neutral OSString
169#define kIOBootDeviceSizeKey "IOBootDeviceSize" // OSNumber of bytes
170
2d21ac55
A
171// keys for OS Version information
172#define kOSBuildVersionKey "OS Build Version"
173
9bccf70c 174#endif /* ! _IOKIT_IOKITKEYS_H */