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
10 #define _COMPBATT_PCH_
15 #define COMPBATT_BATTERY_INFORMATION_PRESENT 0x04
16 #define COMPBATT_TAG_ASSIGNED 0x80
18 typedef struct _COMPBATT_BATTERY_DATA
20 LIST_ENTRY BatteryLink
;
21 IO_REMOVE_LOCK RemoveLock
;
22 PDEVICE_OBJECT DeviceObject
;
24 WORK_QUEUE_ITEM WorkItem
;
26 BATTERY_WAIT_STATUS WaitStatus
;
29 BATTERY_WAIT_STATUS WorkerWaitStatus
;
30 BATTERY_STATUS WorkerStatus
;
34 BATTERY_INFORMATION BatteryInformation
;
35 BATTERY_STATUS BatteryStatus
;
36 ULONGLONG InterruptTime
;
37 UNICODE_STRING BatteryName
;
38 } COMPBATT_BATTERY_DATA
, *PCOMPBATT_BATTERY_DATA
;
40 typedef struct _COMPBATT_DEVICE_EXTENSION
44 LIST_ENTRY BatteryList
;
48 BATTERY_INFORMATION BatteryInformation
;
49 BATTERY_STATUS BatteryStatus
;
50 ULONGLONG InterruptTime
;
51 POWER_STATE PowerState
;
54 PDEVICE_OBJECT AttachedDevice
;
55 PDEVICE_OBJECT DeviceObject
;
56 PVOID NotificationEntry
;
57 } COMPBATT_DEVICE_EXTENSION
, *PCOMPBATT_DEVICE_EXTENSION
;
62 IN PDRIVER_OBJECT DriverObject
,
63 IN PDEVICE_OBJECT PdoDeviceObject
68 CompBattPowerDispatch(
69 IN PDEVICE_OBJECT DeviceObject
,
76 IN PDEVICE_OBJECT DeviceObject
,
82 CompBattQueryInformation(
83 IN PCOMPBATT_DEVICE_EXTENSION FdoExtension
,
85 IN BATTERY_QUERY_INFORMATION_LEVEL InfoLevel
,
86 IN OPTIONAL LONG AtRate
,
88 IN ULONG BufferLength
,
89 OUT PULONG ReturnedLength
95 IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension
,
97 IN PBATTERY_STATUS BatteryStatus
102 CompBattSetStatusNotify(
103 IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension
,
105 IN PBATTERY_NOTIFY BatteryNotify
110 CompBattDisableStatusNotify(
111 IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension
117 IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension
,
123 CompBattMonitorIrpComplete(
124 IN PDEVICE_OBJECT DeviceObject
,
131 CompBattMonitorIrpCompleteWorker(
132 IN PCOMPBATT_BATTERY_DATA BatteryData
137 CompBattGetDeviceObjectPointer(
138 IN PUNICODE_STRING DeviceName
,
139 IN ACCESS_MASK DesiredAccess
,
140 OUT PFILE_OBJECT
*FileObject
,
141 OUT PDEVICE_OBJECT
*DeviceObject
147 IN ULONG IoControlCode
,
148 IN PDEVICE_OBJECT DeviceObject
,
149 IN PVOID InputBuffer
,
150 IN ULONG InputBufferLength
,
151 IN PVOID OutputBuffer
,
152 IN ULONG OutputBufferLength
,
153 IN BOOLEAN InternalDeviceIoControl
156 extern ULONG CompBattDebug
;
158 #endif /* _COMPBATT_PCH_ */