class RootDomainUserClient;
+#define kRootDomainSupportedFeatures "Supported Features"
+
enum {
kRootDomainSleepNotSupported = 0x00000000,
kRootDomainSleepSupported = 0x00000001,
IOReturn rootDomainShutdown ( void );
}
+#define IOPM_ROOTDOMAIN_REV 2
class IOPMrootDomain: public IOService
{
virtual IOReturn setAggressiveness ( unsigned long, unsigned long );
virtual IOReturn youAreRoot ( void );
virtual IOReturn sleepSystem ( void );
+ virtual IOReturn setProperties ( OSObject * );
IOReturn shutdownSystem ( void );
IOReturn restartSystem ( void );
virtual IOReturn receivePowerNotification (UInt32 msg);
virtual IOOptionBits getSleepSupported();
virtual IOReturn requestPowerDomainState ( IOPMPowerFlags, IOPowerConnection *, unsigned long );
virtual void handleSleepTimerExpiration ( void );
+ void stopIgnoringClamshellEventsDuringWakeup ( void );
void wakeFromDoze( void );
+ void broadcast_it (unsigned long, unsigned long );
+ void publishFeature( const char *feature );
+
+ // Override of these methods for logging purposes.
+ virtual IOReturn changePowerStateTo ( unsigned long ordinal );
+ virtual IOReturn changePowerStateToPriv ( unsigned long ordinal );
private:
long longestNonSleepSlider; // pref: longest of other idle times
long extraSleepDelay; // sleepSlider - longestNonSleepSlider
thread_call_t extraSleepTimer; // used to wait between say display idle and system idle
-
+ thread_call_t clamshellWakeupIgnore; // Used to ignore clamshell close events while we're waking from sleep
+
virtual void powerChangeDone ( unsigned long );
virtual void command_received ( void *, void * , void * , void *);
virtual bool tellChangeDown ( unsigned long stateNum);
void adjustPowerState( void );
void restoreUserSpinDownTimeout ( void );
+
unsigned int user_spindown; // User's selected disk spindown value
unsigned int systemBooting:1;
unsigned int canSleep:1;
unsigned int idleSleepPending:1;
unsigned int sleepASAP:1;
- unsigned int reservedA:1;
- unsigned int reservedB[2];
+ unsigned int desktopMode:1;
+
+ unsigned int acAdaptorConnect:1;
+ unsigned int ignoringClamshellDuringWakeup:1;
+ unsigned int reservedA:6;
+ unsigned char reservedB[3];
+
thread_call_t diskSyncCalloutEntry;
IOOptionBits platformSleepSupport;
};