Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygencompbatt.h
Go to the documentation of this file.
00001 /* 00002 * PROJECT: ReactOS Composite Battery Driver 00003 * LICENSE: BSD - See COPYING.ARM in the top level directory 00004 * FILE: boot/drivers/bus/acpi/compbatt/compbatt.h 00005 * PURPOSE: Main Header File 00006 * PROGRAMMERS: ReactOS Portable Systems Group 00007 */ 00008 00009 #include <ntddk.h> 00010 #include <initguid.h> 00011 #include <batclass.h> 00012 #include <debug.h> 00013 #include <wdmguid.h> 00014 00015 #define COMPBATT_BATTERY_INFORMATION_PRESENT 0x04 00016 #define COMPBATT_TAG_ASSIGNED 0x80 00017 00018 typedef struct _COMPBATT_BATTERY_DATA 00019 { 00020 LIST_ENTRY BatteryLink; 00021 IO_REMOVE_LOCK RemoveLock; 00022 PDEVICE_OBJECT DeviceObject; 00023 PIRP Irp; 00024 WORK_QUEUE_ITEM WorkItem; 00025 BOOLEAN WaitFlag; 00026 BATTERY_WAIT_STATUS WaitStatus; 00027 union 00028 { 00029 BATTERY_WAIT_STATUS WorkerWaitStatus; 00030 BATTERY_STATUS WorkerStatus; 00031 }; 00032 ULONG Tag; 00033 ULONG Flags; 00034 BATTERY_INFORMATION BatteryInformation; 00035 BATTERY_STATUS BatteryStatus; 00036 ULONGLONG InterruptTime; 00037 UNICODE_STRING BatteryName; 00038 } COMPBATT_BATTERY_DATA, *PCOMPBATT_BATTERY_DATA; 00039 00040 typedef struct _COMPBATT_DEVICE_EXTENSION 00041 { 00042 PVOID ClassData; 00043 ULONG NextTag; 00044 LIST_ENTRY BatteryList; 00045 FAST_MUTEX Lock; 00046 ULONG Tag; 00047 ULONG Flags; 00048 BATTERY_INFORMATION BatteryInformation; 00049 BATTERY_STATUS BatteryStatus; 00050 ULONGLONG InterruptTime; 00051 POWER_STATE PowerState; 00052 ULONG LowCapacity; 00053 ULONG HighCapacity; 00054 PDEVICE_OBJECT AttachedDevice; 00055 PDEVICE_OBJECT DeviceObject; 00056 PVOID NotificationEntry; 00057 } COMPBATT_DEVICE_EXTENSION, *PCOMPBATT_DEVICE_EXTENSION; 00058 00059 NTSTATUS 00060 NTAPI 00061 CompBattAddDevice( 00062 IN PDRIVER_OBJECT DriverObject, 00063 IN PDEVICE_OBJECT PdoDeviceObject 00064 ); 00065 00066 NTSTATUS 00067 NTAPI 00068 CompBattPowerDispatch( 00069 IN PDEVICE_OBJECT DeviceObject, 00070 IN PIRP Irp 00071 ); 00072 00073 NTSTATUS 00074 NTAPI 00075 CompBattPnpDispatch( 00076 IN PDEVICE_OBJECT DeviceObject, 00077 IN PIRP Irp 00078 ); 00079 00080 NTSTATUS 00081 NTAPI 00082 CompBattQueryInformation( 00083 IN PCOMPBATT_DEVICE_EXTENSION FdoExtension, 00084 IN ULONG Tag, 00085 IN BATTERY_QUERY_INFORMATION_LEVEL InfoLevel, 00086 IN OPTIONAL LONG AtRate, 00087 IN PVOID Buffer, 00088 IN ULONG BufferLength, 00089 OUT PULONG ReturnedLength 00090 ); 00091 00092 NTSTATUS 00093 NTAPI 00094 CompBattQueryStatus( 00095 IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension, 00096 IN ULONG Tag, 00097 IN PBATTERY_STATUS BatteryStatus 00098 ); 00099 00100 NTSTATUS 00101 NTAPI 00102 CompBattSetStatusNotify( 00103 IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension, 00104 IN ULONG BatteryTag, 00105 IN PBATTERY_NOTIFY BatteryNotify 00106 ); 00107 00108 NTSTATUS 00109 NTAPI 00110 CompBattDisableStatusNotify( 00111 IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension 00112 ); 00113 00114 NTSTATUS 00115 NTAPI 00116 CompBattQueryTag( 00117 IN PCOMPBATT_DEVICE_EXTENSION DeviceExtension, 00118 OUT PULONG Tag 00119 ); 00120 00121 NTSTATUS 00122 NTAPI 00123 CompBattMonitorIrpComplete( 00124 IN PDEVICE_OBJECT DeviceObject, 00125 IN PIRP Irp, 00126 IN PKEVENT Event 00127 ); 00128 00129 NTSTATUS 00130 NTAPI 00131 CompBattMonitorIrpCompleteWorker( 00132 IN PCOMPBATT_BATTERY_DATA BatteryData 00133 ); 00134 00135 NTSTATUS 00136 NTAPI 00137 CompBattGetDeviceObjectPointer( 00138 IN PUNICODE_STRING DeviceName, 00139 IN ACCESS_MASK DesiredAccess, 00140 OUT PFILE_OBJECT *FileObject, 00141 OUT PDEVICE_OBJECT *DeviceObject 00142 ); 00143 00144 NTSTATUS 00145 NTAPI 00146 BatteryIoctl( 00147 IN ULONG IoControlCode, 00148 IN PDEVICE_OBJECT DeviceObject, 00149 IN PVOID InputBuffer, 00150 IN ULONG InputBufferLength, 00151 IN PVOID OutputBuffer, 00152 IN ULONG OutputBufferLength, 00153 IN BOOLEAN InternalDeviceIoControl 00154 ); 00155 00156 extern ULONG CompBattDebug; 00157 00158 /* EOF */ Generated on Sun May 27 2012 04:27:25 for ReactOS by
1.7.6.1
|