]> git.saurik.com Git - apple/xnu.git/blobdiff - iokit/IOKit/pwr_mgt/IOPMPrivate.h
xnu-7195.50.7.100.1.tar.gz
[apple/xnu.git] / iokit / IOKit / pwr_mgt / IOPMPrivate.h
index 1a549c0c40f917ce816d27e8a4a5d75fe5f459e9..4c1eb9eecf4a136655e68afce3ea626fc1180053 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2002 Apple Computer, Inc. All rights reserved.
+ * Copyright (c) 2002-2020 Apple Computer, Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
@@ -106,6 +106,15 @@ enum {
 #define kIOPMMessageLaunchBootSpinDump \
                 iokit_family_msg(sub_iokit_powermanagement, 0x440)
 
+#define kIOPMMessageProModeStateChange \
+                iokit_family_msg(sub_iokit_powermanagement, 0x450)
+
+#define kIOPMMessageRequestUserActive \
+                iokit_family_msg(sub_iokit_powermanagement, 0x460)
+
+#define kIOPMMessageRequestSystemShutdown \
+                iokit_family_msg(sub_iokit_powermanagement, 0x470)
+
 /* @enum SystemSleepReasons
  * @abstract The potential causes for system sleep as logged in the system event record.
  */
@@ -119,7 +128,8 @@ enum {
     kIOPMSleepReasonThermalEmergency            = 107,
     kIOPMSleepReasonMaintenance                 = 108,
     kIOPMSleepReasonSleepServiceExit            = 109,
-    kIOPMSleepReasonDarkWakeThermalEmergency    = 110
+    kIOPMSleepReasonDarkWakeThermalEmergency    = 110,
+    kIOPMSleepReasonNotificationWakeExit        = 111
 };
 
 /*
@@ -134,6 +144,7 @@ enum {
 #define kIOPMThermalEmergencySleepKey               "Thermal Emergency Sleep"
 #define kIOPMSleepServiceExitKey                    "Sleep Service Back to Sleep"
 #define kIOPMDarkWakeThermalEmergencyKey            "Dark Wake Thermal Emergency"
+#define kIOPMNotificationWakeExitKey                "Notification Wake Back to Sleep"
 
 /*! kIOPMPSRestrictedModeKey
  *  An IOPMPowerSource property key
@@ -144,6 +155,9 @@ enum {
 */
 #define kIOPMPSRestrictedModeKey                    "RestrictedMode"
 
+// Private keys for kIOPMPSAdapterDetailsKey dictionary
+#define kIOPMPSAdapterDetailsIsWirelessKey          "IsWireless"
+
 #pragma mark Stray Bitfields
 // Private power commands issued to root domain
 // bits 0-7 in IOPM.h
@@ -243,6 +257,13 @@ enum {
     kIOPMSilentRunningModeOn = 0x00000001
 };
 
+/* @constant kIOPMSettingLowLatencyAudioModeKey
+ * @abstract Notification about low latency activity in the system available to kexts.
+ * @discussion This type can be passed as arguments to registerPMSettingController()
+ * to receive callbacks.
+ */
+#define kIOPMSettingLowLatencyAudioModeKey          "LowLatencyAudioMode"
+
 /*****************************************************************************/
 /*****************************************************************************/
 
@@ -677,6 +698,11 @@ enum {
 #define kIOPMWakeEventReasonKey             "Reason"
 #define kIOPMWakeEventDetailsKey            "Details"
 
+/* kIOPMFeatureProModeKey
+ * Feature published if ProMode is supported
+ */
+#define kIOPMFeatureProModeKey              "ProMode"
+
 /*****************************************************************************
  *
  * Wake event flags reported to IOPMrootDomain::claimSystemWakeEvent()
@@ -685,7 +711,6 @@ enum {
 
 #define kIOPMWakeEventSource                0x00000001
 
-#if !(defined(RC_HIDE_N144) || defined(RC_HIDE_N146))
 /*****************************************************************************
  *
  * AOT defs
@@ -730,6 +755,7 @@ enum {
                                 | kIOPMWakeEventAOTConfirmedPossibleExit)
 
 enum {
+       kIOPMAOTModeMask          = 0x000000ff,
     kIOPMAOTModeEnable        = 0x00000001,
     kIOPMAOTModeCycle         = 0x00000002,
     kIOPMAOTModeAddEventFlags = 0x00000004,
@@ -761,7 +787,17 @@ struct IOPMAOTMetrics
 
 #define kIOPMAOTPowerKey    "aot-power"
 
-#endif /* !(defined(RC_HIDE_N144) || defined(RC_HIDE_N146)) */
+/*****************************************************************************
+ *
+ * Dark Wake
+ *
+ *****************************************************************************/
+
+/* An OSNumber property set on a power managed driver that the root domain
+ * will use as the driver's max power state while system is in dark wake.
+ * This property should be set prior to the driver joining the PM tree.
+ */
+#define kIOPMDarkWakeMaxPowerStateKey       "IOPMDarkWakeMaxPowerState"
 
 /*****************************************************************************
  *