| /* | |
| * Copyright (C) 2005 Benjamin Cutler | |
| * | |
| * This library is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU Lesser General Public | |
| * License as published by the Free Software Foundation; either | |
| * version 2.1 of the License, or (at your option) any later version. | |
| * | |
| * This library is distributed in the hope that it will be useful, | |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
| * Lesser General Public License for more details. | |
| * | |
| * You should have received a copy of the GNU Lesser General Public | |
| * License along with this library; if not, write to the Free Software | |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA | |
| */ | |
| #ifndef __WINE_POWRPROF_H | |
| #define __WINE_POWRPROF_H 1 | |
| #define EnableSysTrayBatteryMeter 0x01 | |
| #define EnableMultiBatteryDisplay 0x02 | |
| #define EnablePasswordLogon 0x04 | |
| #define EnableWakeOnRing 0x08 | |
| #define EnableVideoDimDisplay 0x10 | |
| typedef struct _GLOBAL_MACHINE_POWER_POLICY { | |
| ULONG Revision; | |
| SYSTEM_POWER_STATE LidOpenWakeAc; | |
| SYSTEM_POWER_STATE LidOpenWakeDc; | |
| ULONG BroadcastCapacityResolution; | |
| } GLOBAL_MACHINE_POWER_POLICY, | |
| *PGLOBAL_MACHINE_POWER_POLICY; | |
| typedef struct _GLOBAL_USER_POWER_POLICY { | |
| ULONG Revision; | |
| POWER_ACTION_POLICY PowerButtonAc; | |
| POWER_ACTION_POLICY PowerButtonDc; | |
| POWER_ACTION_POLICY SleepButtonAc; | |
| POWER_ACTION_POLICY SleepButtonDc; | |
| POWER_ACTION_POLICY LidCloseAc; | |
| POWER_ACTION_POLICY LidCloseDc; | |
| SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES]; | |
| ULONG GlobalFlags; | |
| } GLOBAL_USER_POWER_POLICY, | |
| *PGLOBAL_USER_POWER_POLICY; | |
| typedef struct _GLOBAL_POWER_POLICY { | |
| GLOBAL_USER_POWER_POLICY user; | |
| GLOBAL_MACHINE_POWER_POLICY mach; | |
| } GLOBAL_POWER_POLICY, | |
| *PGLOBAL_POWER_POLICY; | |
| typedef struct _MACHINE_POWER_POLICY { | |
| ULONG Revision; | |
| SYSTEM_POWER_STATE MinSleepAc; | |
| SYSTEM_POWER_STATE MinSleepDc; | |
| SYSTEM_POWER_STATE ReducedLatencySleepAc; | |
| SYSTEM_POWER_STATE ReducedLatencySleepDc; | |
| ULONG DozeTimeoutAc; | |
| ULONG DozeTimeoutDc; | |
| ULONG DozeS4TimeoutAc; | |
| ULONG DozeS4TimeoutDc; | |
| UCHAR MinThrottleAc; | |
| UCHAR MinThrottleDc; | |
| UCHAR pad1[2]; | |
| POWER_ACTION_POLICY OverThrottledAc; | |
| POWER_ACTION_POLICY OverThrottledDc; | |
| } MACHINE_POWER_POLICY, | |
| *PMACHINE_POWER_POLICY; | |
| typedef struct _MACHINE_PROCESSOR_POWER_POLICY { | |
| ULONG Revision; | |
| PROCESSOR_POWER_POLICY ProcessorPolicyAc; | |
| PROCESSOR_POWER_POLICY ProcessorPolicyDc; | |
| } MACHINE_PROCESSOR_POWER_POLICY, | |
| *PMACHINE_PROCESSOR_POWER_POLICY; | |
| typedef struct _USER_POWER_POLICY { | |
| ULONG Revision; | |
| POWER_ACTION_POLICY IdleAc; | |
| POWER_ACTION_POLICY IdleDc; | |
| ULONG IdleTimeoutAc; | |
| ULONG IdleTimeoutDc; | |
| UCHAR IdleSensitivityAc; | |
| UCHAR IdleSensitivityDc; | |
| UCHAR ThrottlePolicyAc; | |
| UCHAR ThrottlePolicyDc; | |
| SYSTEM_POWER_STATE MaxSleepAc; | |
| SYSTEM_POWER_STATE MaxSleepDc; | |
| ULONG Reserved[2]; | |
| ULONG VideoTimeoutAc; | |
| ULONG VideoTimeoutDc; | |
| ULONG SpindownTimeoutAc; | |
| ULONG SpindownTimeoutDc; | |
| BOOLEAN OptimizeForPowerAc; | |
| BOOLEAN OptimizeForPowerDc; | |
| UCHAR FanThrottleToleranceAc; | |
| UCHAR FanThrottleToleranceDc; | |
| UCHAR ForcedThrottleAc; | |
| UCHAR ForcedThrottleDc; | |
| } USER_POWER_POLICY, | |
| *PUSER_POWER_POLICY; | |
| typedef struct _POWER_POLICY { | |
| USER_POWER_POLICY user; | |
| MACHINE_POWER_POLICY mach; | |
| } POWER_POLICY, | |
| *PPOWER_POLICY; | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| typedef BOOLEAN (CALLBACK* PWRSCHEMESENUMPROC)(UINT, DWORD, LPWSTR, DWORD, LPWSTR, PPOWER_POLICY, LPARAM); | |
| NTSTATUS WINAPI CallNtPowerInformation(POWER_INFORMATION_LEVEL, PVOID, ULONG, PVOID, ULONG); | |
| BOOLEAN WINAPI CanUserWritePwrScheme(VOID); | |
| BOOLEAN WINAPI DeletePwrScheme(UINT); | |
| BOOLEAN WINAPI EnumPwrSchemes(PWRSCHEMESENUMPROC, LPARAM); | |
| BOOLEAN WINAPI GetActivePwrScheme(PUINT); | |
| BOOLEAN WINAPI GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY); | |
| BOOLEAN WINAPI GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES); | |
| BOOLEAN WINAPI GetPwrDiskSpindownRange(PUINT, PUINT); | |
| BOOLEAN WINAPI IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY); | |
| BOOLEAN WINAPI IsPwrHibernateAllowed(VOID); | |
| BOOLEAN WINAPI IsPwrShutdownAllowed(VOID); | |
| BOOLEAN WINAPI IsPwrSuspendAllowed(VOID); | |
| BOOLEAN WINAPI ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY); | |
| BOOLEAN WINAPI ReadProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY); | |
| BOOLEAN WINAPI ReadPwrScheme(UINT, PPOWER_POLICY); | |
| BOOLEAN WINAPI SetActivePwrScheme(UINT, PGLOBAL_POWER_POLICY, PPOWER_POLICY); | |
| BOOLEAN WINAPI SetSuspendState(BOOLEAN, BOOLEAN, BOOLEAN); | |
| BOOLEAN WINAPI WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY); | |
| BOOLEAN WINAPI WriteProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY); | |
| BOOLEAN WINAPI WritePwrScheme(PUINT, LPWSTR, LPWSTR, PPOWER_POLICY); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif /* _POWRPROF_H */ |