*
*****************************************************************************/
+/* kIOPMFeatureAutoPowerOffKey
+ * Feature published if Auto Power Off is supported
+ */
+#define kIOPMFeatureAutoPowerOffKey "AutoPowerOff"
+
/* kIOPMAutoPowerOffEnabledKey
* Indicates if Auto Power Off is enabled.
* It has a boolean value.
*/
#define kIOPMAutoPowerOffDelayKey "AutoPowerOff Delay"
+/* kIOPMAutoPowerOffTimerKey
+ * Key refers to a CFNumberRef that indicates the time in seconds until the
+ * expiration of the Auto Power Off delay period. This value should be used
+ * to program a wake alarm before system sleep.
+ */
+#define kIOPMAutoPowerOffTimerKey "AutoPowerOff Timer"
+
+/* kIOPMUserWakeAlarmScheduledKey
+ * Key refers to a boolean value that indicates if an user alarm was scheduled
+ * or pending.
+ */
+#define kIOPMUserWakeAlarmScheduledKey "UserWakeAlarmScheduled"
+
+/* kIOPMDeepIdleSupportedKey
+ * Presence of this key indicates Deep Idle is supported on this platform.
+ * Key will always refer to a value of kOSBooleanTrue.
+ */
+#define kIOPMDeepIdleSupportedKey "IOPMDeepIdleSupported"
+
/*****************************************************************************
*
* System Sleep Policy
uint32_t standbyDelay; // standby delay in seconds
uint32_t poweroffDelay; // auto-poweroff delay in seconds
uint32_t scheduledAlarms; // bitmask of scheduled alarm types
+ uint32_t poweroffTimer; // auto-poweroff timer in seconds
- uint32_t reserved[50]; // pad sizeof 256 bytes
+ uint32_t reserved[49]; // pad sizeof 256 bytes
};
enum {
};
enum {
- kIOPMSleepPhase1 = 1,
+ kIOPMSleepPhase0 = 0,
+ kIOPMSleepPhase1,
kIOPMSleepPhase2
};
kIOPMSleepTypeHibernate = 4,
kIOPMSleepTypeStandby = 5,
kIOPMSleepTypePowerOff = 6,
- kIOPMSleepTypeLast = 7
+ kIOPMSleepTypeDeepIdle = 7,
+ kIOPMSleepTypeLast = 8
};
// System Sleep Flags