IOKitKeys.h 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165
  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. #ifndef _IOKIT_IOKITKEYS_H
  37. #define _IOKIT_IOKITKEYS_H
  38. // properties found in the registry root
  39. #define kIOKitBuildVersionKey "IOKitBuildVersion"
  40. #define kIOKitDiagnosticsKey "IOKitDiagnostics"
  41. // a dictionary keyed by plane name
  42. #define kIORegistryPlanesKey "IORegistryPlanes"
  43. #define kIOCatalogueKey "IOCatalogue"
  44. // registry plane names
  45. #define kIOServicePlane "IOService"
  46. #define kIOPowerPlane "IOPower"
  47. #define kIODeviceTreePlane "IODeviceTree"
  48. #define kIOAudioPlane "IOAudio"
  49. #define kIOFireWirePlane "IOFireWire"
  50. #define kIOUSBPlane "IOUSB"
  51. // registry ID number
  52. #define kIORegistryEntryIDKey "IORegistryEntryID"
  53. // IOService class name
  54. #define kIOServiceClass "IOService"
  55. // IOResources class name
  56. #define kIOResourcesClass "IOResources"
  57. // IOService driver probing property names
  58. #define kIOClassKey "IOClass"
  59. #define kIOProbeScoreKey "IOProbeScore"
  60. #define kIOKitDebugKey "IOKitDebug"
  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. #define kIONameMatchedKey "IONameMatched"
  71. #define kIOMatchCategoryKey "IOMatchCategory"
  72. #define kIODefaultMatchCategoryKey "IODefaultMatchCategory"
  73. // IOService default user client class, for loadable user clients
  74. #define kIOUserClientClassKey "IOUserClientClass"
  75. // key to find IOMappers
  76. #define kIOMapperIDKey "IOMapperID"
  77. #define kIOUserClientCrossEndianKey "IOUserClientCrossEndian"
  78. #define kIOUserClientCrossEndianCompatibleKey "IOUserClientCrossEndianCompatible"
  79. #define kIOUserClientSharedInstanceKey "IOUserClientSharedInstance"
  80. // diagnostic string describing the creating task
  81. #define kIOUserClientCreatorKey "IOUserClientCreator"
  82. // IOService notification types
  83. #define kIOPublishNotification "IOServicePublish"
  84. #define kIOFirstPublishNotification "IOServiceFirstPublish"
  85. #define kIOMatchedNotification "IOServiceMatched"
  86. #define kIOFirstMatchNotification "IOServiceFirstMatch"
  87. #define kIOTerminatedNotification "IOServiceTerminate"
  88. // IOService interest notification types
  89. #define kIOGeneralInterest "IOGeneralInterest"
  90. #define kIOBusyInterest "IOBusyInterest"
  91. #define kIOAppPowerStateInterest "IOAppPowerStateInterest"
  92. #define kIOPriorityPowerStateInterest "IOPriorityPowerStateInterest"
  93. #define kIOPlatformDeviceMessageKey "IOPlatformDeviceMessage"
  94. // IOService interest notification types
  95. #define kIOCFPlugInTypesKey "IOCFPlugInTypes"
  96. // properties found in services that implement command pooling
  97. #define kIOCommandPoolSizeKey "IOCommandPoolSize" // (OSNumber)
  98. // properties found in services that have transfer constraints
  99. #define kIOMaximumBlockCountReadKey "IOMaximumBlockCountRead" // (OSNumber)
  100. #define kIOMaximumBlockCountWriteKey "IOMaximumBlockCountWrite" // (OSNumber)
  101. #define kIOMaximumByteCountReadKey "IOMaximumByteCountRead" // (OSNumber)
  102. #define kIOMaximumByteCountWriteKey "IOMaximumByteCountWrite" // (OSNumber)
  103. #define kIOMaximumSegmentCountReadKey "IOMaximumSegmentCountRead" // (OSNumber)
  104. #define kIOMaximumSegmentCountWriteKey "IOMaximumSegmentCountWrite" // (OSNumber)
  105. #define kIOMaximumSegmentByteCountReadKey "IOMaximumSegmentByteCountRead" // (OSNumber)
  106. #define kIOMaximumSegmentByteCountWriteKey "IOMaximumSegmentByteCountWrite" // (OSNumber)
  107. #define kIOMinimumSegmentAlignmentByteCountKey "IOMinimumSegmentAlignmentByteCount" // (OSNumber)
  108. #define kIOMaximumSegmentAddressableBitCountKey "IOMaximumSegmentAddressableBitCount" // (OSNumber)
  109. // properties found in services that wish to describe an icon
  110. //
  111. // IOIcon =
  112. // {
  113. // CFBundleIdentifier = "com.example.driver.example";
  114. // IOBundleResourceFile = "example.icns";
  115. // };
  116. //
  117. // where IOBundleResourceFile is the filename of the resource
  118. #define kIOIconKey "IOIcon" // (OSDictionary)
  119. #define kIOBundleResourceFileKey "IOBundleResourceFile" // (OSString)
  120. #define kIOBusBadgeKey "IOBusBadge" // (OSDictionary)
  121. #define kIODeviceIconKey "IODeviceIcon" // (OSDictionary)
  122. // property of root that describes the machine's serial number as a string
  123. #define kIOPlatformSerialNumberKey "IOPlatformSerialNumber" // (OSString)
  124. // property of root that describes the machine's UUID as a string
  125. #define kIOPlatformUUIDKey "IOPlatformUUID" // (OSString)
  126. // IODTNVRAM property keys
  127. #define kIONVRAMDeletePropertyKey "IONVRAM-DELETE-PROPERTY"
  128. #define kIODTNVRAMPanicInfoKey "aapl,panic-info"
  129. // keys for complex boot information
  130. #define kIOBootDeviceKey "IOBootDevice" // dict | array of dicts
  131. #define kIOBootDevicePathKey "IOBootDevicePath" // arch-neutral OSString
  132. #define kIOBootDeviceSizeKey "IOBootDeviceSize" // OSNumber of bytes
  133. // keys for OS Version information
  134. #define kOSBuildVersionKey "OS Build Version"
  135. #endif /* ! _IOKIT_IOKITKEYS_H */