+// Private power management message indicating battery data has changed
+// Indicates new data resides in the IORegistry
+#define kIOPMMessageBatteryStatusHasChanged iokit_family_msg(sub_iokit_pmu, 0x100)
+
+// Apple private Legacy messages for re-routing AutoWake and AutoPower messages to the PMU
+// through newer user space IOPMSchedulePowerEvent API
+#define kIOPMUMessageLegacyAutoWake iokit_family_msg(sub_iokit_pmu, 0x200)
+#define kIOPMUMessageLegacyAutoPower iokit_family_msg(sub_iokit_pmu, 0x210)
+
+// These flags are deprecated. Use the version with the kIOPM prefix below.
+enum {
+ kACInstalled = kIOBatteryChargerConnect,
+ kBatteryCharging = kIOBatteryCharge,
+ kBatteryInstalled = kIOBatteryInstalled,
+ kUPSInstalled = (1<<3),
+ kBatteryAtWarn = (1<<4),
+ kBatteryDepleted = (1<<5),
+ kACnoChargeCapability = (1<<6), // AC adapter cannot charge battery
+ kRawLowBattery = (1<<7), // used only by Platform Expert
+ kForceLowSpeed = (1<<8) // set by Platfm Expert, chk'd by Pwr Plugin};
+};
+
+// For use with IOPMPowerSource bFlags
+#define IOPM_POWER_SOURCE_REV 2
+enum {
+ kIOPMACInstalled = kIOBatteryChargerConnect,
+ kIOPMBatteryCharging = kIOBatteryCharge,
+ kIOPMBatteryInstalled = kIOBatteryInstalled,
+ kIOPMUPSInstalled = (1<<3),
+ kIOPMBatteryAtWarn = (1<<4),
+ kIOPMBatteryDepleted = (1<<5),
+ kIOPMACnoChargeCapability = (1<<6), // AC adapter cannot charge battery
+ kIOPMRawLowBattery = (1<<7), // used only by Platform Expert
+ kIOPMForceLowSpeed = (1<<8), // set by Platfm Expert, chk'd by Pwr Plugin
+ kIOPMClosedClamshell = (1<<9), // set by PMU - reflects state of the clamshell
+ kIOPMClamshellStateOnWake = (1<<10) // used only by Platform Expert
+};
+
+
+// **********************************************
+// Internal power management data structures
+// **********************************************
+