]> git.saurik.com Git - apple/xnu.git/blame - iokit/IOKit/IOKitKeys.h
xnu-792.13.8.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 *
8ad349bb 4 * @APPLE_LICENSE_OSREFERENCE_HEADER_START@
1c79356b 5 *
8ad349bb
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
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@
1c79356b
A
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"
9bccf70c 75#define kIOParentMatchKey "IOParentMatch"
1c79356b
A
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
5d5c5d0d
A
87#define kIOUserClientCrossEndianKey "IOUserClientCrossEndian"
88#define kIOUserClientCrossEndianCompatibleKey "IOUserClientCrossEndianCompatible"
89#define kIOUserClientSharedInstanceKey "IOUserClientSharedInstance"
90
1c79356b
A
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"
0b4e3aa0 102#define kIOPriorityPowerStateInterest "IOPriorityPowerStateInterest"
1c79356b 103
5d5c5d0d
A
104#define kIOPlatformDeviceMessageKey "IOPlatformDeviceMessage"
105
1c79356b
A
106// IOService interest notification types
107#define kIOCFPlugInTypesKey "IOCFPlugInTypes"
108
109// properties found in services that implement command pooling
0b4e3aa0
A
110#define kIOCommandPoolSizeKey "IOCommandPoolSize" // (OSNumber)
111
112// properties found in services that have transfer constraints
5d5c5d0d
A
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)
1c79356b 123
9bccf70c
A
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)
1c79356b 136
9bccf70c
A
137#define kIOBusBadgeKey "IOBusBadge" // (OSDictionary)
138#define kIODeviceIconKey "IODeviceIcon" // (OSDictionary)
139
55e303ae
A
140// property of root that describes the machine's serial number as a string
141#define kIOPlatformSerialNumberKey "IOPlatformSerialNumber" // (OSString)
142
91447636
A
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
9bccf70c 152#endif /* ! _IOKIT_IOKITKEYS_H */