[CMBATT]
[reactos.git] / reactos / drivers / battery / cmbatt / cmbatt.h
1 /*
2 * PROJECT: ReactOS Kernel
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: drivers/battery/cmbatt/cmbatt.h
5 * PURPOSE: Control Method Battery Miniclass Driver
6 * PROGRAMMERS: Cameron Gutman (cameron.gutman@reactos.org)
7 */
8
9 #pragma once
10
11 #include <ntddk.h>
12 #include <batclass.h>
13
14 typedef struct _CMBATT_DEVICE_EXTENSION {
15 PDEVICE_OBJECT Pdo;
16 PDEVICE_OBJECT Ldo;
17 PDEVICE_OBJECT Fdo;
18 PVOID BattClassHandle;
19 LIST_ENTRY ListEntry;
20 } CMBATT_DEVICE_EXTENSION, *PCMBATT_DEVICE_EXTENSION;
21
22 NTSTATUS
23 NTAPI
24 CmBattQueryTag(PVOID Context,
25 PULONG BatteryTag);
26
27 NTSTATUS
28 NTAPI
29 CmBattDisableStatusNotify(PVOID Context);
30
31 NTSTATUS
32 NTAPI
33 CmBattSetStatusNotify(PVOID Context,
34 ULONG BatteryTag,
35 PBATTERY_NOTIFY BatteryNotify);
36
37 NTSTATUS
38 NTAPI
39 CmBattQueryInformation(PVOID Context,
40 ULONG BatteryTag,
41 BATTERY_QUERY_INFORMATION_LEVEL Level,
42 OPTIONAL LONG AtRate,
43 PVOID Buffer,
44 ULONG BufferLength,
45 PULONG ReturnedLength);
46
47 NTSTATUS
48 NTAPI
49 CmBattQueryStatus(PVOID Context,
50 ULONG BatteryTag,
51 PBATTERY_STATUS BatteryStatus);
52
53 NTSTATUS
54 NTAPI
55 CmBattSetInformation(PVOID Context,
56 ULONG BatteryTag,
57 BATTERY_SET_INFORMATION_LEVEL Level,
58 OPTIONAL PVOID Buffer);