]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/IOKit/IOKitKeys.h
xnu-4570.20.62.tar.gz
[apple/xnu.git] / iokit / IOKit / IOKitKeys.h
index 9fa67fe50ed8062dde72aeb6a308efdff8aa2c1c..44ed1180715a5021b1f8d571fa25ec529c39087b 100644 (file)
@@ -1,23 +1,29 @@
 /*
  * Copyright (c) 1998-2000 Apple Computer, Inc. All rights reserved.
  *
- * @APPLE_LICENSE_HEADER_START@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License").  You may not use this file except in compliance with the
- * License.  Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. The rights granted to you under the License
+ * may not be used to create, or enable the creation or redistribution of,
+ * unlawful or unlicensed copies of an Apple operating system, or to
+ * circumvent, violate, or enable the circumvention or violation of, any
+ * terms of an Apple operating system software license agreement.
  * 
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this file.
+ * 
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
- * License for the specific language governing rights and limitations
- * under the License.
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
  * 
- * @APPLE_LICENSE_HEADER_END@
+ * @APPLE_OSREFERENCE_LICENSE_HEADER_END@
  */
 /*
  * Copyright (c) 1999 Apple Computer, Inc.  All rights reserved. 
 #define kIOFireWirePlane               "IOFireWire"
 #define kIOUSBPlane                    "IOUSB"
 
+// registry ID number
+#define kIORegistryEntryIDKey          "IORegistryEntryID"
+// property name to get array of property names
+#define kIORegistryEntryPropertyKeysKey "IORegistryEntryPropertyKeys"
+
 // IOService class name
 #define kIOServiceClass                        "IOService"
 
 #define kIOProviderClassKey            "IOProviderClass"
 #define kIONameMatchKey                        "IONameMatch"
 #define kIOPropertyMatchKey            "IOPropertyMatch"
+#define kIOPropertyExistsMatchKey      "IOPropertyExistsMatch"
 #define kIOPathMatchKey                        "IOPathMatch"
 #define kIOLocationMatchKey            "IOLocationMatch"
+#define kIOParentMatchKey              "IOParentMatch"
 #define kIOResourceMatchKey            "IOResourceMatch"
+#define kIOResourceMatchedKey          "IOResourceMatched"
 #define kIOMatchedServiceCountKey      "IOMatchedServiceCountMatch"
 
 #define kIONameMatchedKey              "IONameMatched"
 // IOService default user client class, for loadable user clients
 #define kIOUserClientClassKey          "IOUserClientClass"
 
+// key to find IOMappers
+#define kIOMapperIDKey                         "IOMapperID"
+
+#define kIOUserClientCrossEndianKey            "IOUserClientCrossEndian"
+#define kIOUserClientCrossEndianCompatibleKey  "IOUserClientCrossEndianCompatible"
+#define kIOUserClientSharedInstanceKey         "IOUserClientSharedInstance"
+// diagnostic string describing the creating task
+#define kIOUserClientCreatorKey                "IOUserClientCreator"
+
 // IOService notification types
 #define kIOPublishNotification         "IOServicePublish"
 #define kIOFirstPublishNotification    "IOServiceFirstPublish"
 #define kIOMatchedNotification         "IOServiceMatched"
 #define kIOFirstMatchNotification      "IOServiceFirstMatch"
 #define kIOTerminatedNotification      "IOServiceTerminate"
+#define kIOWillTerminateNotification   "IOServiceWillTerminate"
 
 // IOService interest notification types
 #define kIOGeneralInterest             "IOGeneralInterest"
 #define kIOBusyInterest                        "IOBusyInterest"
 #define kIOAppPowerStateInterest       "IOAppPowerStateInterest"
+#define kIOPriorityPowerStateInterest  "IOPriorityPowerStateInterest"
+
+#define kIOPlatformDeviceMessageKey     "IOPlatformDeviceMessage"
 
 // IOService interest notification types
 #define kIOCFPlugInTypesKey            "IOCFPlugInTypes"
 
 // properties found in services that implement command pooling
-#define kIOCommandPoolSizeKey  "IOCommandPoolSize"
+#define kIOCommandPoolSizeKey          "IOCommandPoolSize"             // (OSNumber)
+
+// properties found in services that implement priority
+#define kIOMaximumPriorityCountKey     "IOMaximumPriorityCount"        // (OSNumber)
+
+// properties found in services that have transfer constraints
+#define kIOMaximumBlockCountReadKey             "IOMaximumBlockCountRead"             // (OSNumber)
+#define kIOMaximumBlockCountWriteKey            "IOMaximumBlockCountWrite"            // (OSNumber)
+#define kIOMaximumByteCountReadKey              "IOMaximumByteCountRead"              // (OSNumber)
+#define kIOMaximumByteCountWriteKey             "IOMaximumByteCountWrite"             // (OSNumber)
+#define kIOMaximumSegmentCountReadKey           "IOMaximumSegmentCountRead"           // (OSNumber)
+#define kIOMaximumSegmentCountWriteKey          "IOMaximumSegmentCountWrite"          // (OSNumber)
+#define kIOMaximumSegmentByteCountReadKey       "IOMaximumSegmentByteCountRead"       // (OSNumber)
+#define kIOMaximumSegmentByteCountWriteKey      "IOMaximumSegmentByteCountWrite"      // (OSNumber)
+#define kIOMinimumSegmentAlignmentByteCountKey  "IOMinimumSegmentAlignmentByteCount"  // (OSNumber)
+#define kIOMaximumSegmentAddressableBitCountKey "IOMaximumSegmentAddressableBitCount" // (OSNumber)
+#define kIOMinimumSaturationByteCountKey        "IOMinimumSaturationByteCount"        // (OSNumber)
+
+// properties found in services that wish to describe an icon
+//
+// IOIcon = 
+// {
+//     CFBundleIdentifier   = "com.example.driver.example";
+//     IOBundleResourceFile = "example.icns";
+// };
+//
+// where IOBundleResourceFile is the filename of the resource
+
+#define kIOIconKey               "IOIcon"               // (OSDictionary)
+#define kIOBundleResourceFileKey "IOBundleResourceFile" // (OSString)
+
+#define kIOBusBadgeKey           "IOBusBadge"           // (OSDictionary)
+#define kIODeviceIconKey         "IODeviceIcon"         // (OSDictionary)
+
+// property of root that describes the machine's serial number as a string
+#define kIOPlatformSerialNumberKey     "IOPlatformSerialNumber"        // (OSString)
+
+// property of root that describes the machine's UUID as a string
+#define kIOPlatformUUIDKey     "IOPlatformUUID"        // (OSString)
+
+// IODTNVRAM property keys
+#define kIONVRAMDeletePropertyKey      "IONVRAM-DELETE-PROPERTY"
+#define kIONVRAMSyncNowPropertyKey     "IONVRAM-SYNCNOW-PROPERTY"
+#define kIONVRAMActivateCSRConfigPropertyKey   "IONVRAM-ARMCSR-PROPERTY"
+#define kIODTNVRAMPanicInfoKey         "aapl,panic-info"
+
+// keys for complex boot information
+#define kIOBootDeviceKey          "IOBootDevice"               // dict | array of dicts
+#define kIOBootDevicePathKey      "IOBootDevicePath"   // arch-neutral OSString
+#define kIOBootDeviceSizeKey      "IOBootDeviceSize"   // OSNumber of bytes
+
+// keys for OS Version information
+#define kOSBuildVersionKey             "OS Build Version"
 
 #endif /* ! _IOKIT_IOKITKEYS_H */
-