ADC Home > Reference Library > Reference > Hardware & Drivers > I/O Kit Framework Reference

 


IOPSKeys.h

Include Path:

<IOKit/ps>

Path:

/System/Library/Frameworks/IOKit.framework/Versions/A/Headers/ps/IOPowerSources.h

See Also:

Overview

This header defines C strings you use to access power source data in IOPowerSource CFDictionaries, as returned by IOPSGetPowerSourceDescription(). Note that all of these C strings must be converted to CFStrings before use. You can wrap them with the CFSTR() macro, or create a CFStringRef (that you must later CFRelease()) using CFStringCreateWithCString().



#defines


kIOPSACPowerValue


Value for key kIOPSPowerSourceStateKey.

#define kIOPSACPowerValue "AC Power" 
Discussion

Indicates the power source is connected to external or AC power and is not draining the internal battery.


kIOPSBatteryPowerValue


Value for key kIOPSPowerSourceStateKey.

#define kIOPSBatteryPowerValue "Battery Power" 
Discussion

Indicates the power source is currently using the internal battery.


kIOPSCommandDelayedRemovePowerKey


Command to give a UPS when it should remove power from its AC plugs in a specified amount of time.

#define kIOPSCommandDelayedRemovePowerKey "Delayed Remove Power" 
Discussion

The matching argument should be a CFNumber of kCFNumberIntType specifying when the UPS should remove power from its AC power ports.


kIOPSCommandEnableAudibleAlarmKey


Command to give a UPS when it should either enable or disable the audible alarm.

#define kIOPSCommandEnableAudibleAlarmKey "Enable Audible Alarm" 
Discussion

The matching argument should be a CFBooleanRef where kCFBooleanTrue enables the alarm and kCFBooleanFalse disables the alarm.


kIOPSCommandStartupDelayKey


Tells a UPS how long it should wait for.

#define kIOPSCommandStartupDelayKey "Startup Delay" 
Discussion

The matching argument should be a CFNumber of kCFNumberIntType specifying when the UPS should remove power from its AC power ports.


kIOPSCurrentCapacityKey


CFDictionary key for the current power source's capacity.

#define kIOPSCurrentCapacityKey "Current Capacity" 
Discussion

The key is of type CFNumber (signed integer) and the units are relative to "Max Capacity".


kIOPSCurrentKey


CFDictionary key for the current power source's electrical current.

#define kIOPSCurrentKey "Current" 
Discussion

The key is of type CFNumber (signed integer) and its units are mA.


kIOPSDeadWarnLevelKey


Key for the "Shutdown System" low power trigger-level. Default is 20%.

#define kIOPSDeadWarnLevelKey "Shutdown Level" 


kIOPSDynamicStorePath


This is only used for internal bookkeeping, and should be ignored.

#define kIOPSDynamicStorePath "/IOKit/PowerSources" 


kIOPSInternalType


Value for key kIOPSTransportTypeKey.

#define kIOPSInternalType "Internal" 
Discussion

Indicates the power source is an internal battery.


kIOPSIsChargingKey


CFDictionary key for the current power source's charging state.

#define kIOPSIsChargingKey "Is Charging" 
Discussion

The key is of type CFBoolean and its value is kCFBooleanTrue or kCFBooleanFalse.


kIOPSIsPresentKey


CFDictionary key for the current power source's presence.

#define kIOPSIsPresentKey "Is Present" 
Discussion

For example, a PowerBook with the capacity for two batteries but with only one present would show two power source dictionaries, but kIOPSIsPresentKey would have the value kCFBooleanFalse in one of them. Th key is of type CFBoolean and its value is kCFBooleanTrue or kCFBooleanFalse.


kIOPSLowWarnLevelKey


Key for the "Warning" UPS low power trigger-level. Default is 50%.

#define kIOPSLowWarnLevelKey "Low Warn Level" 


kIOPSMaxCapacityKey


CFDictionary key for the current power source's maximum capacity.

#define kIOPSMaxCapacityKey "Max Capacity" 
Discussion

The key is of type CFNumber (signed integer) and its units are %.


kIOPSNameKey


CFDictionary key of type CFStringRef for the current power source's name.

#define kIOPSNameKey "Name" 


kIOPSNetworkTransportType


Value for key kIOPSTransportTypeKey.

#define kIOPSNetworkTransportType "Ethernet" 
Discussion

Indicates the power source is a UPS attached over a network connection (and it may be managing several computers).


kIOPSOffLineValue


Value for key kIOPSPowerSourceStateKey.

#define kIOPSOffLineValue "Off Line" 
Discussion

Indicates the power source is offline or no longer connected.


kIOPSPowerSourceID


A key of type CFNumber (kCFNumberIntType) uniquely identifying a UPS attached to the system.

See Also:

kIOPSPowerSourceIDKey

#define kIOPSPowerSourceIDKey "Power Source ID" 


kIOPSPowerSourceIDKey


A key of type CFNumber (kCFNumberIntType) uniquely identifying a UPS attached to the system.

See Also:

kIOPSPowerSourceID

#define kIOPSPowerSourceIDKey "Power Source ID" 


kIOPSPowerSourceStateKey


CFDictionary key for the current source of power.

#define kIOPSPowerSourceStateKey "Power Source State" 
Discussion

The key is of type CFString and its value is kIOPSACPowerValue, kIOPSBatteryPowerValue, or kIOPSOffLineValue.


kIOPSSerialTransportType


Value for key kIOPSTransportTypeKey.

#define kIOPSSerialTransportType "Serial" 
Discussion

Indicates the power source is a UPS attached over a serial connection.


kIOPSTimeToEmptyKey


CFDictionary key for the current power source's time remaining until empty.

#define kIOPSTimeToEmptyKey "Time to Empty" 
Discussion

Only valid if the power source is running off its own power. That's when the kIOPSPowerSourceStateKey has value kIOPSBatteryPowerValue, and the value of kIOPSIsChargingKey is kCFBooleanFalse. Type CFNumber (signed integer), units are minutes. A value of -1 indicates "Still Calculating the Time", otherwise estimated minutes left on the battery.


kIOPSTimeToFullChargeKey


CFDictionary key for the current power source's time remaining until fully charged.

#define kIOPSTimeToFullChargeKey "Time to Full Charge" 
Discussion

Only valid if the value of kIOPSIsChargingKey is kCFBooleanTrue. Type CFNumber (signed integer), units are minutes. A value of -1 indicates "Still Calculating the Time", otherwise estimated minutes until fully charged.


kIOPSTransportTypeKey


CFDictionary key for the current power source's transport type.

#define kIOPSTransportTypeKey "Transport Type" 
Discussion

The key is of type CFStringRef. Valid transport types are kIOPSSerialTransportType, kIOPSUSBTransportType, kIOPSNetworkTransportType, or kIOPSInternalType.


kIOPSUPSManagementClaimed


Claims UPS management for a third-party driver.

#define kIOPSUPSManagementClaimed "/IOKit/UPSPowerManagementClaimed" 
Discussion

kIOPSUPSManagementClaimed Obsolete. Do not use.


kIOPSUSBTransportType


Value for key kIOPSTransportTypeKey.

#define kIOPSUSBTransportType "USB" 
Discussion

Indicates the power source is a UPS attached over a USB connection.


kIOPSVendorDataKey


CFDictionary key for arbitrary vendor data.

#define kIOPSVendorDataKey "Vendor Specific Data" 
Discussion

The value should be a CFDictionary kIOPSUSBTransportType, kIOPSNetworkTransportType, or kIOPSInternalType.


kIOPSVoltageKey


CFDictionary key for the current power source's electrical voltage.

#define kIOPSVoltageKey "Voltage" 
Discussion

The key is of type CFNumber (signed integer) and its units are mV.


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: 2009-02-23