From a635614420656706cf5e0b1666adf5b22cc04551 Mon Sep 17 00:00:00 2001 From: Clemens Zeidler Date: Thu, 9 Jul 2009 17:53:09 +0000 Subject: [PATCH] Battery interface for the driver. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31485 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/private/device/power_managment.h | 43 +++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/headers/private/device/power_managment.h b/headers/private/device/power_managment.h index 2e5cc0c974..180a7de1b7 100644 --- a/headers/private/device/power_managment.h +++ b/headers/private/device/power_managment.h @@ -19,13 +19,20 @@ enum { // has changed WATCH_CPU_FREQ, // stop all watching ioctl, ioctl return B_ERROR - STOP_WATCHING_CPU_FREQ + STOP_WATCHING_CPU_FREQ, + + GET_BATTERY_INFO, + GET_EXTENDED_BATTERY_INFO, + WATCH_BATTERY, + STOP_WATCHING_BATTERY + }; // CPU Frequence: // magic id returned by IDENTIFY_DEVICE const uint32 kMagicFreqID = 48921; + #define MAX_CPU_FREQUENCY_STATES 10 typedef struct { @@ -36,4 +43,38 @@ typedef struct { } freq_info; +// ACPI Battery: +// magic id returned by IDENTIFY_DEVICE +const uint32 kMagicACPIBatteryID = 17822; + +#define BATTERY_DISCHARGING 0x01 +#define BATTERY_CHARGING 0x02 +#define BATTERY_CRITICAL_STATE 0x04 + + +typedef struct { + int state; + int current_rate; + int capacity; + int voltage; +} acpi_battery_info; + + +typedef struct { + int power_unit; + int design_capacity; + int last_full_charge; + int technology; + int design_voltage; + int design_capacity_warning; + int design_capacity_low; + int capacity_granularity_1; + int capacity_granularity_2; + char model_number[32]; + char serial_number[32]; + char type[32]; + char oem_info[32]; +} acpi_extended_battery_info; + + #endif