|  | /* | 
|  | * 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 */ |