+/*XXX power management hacks XXX*/
+#include <IOKit/IOReturn.h>
+#include <IOKit/IOMessage.h>
+
+extern void *registerSleepWakeInterest(
+ void *callback,
+ void *target,
+ void *refCon);
+/*XXX power management hacks XXX*/
+
+static void
+calend_wakeup_resynch(
+ thread_call_param_t p0,
+ thread_call_param_t p1)
+{
+ void IOKitResetTime(void);
+
+ IOKitResetTime();
+}
+
+static thread_call_t calend_sleep_wake_call;
+
+static IOReturn
+calend_sleep_wake_notif(
+ void *target,
+ void *refCon,
+ unsigned int messageType,
+ void *provider,
+ void *messageArg,
+ vm_size_t argSize)
+{
+ if (messageType != kIOMessageSystemHasPoweredOn)
+ return (kIOReturnUnsupported);
+
+ if (calend_sleep_wake_call != NULL)
+ thread_call_enter(calend_sleep_wake_call);
+
+ return (kIOReturnSuccess);
+}