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 kIODTNVRAMPanicInfoKey "aapl,panic-info" 159 160// keys for complex boot information 161#define kIOBootDeviceKey "IOBootDevice" // dict | array of dicts 162#define kIOBootDevicePathKey "IOBootDevicePath" // arch-neutral OSString 163#define kIOBootDeviceSizeKey "IOBootDeviceSize" // OSNumber of bytes 164 165// keys for OS Version information 166#define kOSBuildVersionKey "OS Build Version" 167 168#endif /* ! _IOKIT_IOKITKEYS_H */ 169