summaryrefslogtreecommitdiffstats
path: root/public/sdk/inc/ntpoapi.h
diff options
context:
space:
mode:
Diffstat (limited to 'public/sdk/inc/ntpoapi.h')
-rw-r--r--public/sdk/inc/ntpoapi.h109
1 files changed, 109 insertions, 0 deletions
diff --git a/public/sdk/inc/ntpoapi.h b/public/sdk/inc/ntpoapi.h
new file mode 100644
index 000000000..1411695d9
--- /dev/null
+++ b/public/sdk/inc/ntpoapi.h
@@ -0,0 +1,109 @@
+/*++ BUILD Version: 0001 // Increment this if a change has global effects
+
+Copyright (c) 1995 Microsoft Corporation
+
+Module Name:
+
+ ntpoapi.h
+
+Abstract:
+
+ This module contains the user APIs for the NT Power Management.
+
+Author:
+
+Revision History:
+
+--*/
+
+#ifndef _NTPOAPI_
+#define _NTPOAPI_
+
+//
+// Power Management user APIs
+//
+
+// begin_ntddk begin_ntifs begin_nthal begin_ntminiport
+
+typedef enum _POWER_STATES {
+ PowerUnspecified = 0,
+ PowerUp,
+ PowerQuery,
+ PowerStandby,
+ PowerSuspend,
+ PowerHibernate,
+ PowerDown,
+ PowerDownRemove,
+ MaximumPowerState
+} POWER_STATE, *PPOWER_STATE;
+
+// end_ntddk end_nthal end_ntifs end_ntminiport
+
+NTSYSAPI
+NTSTATUS
+NTAPI
+NtSetSystemPowerState(
+ IN POWER_STATE SystemPowerState,
+ IN BOOLEAN NoResumeAlarm,
+ IN BOOLEAN ForcePowerDown
+ );
+
+// begin_ntddk begin_nthal begin_ntminiport
+
+typedef enum {
+ BatteryCurrent,
+ BatteryCycleCount,
+ BatteryDesignedChargeCapacity,
+ BatteryDeviceChemistry,
+ BatteryDeviceName,
+ BatteryFullChargeCapacity,
+ BatteryManufactureData,
+ BatteryManufactureName,
+ BatteryReportingUnits,
+ BatteryRemainingCapacity,
+ BatterySerialNumber,
+ BatterySuppliesSystemPower,
+ BatteryVoltage
+} BatteryInformationLevel, *PBatterInformationLevel;
+
+typedef struct _BATTERY_CHARGE_WAIT {
+ ULONG BatteryTag;
+ BOOLEAN ACOnLine;
+ BOOLEAN StatusCharging;
+ BOOLEAN StatusDischarging;
+ ULONG LowChargeMark;
+ ULONG HighChargeMark;
+} BATTERY_CHARGE_WAIT, *PBATTERY_CHARGE_WAIT;
+
+typedef struct _BATTERY_CHARGE {
+ ULONG BatteryTag;
+ BOOLEAN ACOnLine;
+ BOOLEAN StatusCharging;
+ BOOLEAN StatusDischarging;
+ ULONG EstimatedCharge;
+} BATTERY_CHARGE, *PBATTERY_CHARGE;
+
+
+//
+// Power management IOCTLs
+//
+
+#define IOCTL_SET_RESUME \
+ CTL_CODE(FILE_DEVICE_BATTERY, 0, METHOD_BUFFERED, FILE_READ_ACCESS)
+
+#define IOCTL_POWER_DOWN \
+ CTL_CODE(FILE_DEVICE_BATTERY, 1, METHOD_BUFFERED, FILE_READ_ACCESS)
+
+#define IOCTL_BATTERY_QUERY_INFORMATION \
+ CTL_CODE(FILE_DEVICE_BATTERY, 2, METHOD_BUFFERED, FILE_READ_ACCESS)
+
+#define IOCTL_BATTERY_CHARGE_STATUS \
+ CTL_CODE(FILE_DEVICE_BATTERY, 3, METHOD_BUFFERED, FILE_READ_ACCESS)
+
+#define IOCTL_BATTERY_SET_RESUME \
+ CTL_CODE(FILE_DEVICE_BATTERY, 4, METHOD_BUFFERED, FILE_READ_ACCESS)
+
+// end_ntddk end_nthal end_ntminiport
+
+#endif // _NTPOAPI_
+