Mac Developer Library

Developer

IOPMpowerState.h Reference

Options
Deployment Target:

On This Page

IOPMpowerState.h Reference

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

Included Headers

  • <IOKit/pwr_mgt/IOPM.h>

Data Types

See the Overview section above for header-level documentation.

  • Describes a device's power state.

    Declaration

    Objective-C

    struct IOPMPowerState { unsigned long version; IOPMPowerFlags capabilityFlags; IOPMPowerFlags outputPowerCharacter; IOPMPowerFlags inputPowerRequirement; unsigned long staticPower; unsigned long stateOrder; 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.

    stateOrder

    Valid in version kIOPMPowerStateVersion2 or greater of this structure. Defines ordering of power states independently of the power state ordinal.

    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.