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 #ifndef _IOKIT_IOKITKEYSPRIVATE_H 30 #define _IOKIT_IOKITKEYSPRIVATE_H 31 32 #include <IOKit/IOKitKeys.h> 33 34 // properties found in the registry root 35 #define kIOConsoleLockedKey "IOConsoleLocked" /* value is OSBoolean */ 36 #define kIOConsoleUsersKey "IOConsoleUsers" /* value is OSArray */ 37 #define kIOMaximumMappedIOByteCountKey "IOMaximumMappedIOByteCount" /* value is OSNumber */ 38 39 // properties found in the console user dict 40 #define kIOConsoleSessionAuditIDKey "kCGSSessionAuditIDKey" /* value is OSNumber */ 41 42 #define kIOConsoleSessionUserNameKey "kCGSSessionUserNameKey" /* value is OSString */ 43 #define kIOConsoleSessionUIDKey "kCGSSessionUserIDKey" /* value is OSNumber */ 44 #define kIOConsoleSessionConsoleSetKey "kCGSSessionConsoleSetKey" /* value is OSNumber */ 45 #define kIOConsoleSessionOnConsoleKey "kCGSSessionOnConsoleKey" /* value is OSBoolean */ 46 #define kIOConsoleSessionLoginDoneKey "kCGSessionLoginDoneKey" /* value is OSBoolean */ 47 #define kIOConsoleSessionSecureInputPIDKey "kCGSSessionSecureInputPID" /* value is OSNumber */ 48 #define kIOConsoleSessionScreenLockedTimeKey "CGSSessionScreenLockedTime" /* value is OSNumber, secs - 1970 */ 49 #define kIOConsoleSessionScreenIsLockedKey "CGSSessionScreenIsLocked" /* value is OSBoolean */ 50 51 // IOResources property 52 #define kIOConsoleUsersSeedKey "IOConsoleUsersSeed" /* value is OSNumber */ 53 54 // IODeviceTree:chosen properties 55 #define kIOProgressBackbufferKey "IOProgressBackbuffer" /* value is OSData */ 56 #define kIOProgressColorThemeKey "IOProgressColorTheme" /* value is OSNumber */ 57 #define kIOBridgeBootSessionUUIDKey "bridge-boot-session-uuid" /* value is OSData */ 58 59 // interest type 60 #define kIOConsoleSecurityInterest "IOConsoleSecurityInterest" 61 62 63 // private keys for clientHasPrivilege 64 #define kIOClientPrivilegeConsoleUser "console" 65 #define kIOClientPrivilegeSecureConsoleProcess "secureprocess" 66 #define kIOClientPrivilegeConsoleSession "consolesession" 67 68 69 // Embedded still throttles NVRAM commits via kIONVRAMSyncNowPropertyKey, but 70 // some clients still need a stricter NVRAM commit contract. Please use this with 71 // care. 72 #define kIONVRAMForceSyncNowPropertyKey "IONVRAM-FORCESYNCNOW-PROPERTY" 73 74 // GUID to address variables for the system NVRAM region 75 #define kIOKitSystemGUID "40A0DDD2-77F8-4392-B4A3-1E7304206516" 76 #define kIOKitSystemGUIDPrefix (kIOKitSystemGUID ":") 77 // Internal only key to give access to system region on internal builds 78 #define kIONVRAMSystemInternalAllowKey "com.apple.private.iokit.system-nvram-internal-allow" 79 // Internal only key to give access to hidden system region variables 80 #define kIONVRAMSystemHiddenAllowKey "com.apple.private.iokit.system-nvram-hidden-allow" 81 82 // clientHasPrivilege security token for kIOClientPrivilegeSecureConsoleProcess 83 typedef struct _IOUCProcessToken { 84 void * token; 85 UInt32 pid; 86 } IOUCProcessToken; 87 88 #define kIOKernelHasSafeSleep 1 89 90 #define kIOPlatformSleepActionKey "IOPlatformSleepAction" /* value is OSNumber (priority) */ 91 #define kIOPlatformWakeActionKey "IOPlatformWakeAction" /* value is OSNumber (priority) */ 92 #define kIOPlatformQuiesceActionKey "IOPlatformQuiesceAction" /* value is OSNumber (priority) */ 93 #define kIOPlatformActiveActionKey "IOPlatformActiveAction" /* value is OSNumber (priority) */ 94 #define kIOPlatformHaltRestartActionKey "IOPlatformHaltRestartAction" /* value is OSNumber (priority) */ 95 #define kIOPlatformPanicActionKey "IOPlatformPanicAction" /* value is OSNumber (priority) */ 96 97 #define kIOPlatformFunctionHandlerSet "IOPlatformFunctionHandlerSet" 98 99 #define kIOPlatformFunctionHandlerMaxBusDelay "IOPlatformFunctionHandlerMaxBusDelay" 100 #define kIOPlatformMaxBusDelay "IOPlatformMaxBusDelay" 101 102 #if defined(__i386__) || defined(__x86_64__) 103 104 #define kIOPlatformFunctionHandlerMaxInterruptDelay "IOPlatformFunctionHandlerMaxInterruptDelay" 105 #define kIOPlatformMaxInterruptDelay "IOPlatformMaxInterruptDelay" 106 107 #endif /* defined(__i386__) || defined(__x86_64__) */ 108 109 enum { 110 // these flags are valid for the prepare() method only 111 kIODirectionPrepareNoZeroFill = 0x00000010, 112 }; 113 114 enum { 115 kIOServiceTerminateNeedWillTerminate = 0x00000100, 116 }; 117 118 #define kIOClassNameOverrideKey "IOClassNameOverride" 119 120 enum { 121 kIOClassNameOverrideNone = 0x00000001, 122 }; 123 124 #define kIOServiceLegacyMatchingRegistryIDKey "IOServiceLegacyMatchingRegistryID" 125 126 #define kIOServiceMatchDeferredKey "IOServiceMatchDeferred" 127 128 #define kIOMatchedAtBootKey "IOMatchedAtBoot" 129 130 #define kIOPrimaryDriverTerminateOptionsKey "IOPrimaryDriverTerminateOptions" 131 132 #define kIOServiceNotificationUserKey "IOServiceNotificationUser" 133 134 #endif /* ! _IOKIT_IOKITKEYSPRIVATE_H */ 135