Sync with trunk head.
[reactos.git] / drivers / bus / acpi / compbatt / compbatt.h
1 /*
2 * PROJECT: ReactOS Composite Battery Driver
3 * LICENSE: BSD - See COPYING.ARM in the top level directory
4 * FILE: boot/drivers/bus/acpi/compbatt/compbatt.h
5 * PURPOSE: Main Header File
6 * PROGRAMMERS: ReactOS Portable Systems Group
7 */
8
9 #include <ntddk.h>
10 #include <initguid.h>
11 #include <batclass.h>
12 #include <debug.h>
13
14 typedef struct _COMPBATT_BATTERY_ENTRY
15 {
16 LIST_ENTRY BatteryLink;
17 IO_REMOVE_LOCK RemoveLock;
18 PDEVICE_OBJECT DeviceObject;
19 PIRP Irp;
20 WORK_QUEUE_ITEM WorkItem;
21 BOOLEAN WaitFlag;
22 BATTERY_WAIT_STATUS WaitStatus;
23 union
24 {
25 BATTERY_WAIT_STATUS WorkerWaitStatus;
26 BATTERY_STATUS WorkerStatus;
27 };
28 ULONG Tag;
29 ULONG Flags;
30 BATTERY_INFORMATION BatteryInformation;
31 BATTERY_STATUS BatteryStatus;
32 ULONGLONG InterruptTime;
33 UNICODE_STRING BatteryName;
34 } COMPBATT_BATTERY_ENTRY, *PCOMPBATT_BATTERY_ENTRY;
35
36 typedef struct _COMPBATT_DEVICE_EXTENSION
37 {
38 PVOID ClassData;
39 ULONG NextTag;
40 LIST_ENTRY BatteryList;
41 FAST_MUTEX Lock;
42 ULONG Tag;
43 ULONG Flags;
44 BATTERY_INFORMATION BatteryInformation;
45 BATTERY_STATUS BatteryStatus;
46 ULONGLONG InterruptTime;
47 POWER_STATE PowerState;
48 ULONG LowCapacity;
49 ULONG HighCapacity;
50 PDEVICE_OBJECT AttachedDevice;
51 PDEVICE_OBJECT DeviceObject;
52 PVOID NotificationEntry;
53 } COMPBATT_DEVICE_EXTENSION, *PCOMPBATT_DEVICE_EXTENSION;
54
55 extern ULONG CmBattDebug;
56
57 /* EOF */