+struct hibernate_preview_t
+{
+ uint32_t imageCount; // Number of images
+ uint32_t width; // Width
+ uint32_t height; // Height
+ uint32_t depth; // Pixel Depth
+ uint32_t lockTime; // Lock time
+ uint32_t reservedG[8]; // reserved
+ uint32_t reservedK[8]; // reserved
+};
+typedef struct hibernate_preview_t hibernate_preview_t;
+
+struct hibernate_statistics_t
+{
+ uint64_t image1Size;
+ uint64_t imageSize;
+ uint32_t image1Pages;
+ uint32_t imagePages;
+ uint32_t booterStart;
+ uint32_t smcStart;
+ uint32_t booterDuration;
+ uint32_t booterConnectDisplayDuration;
+ uint32_t booterSplashDuration;
+ uint32_t booterDuration0;
+ uint32_t booterDuration1;
+ uint32_t booterDuration2;
+ uint32_t trampolineDuration;
+ uint32_t kernelImageReadDuration;
+
+ uint32_t graphicsReadyTime;
+ uint32_t wakeNotificationTime;
+ uint32_t lockScreenReadyTime;
+ uint32_t hidReadyTime;
+
+ uint32_t wakeCapability;
+ uint32_t resvA[15];
+};
+typedef struct hibernate_statistics_t hibernate_statistics_t;
+
+#define kIOSysctlHibernateStatistics "kern.hibernatestatistics"
+#define kIOSysctlHibernateGraphicsReady "kern.hibernategraphicsready"
+#define kIOSysctlHibernateWakeNotify "kern.hibernatewakenotification"
+#define kIOSysctlHibernateScreenReady "kern.hibernatelockscreenready"
+#define kIOSysctlHibernateHIDReady "kern.hibernatehidready"
+