2 * PROJECT: ReactOS ACPI-Compliant Control Method Battery
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: boot/drivers/bus/acpi/cmbatt/cmbatt.h
5 * PURPOSE: Main Header File
6 * PROGRAMMERS: ReactOS Portable Systems Group
16 #define CMBATT_GENERIC_STATUS 0x01
17 #define CMBATT_GENERIC_INFO 0x02
18 #define CMBATT_GENERIC_WARNING 0x04
19 #define CMBATT_ACPI_WARNING 0x08
20 #define CMBATT_POWER_INFO 0x10
21 #define CMBATT_PNP_INFO 0x20
22 #define CMBATT_ACPI_ENTRY_EXIT 0x40
23 #define CMBATT_PNP_ENTRY_EXIT 0x200
24 #define CMBATT_ACPI_ASSERT 0x400
26 typedef enum _CMBATT_EXTENSION_TYPE
30 } CMBATT_EXTENSION_TYPE
;
32 #define ACPI_BATT_STAT_DISCHARG 0x0001
33 #define ACPI_BATT_STAT_CHARGING 0x0002
34 #define ACPI_BATT_STAT_CRITICAL 0x0004
35 #define ACPI_BATT_STAT_NOT_PRESENT 0x0007
36 #define ACPI_BATT_STAT_MAX 0x0007
38 typedef struct _ACPI_BST_DATA
42 ULONG RemainingCapacity
;
44 } ACPI_BST_DATA
, *PACPI_BST_DATA
;
46 typedef struct _ACPI_BIF_DATA
50 ULONG LastFullCapacity
;
51 ULONG BatteryTechnology
;
53 ULONG DesignCapacityWarning
;
54 ULONG DesignCapacityLow
;
55 ULONG BatteryCapacityGranularity1
;
56 ULONG BatteryCapacityGranularity2
;
57 CHAR ModelNumber
[256];
58 CHAR SerialNubmer
[256];
59 CHAR BatteryType
[256];
61 } ACPI_BIF_DATA
, *PACPI_BIF_DATA
;
63 typedef struct _CMBATT_DEVICE_EXTENSION
65 CMBATT_EXTENSION_TYPE FdoType
;
66 PDEVICE_OBJECT DeviceObject
;
67 PDEVICE_OBJECT FdoDeviceObject
;
68 PDEVICE_OBJECT PdoDeviceObject
;
69 PDEVICE_OBJECT AttachedDevice
;
73 POWER_STATE PowerState
;
74 WMILIB_CONTEXT WmiLibInfo
;
79 PUNICODE_STRING DeviceName
;
80 ACPI_INTERFACE_STANDARD2 AcpiInterface
;
82 BOOLEAN DelayedArFlag
;
89 ULONG ModelNumberLength
;
91 ULONG SerialNumberLength
;
95 ACPI_BST_DATA BstData
;
96 ACPI_BIF_DATA BifData
;
99 ULONG RemainingCapacity
;
100 ULONG PresentVoltage
;
102 BATTERY_INFORMATION BatteryInformation
;
103 ULONG BatteryCapacityGranularity1
;
104 ULONG BatteryCapacityGranularity2
;
105 BOOLEAN TripPointSet
;
106 ULONG TripPointValue
;
108 ULONGLONG InterruptTime
;
109 } CMBATT_DEVICE_EXTENSION
, *PCMBATT_DEVICE_EXTENSION
;
114 PDEVICE_OBJECT DeviceObject
,
121 PDEVICE_OBJECT DeviceObject
,
128 PDRIVER_OBJECT DriverObject
,
129 PDEVICE_OBJECT DeviceObject
135 PDEVICE_OBJECT DeviceObject
,