ADC Home > Reference Library > Reference > Darwin > Kernel Framework Reference

 


IOPMpowerState.h

Includes:

Overview

Defines the struct IOPMPowerState that power managed drivers should use to describe their power states.



Structs and Unions


IOPMPowerState


Describes a device's power state.

struct IOPMPowerState { 
    unsigned long version; 
    IOPMPowerFlags capabilityFlags; 
    IOPMPowerFlags outputPowerCharacter; 
    IOPMPowerFlags inputPowerRequirement; 
    unsigned long staticPower; 
    unsigned long unbudgetedPower; 
    unsigned long powerToAttain; 
    unsigned long timeToAttain; 
    unsigned long settleUpTime; 
    unsigned long timeToLower; 
    unsigned long settleDownTime; 
    unsigned long powerDomainBudget; 
};  
Fields
version

Defines version number of this struct. Just use the value "1" when defining an IOPMPowerState.

capabilityFlags

Describes the capability of the device in this state.

outputPowerCharacter

Describes the power provided in this state.

inputPowerRequirement

Describes the input power required in this state.

staticPower

Describes average consumption in milliwatts. Unused; drivers may specify 0.

unbudgetedPower

Describes additional consumption from separate power supply (milliWatts). Unused; drivers may specify 0.

powerToAttain

Describes dditional power to attain this state from next lower state (in milliWatts). Unused; drivers may specify 0.

timeToAttain

Describes time required to enter this state from next lower state (in microseconds). Unused; drivers may specify 0.

settleUpTime

Describes settle time required after entering this state from next lower state (microseconds). Unused; drivers may specify 0.

timeToLower

Describes time required to enter next lower state from this one (microseconds). Unused; drivers may specify 0.

settleDownTime

Settle time required after entering next lower state from this state (microseconds). Unused; drivers may specify 0.

powerDomainBudget

Describes power in milliWatts a domain in this state can deliver to its children. Unused; drivers may specify 0. }

Discussion

To take part in system power management, drivers should define an array of 2 or more power states and pass it to kernel power management through IOService::registerPowerDriver.


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.

 

Last Updated: 2008-12-19