Logo Search packages:      
Sourcecode: wine-unstable version File versions  Download package

powrprof.h

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

Generated by  Doxygen 1.6.0   Back to index