holdingarea/llvm/llvm-gcc4.2-2.7-x86-mingw32/include/powrprof.h
branchbug235_bringup_0
changeset 20 d2d6724aef32
equal deleted inserted replaced
19:da7c1a80df0d 20:d2d6724aef32
       
     1 #ifndef _POWRPROF_H
       
     2 #define _POWRPROF_H
       
     3 #if __GNUC__ >= 3
       
     4 #pragma GCC system_header
       
     5 #endif
       
     6 
       
     7 #ifdef __cplusplus
       
     8 extern "C" {
       
     9 #endif
       
    10 
       
    11 #define EnableMultiBatteryDisplay 2
       
    12 #define EnablePasswordLogon 4
       
    13 #define EnableSysTrayBatteryMeter 1
       
    14 #define EnableWakeOnRing 8
       
    15 #define EnableVideoDimDisplay 16
       
    16 #define NEWSCHEME (UINT)-1
       
    17 
       
    18 #ifndef RC_INVOKED
       
    19 #include <ntdef.h>  /* for NTSTATUS */
       
    20 typedef struct _GLOBAL_MACHINE_POWER_POLICY{
       
    21    ULONG Revision;
       
    22    SYSTEM_POWER_STATE LidOpenWakeAc;
       
    23    SYSTEM_POWER_STATE LidOpenWakeDc;
       
    24    ULONG BroadcastCapacityResolution;
       
    25 } GLOBAL_MACHINE_POWER_POLICY, *PGLOBAL_MACHINE_POWER_POLICY;
       
    26 typedef struct _GLOBAL_USER_POWER_POLICY{
       
    27    ULONG Revision;
       
    28    POWER_ACTION_POLICY PowerButtonAc;
       
    29    POWER_ACTION_POLICY PowerButtonDc;
       
    30    POWER_ACTION_POLICY SleepButtonAc;
       
    31    POWER_ACTION_POLICY SleepButtonDc;
       
    32    POWER_ACTION_POLICY LidCloseAc;
       
    33    POWER_ACTION_POLICY LidCloseDc;
       
    34    SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES];
       
    35    ULONG GlobalFlags;
       
    36 } GLOBAL_USER_POWER_POLICY, *PGLOBAL_USER_POWER_POLICY;
       
    37 typedef struct _GLOBAL_POWER_POLICY{
       
    38    GLOBAL_USER_POWER_POLICY user;
       
    39    GLOBAL_MACHINE_POWER_POLICY mach;
       
    40 } GLOBAL_POWER_POLICY, *PGLOBAL_POWER_POLICY;
       
    41 typedef struct _MACHINE_POWER_POLICY{
       
    42    ULONG Revision;
       
    43    SYSTEM_POWER_STATE MinSleepAc;
       
    44    SYSTEM_POWER_STATE MinSleepDc;
       
    45    SYSTEM_POWER_STATE ReducedLatencySleepAc;
       
    46    SYSTEM_POWER_STATE ReducedLatencySleepDc;
       
    47    ULONG DozeTimeoutAc;
       
    48    ULONG DozeTimeoutDc;
       
    49    ULONG DozeS4TimeoutAc;
       
    50    ULONG DozeS4TimeoutDc;
       
    51    UCHAR MinThrottleAc;
       
    52    UCHAR MinThrottleDc;
       
    53    UCHAR pad1[2];
       
    54    POWER_ACTION_POLICY OverThrottledAc;
       
    55    POWER_ACTION_POLICY OverThrottledDc;
       
    56 } MACHINE_POWER_POLICY, *PMACHINE_POWER_POLICY;
       
    57 typedef struct _MACHINE_PROCESSOR_POWER_POLICY {
       
    58    ULONG Revision;
       
    59    PROCESSOR_POWER_POLICY ProcessorPolicyAc;    
       
    60    PROCESSOR_POWER_POLICY ProcessorPolicyDc;    
       
    61 } MACHINE_PROCESSOR_POWER_POLICY, *PMACHINE_PROCESSOR_POWER_POLICY;
       
    62 typedef struct _USER_POWER_POLICY{
       
    63    ULONG Revision;
       
    64    POWER_ACTION_POLICY IdleAc;
       
    65    POWER_ACTION_POLICY IdleDc;
       
    66    ULONG IdleTimeoutAc;
       
    67    ULONG IdleTimeoutDc;
       
    68    UCHAR IdleSensitivityAc;
       
    69    UCHAR IdleSensitivityDc;
       
    70    UCHAR ThrottlePolicyAc;
       
    71    UCHAR ThrottlePolicyDc;
       
    72    SYSTEM_POWER_STATE MaxSleepAc;
       
    73    SYSTEM_POWER_STATE MaxSleepDc;
       
    74    ULONG Reserved[2];
       
    75    ULONG VideoTimeoutAc;
       
    76    ULONG VideoTimeoutDc;
       
    77    ULONG SpindownTimeoutAc;
       
    78    ULONG SpindownTimeoutDc;
       
    79    BOOLEAN OptimizeForPowerAc;
       
    80    BOOLEAN OptimizeForPowerDc;
       
    81    UCHAR FanThrottleToleranceAc;
       
    82    UCHAR FanThrottleToleranceDc;
       
    83    UCHAR ForcedThrottleAc;
       
    84    UCHAR ForcedThrottleDc;
       
    85 } USER_POWER_POLICY, *PUSER_POWER_POLICY;
       
    86 typedef struct _POWER_POLICY{
       
    87    USER_POWER_POLICY user;
       
    88    MACHINE_POWER_POLICY mach;
       
    89 } POWER_POLICY, *PPOWER_POLICY;
       
    90 typedef BOOLEAN (CALLBACK* PWRSCHEMESENUMPROC)(UINT, DWORD, LPTSTR, DWORD, LPTSTR, PPOWER_POLICY, LPARAM);
       
    91 typedef BOOLEAN (CALLBACK* PFNNTINITIATEPWRACTION)(POWER_ACTION, SYSTEM_POWER_STATE, ULONG, BOOLEAN);
       
    92 NTSTATUS WINAPI CallNtPowerInformation(POWER_INFORMATION_LEVEL, PVOID, ULONG, PVOID, ULONG);
       
    93 BOOLEAN WINAPI CanUserWritePwrScheme(VOID);
       
    94 BOOLEAN WINAPI DeletePwrScheme(UINT);
       
    95 BOOLEAN WINAPI EnumPwrSchemes(PWRSCHEMESENUMPROC, LPARAM);
       
    96 BOOLEAN WINAPI GetActivePwrScheme(PUINT);
       
    97 BOOLEAN WINAPI GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY);
       
    98 BOOLEAN WINAPI GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES);
       
    99 BOOLEAN WINAPI GetPwrDiskSpindownRange(PUINT, PUINT);
       
   100 BOOLEAN WINAPI IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY);
       
   101 BOOLEAN WINAPI IsPwrHibernateAllowed(VOID);
       
   102 BOOLEAN WINAPI IsPwrShutdownAllowed(VOID);
       
   103 BOOLEAN WINAPI IsPwrSuspendAllowed(VOID);
       
   104 BOOLEAN WINAPI ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
       
   105 BOOLEAN WINAPI ReadProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY);
       
   106 BOOLEAN WINAPI ReadPwrScheme(UINT, PPOWER_POLICY);
       
   107 BOOLEAN WINAPI SetActivePwrScheme(UINT, PGLOBAL_POWER_POLICY, PPOWER_POLICY);
       
   108 BOOLEAN WINAPI SetSuspendState(BOOLEAN, BOOLEAN, BOOLEAN);
       
   109 BOOLEAN WINAPI WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
       
   110 BOOLEAN WINAPI WriteProcessorPwrScheme(UINT, PMACHINE_PROCESSOR_POWER_POLICY);
       
   111 BOOLEAN WINAPI ValidatePowerPolicies(PGLOBAL_POWER_POLICY, PPOWER_POLICY);
       
   112 BOOLEAN WINAPI WritePwrScheme(PUINT, LPTSTR, LPTSTR, PPOWER_POLICY);
       
   113 
       
   114 #endif /* RC_INVOKED */
       
   115 
       
   116 #ifdef __cplusplus
       
   117 }
       
   118 #endif
       
   119 
       
   120 #endif /* _POWRPROF_H */