mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-09 07:08:29 +02:00
+ Added power management APIs.
git-svn-id: trunk@9023 -
This commit is contained in:
parent
ef61a42155
commit
03fa047898
1
.gitattributes
vendored
1
.gitattributes
vendored
@ -5556,6 +5556,7 @@ rtl/wince/wininc/makefile.inc svneol=native#text/plain
|
||||
rtl/wince/wininc/messages.inc svneol=native#text/plain
|
||||
rtl/wince/wininc/notify.inc -text
|
||||
rtl/wince/wininc/oleaut32.inc svneol=native#text/plain
|
||||
rtl/wince/wininc/power.inc -text
|
||||
rtl/wince/wininc/redef.inc svneol=native#text/plain
|
||||
rtl/wince/wininc/simmgr.inc svneol=native#text/plain
|
||||
rtl/wince/wininc/struct.inc svneol=native#text/plain
|
||||
|
@ -50,6 +50,7 @@ interface
|
||||
{$i simmgr.inc}
|
||||
{$i tapi.inc}
|
||||
{$i notify.inc}
|
||||
{$i power.inc}
|
||||
{$i cemiss.inc}
|
||||
|
||||
{$i redef.inc}
|
||||
|
151
rtl/wince/wininc/power.inc
Normal file
151
rtl/wince/wininc/power.inc
Normal file
@ -0,0 +1,151 @@
|
||||
{
|
||||
This file is part of the Free Pascal run time library.
|
||||
Copyright (c) 2007 Free Pascal development team.
|
||||
|
||||
See the file COPYING.FPC, included in this distribution,
|
||||
for details about the copyright.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
**********************************************************************
|
||||
|
||||
Automatically converted by H2Pas 1.0.0 from power.h
|
||||
The following command line parameters were used:
|
||||
-d
|
||||
-c
|
||||
-w
|
||||
power.h
|
||||
}
|
||||
|
||||
{ Power Management APIs }
|
||||
|
||||
{$ifdef read_interface}
|
||||
const
|
||||
AC_LINE_OFFLINE = $00;
|
||||
AC_LINE_ONLINE = $01;
|
||||
AC_LINE_BACKUP_POWER = $02;
|
||||
AC_LINE_UNKNOWN = $FF;
|
||||
BATTERY_FLAG_HIGH = $01;
|
||||
BATTERY_FLAG_LOW = $02;
|
||||
BATTERY_FLAG_CRITICAL = $04;
|
||||
BATTERY_FLAG_CHARGING = $08;
|
||||
BATTERY_FLAG_NO_BATTERY = $80;
|
||||
BATTERY_FLAG_UNKNOWN = $FF;
|
||||
BATTERY_PERCENTAGE_UNKNOWN = $FF;
|
||||
BATTERY_LIFE_UNKNOWN = $FFFFFFFF;
|
||||
type
|
||||
|
||||
_SYSTEM_POWER_STATUS_EX = record
|
||||
ACLineStatus : BYTE;
|
||||
BatteryFlag : BYTE;
|
||||
BatteryLifePercent : BYTE;
|
||||
Reserved1 : BYTE;
|
||||
BatteryLifeTime : DWORD;
|
||||
BatteryFullLifeTime : DWORD;
|
||||
Reserved2 : BYTE;
|
||||
BackupBatteryFlag : BYTE;
|
||||
BackupBatteryLifePercent : BYTE;
|
||||
Reserved3 : BYTE;
|
||||
BackupBatteryLifeTime : DWORD;
|
||||
BackupBatteryFullLifeTime : DWORD;
|
||||
end;
|
||||
SYSTEM_POWER_STATUS_EX = _SYSTEM_POWER_STATUS_EX;
|
||||
PSYSTEM_POWER_STATUS_EX = ^_SYSTEM_POWER_STATUS_EX;
|
||||
LPSYSTEM_POWER_STATUS_EX = ^_SYSTEM_POWER_STATUS_EX;
|
||||
{
|
||||
@struct SYSTEM_POWER_STATUS_EX2 | contains information about the power status
|
||||
of the system.
|
||||
|
||||
@field BYTE | ACLineStatus | AC power status. Must be one of
|
||||
AC_LINE_OFFLINE, AC_LINE_ONLINE, AC_LINE_BACKUP_POWER, or AC_LINE_UNKNOWN.
|
||||
|
||||
@field BYTE | BatteryFlag | Battery charge status. Must be one of
|
||||
BATTERY_FLAG_HIGH, BATTERY_FLAG_LOW, BATTERY_FLAG_CRITICAL,
|
||||
BATTERY_FLAG_CHARGING, BATTERY_FLAG_NO_BATTERY, or BATTERY_FLAG_UNKNOWN
|
||||
|
||||
@field BYTE | BatteryLifePercent | Percentage of full battery charge
|
||||
remaining. Must be in the range 0 to 100, or BATTERY_PERCENTAGE_UNKNOWN.
|
||||
|
||||
@field BYTE | Reserved1 | Must be zero.
|
||||
|
||||
@field DWORD | BatteryLifeTime | Number of seconds of battery life
|
||||
remaining, or BATTERY_LIFE_UNKNOWN if remaining seconds are unknown.
|
||||
|
||||
@field DWORD | BatteryFullLifeTime | Number of seconds of battery life when
|
||||
at full charge, or BATTERY_LIFE_UNKNOWN if full lifetime is unknown.
|
||||
|
||||
@field BYTE | Reserved2 | Must be zero.
|
||||
|
||||
@field BYTE | BackupBatteryFlag | Backup battery charge status. Must be one
|
||||
of BATTERY_FLAG_HIGH, BATTERY_FLAG_LOW, BATTERY_FLAG_CRITICAL,
|
||||
BATTERY_FLAG_CHARGING, BATTERY_FLAG_NO_BATTERY, or BATTERY_FLAG_UNKNOWN.
|
||||
|
||||
@field BYTE | BackupBatteryLifePercent | Percentage of full backup battery
|
||||
charge remaining. Must be in the range 0 to 100, or
|
||||
BATTERY_PERCENTAGE_UNKNOWN.
|
||||
|
||||
@field BYTE | Reserved3 | Must be zero.
|
||||
|
||||
@field DWORD | BackupBatteryLifeTime | Number of seconds of backup battery
|
||||
life remaining, or BATTERY_LIFE_UNKNOWN if remaining seconds are unknown.
|
||||
|
||||
@field DWORD | BackupBatteryFullLifeTime | Number of seconds of backup
|
||||
battery life when at full charge, or BATTERY_LIFE_UNKNOWN if full lifetime
|
||||
is unknown.
|
||||
|
||||
}
|
||||
|
||||
const
|
||||
BATTERY_CHEMISTRY_ALKALINE = $01;
|
||||
BATTERY_CHEMISTRY_NICD = $02;
|
||||
BATTERY_CHEMISTRY_NIMH = $03;
|
||||
BATTERY_CHEMISTRY_LION = $04;
|
||||
BATTERY_CHEMISTRY_LIPOLY = $05;
|
||||
BATTERY_CHEMISTRY_ZINCAIR = $06;
|
||||
BATTERY_CHEMISTRY_UNKNOWN = $FF;
|
||||
{ Above here is old struct, below are new fields }
|
||||
{ Reports Reading of battery voltage in millivolts (0..65535 mV) }
|
||||
{ Reports Instantaneous current drain (mA). 0..32767 for charge, 0 to -32768 for discharge }
|
||||
{ Reports short term average of device current drain (mA). 0..32767 for charge, 0 to -32768 for discharge }
|
||||
{ Reports time constant (mS) of integration used in reporting BatteryAverageCurrent }
|
||||
{ Reports long-term cumulative average DISCHARGE (mAH). Reset by charging or changing the batteries. 0 to 32767 mAH }
|
||||
{ Reports Battery temp in 0.1 degree C (-3276.8 to 3276.7 degrees C) }
|
||||
{ Reports Reading of backup battery voltage }
|
||||
{ See Chemistry defines above }
|
||||
{ New fields can be added below, but don't change any existing ones }
|
||||
type
|
||||
|
||||
_SYSTEM_POWER_STATUS_EX2 = record
|
||||
ACLineStatus : BYTE;
|
||||
BatteryFlag : BYTE;
|
||||
BatteryLifePercent : BYTE;
|
||||
Reserved1 : BYTE;
|
||||
BatteryLifeTime : DWORD;
|
||||
BatteryFullLifeTime : DWORD;
|
||||
Reserved2 : BYTE;
|
||||
BackupBatteryFlag : BYTE;
|
||||
BackupBatteryLifePercent : BYTE;
|
||||
Reserved3 : BYTE;
|
||||
BackupBatteryLifeTime : DWORD;
|
||||
BackupBatteryFullLifeTime : DWORD;
|
||||
BatteryVoltage : DWORD;
|
||||
BatteryCurrent : DWORD;
|
||||
BatteryAverageCurrent : DWORD;
|
||||
BatteryAverageInterval : DWORD;
|
||||
BatterymAHourConsumed : DWORD;
|
||||
BatteryTemperature : DWORD;
|
||||
BackupBatteryVoltage : DWORD;
|
||||
BatteryChemistry : BYTE;
|
||||
end;
|
||||
SYSTEM_POWER_STATUS_EX2 = _SYSTEM_POWER_STATUS_EX2;
|
||||
PSYSTEM_POWER_STATUS_EX2 = ^_SYSTEM_POWER_STATUS_EX2;
|
||||
LPSYSTEM_POWER_STATUS_EX2 = ^_SYSTEM_POWER_STATUS_EX2;
|
||||
{ @CESYSGEN IF COREDLL_BATTERY }
|
||||
|
||||
function GetSystemPowerStatusEx(var SystemPowerStatusEx: SYSTEM_POWER_STATUS_EX; fUpdate:BOOL):BOOL;external KernelDLL name 'GetSystemPowerStatusEx';
|
||||
{ Return value : 0 = fail. Non-zero indicates length of returned data. }
|
||||
function GetSystemPowerStatusEx2(var SystemPowerStatusEx2: SYSTEM_POWER_STATUS_EX2; dwLen:DWORD; fUpdate:BOOL):DWORD;external KernelDLL name 'GetSystemPowerStatusEx2';
|
||||
|
||||
{$endif read_interface}
|
Loading…
Reference in New Issue
Block a user