/ duct-tape / xnu / iokit / IOKit / IOKitKeysPrivate.h
IOKitKeysPrivate.h
  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  #endif /* ! _IOKIT_IOKITKEYSPRIVATE_H */