From e611b132f9b8abe35b362e5870b74bce94a1e58e Mon Sep 17 00:00:00 2001 From: Adam Date: Sat, 16 May 2020 20:51:50 -0700 Subject: initial commit --- public/sdk/inc/ntpoapi.h | 109 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 public/sdk/inc/ntpoapi.h (limited to 'public/sdk/inc/ntpoapi.h') 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_ + -- cgit v1.2.3