ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

compbatt.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.