comparison fuhtark_test/include/winapi/powrprof.h @ 1500:91c8c3b7cbf0

add: futhark tests for generating vulkan api
author sam <sam@basx.dev>
date Wed, 26 Nov 2025 21:36:48 +0700
parents
children
comparison
equal deleted inserted replaced
1499:1f58458b7ef7 1500:91c8c3b7cbf0
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the w64 mingw-runtime package.
4 * No warranty is given; refer to the file DISCLAIMER within this package.
5 */
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 typedef struct _GLOBAL_MACHINE_POWER_POLICY{
11 ULONG Revision;
12 SYSTEM_POWER_STATE LidOpenWakeAc;
13 SYSTEM_POWER_STATE LidOpenWakeDc;
14 ULONG BroadcastCapacityResolution;
15 } GLOBAL_MACHINE_POWER_POLICY,*PGLOBAL_MACHINE_POWER_POLICY;
16
17 typedef struct _GLOBAL_USER_POWER_POLICY{
18 ULONG Revision;
19 POWER_ACTION_POLICY PowerButtonAc;
20 POWER_ACTION_POLICY PowerButtonDc;
21 POWER_ACTION_POLICY SleepButtonAc;
22 POWER_ACTION_POLICY SleepButtonDc;
23 POWER_ACTION_POLICY LidCloseAc;
24 POWER_ACTION_POLICY LidCloseDc;
25 SYSTEM_POWER_LEVEL DischargePolicy[NUM_DISCHARGE_POLICIES];
26 ULONG GlobalFlags;
27 } GLOBAL_USER_POWER_POLICY,*PGLOBAL_USER_POWER_POLICY;
28
29 typedef struct _GLOBAL_POWER_POLICY{
30 GLOBAL_USER_POWER_POLICY user;
31 GLOBAL_MACHINE_POWER_POLICY mach;
32 } GLOBAL_POWER_POLICY,*PGLOBAL_POWER_POLICY;
33
34 typedef struct _MACHINE_POWER_POLICY{
35 ULONG Revision;
36 SYSTEM_POWER_STATE MinSleepAc;
37 SYSTEM_POWER_STATE MinSleepDc;
38 SYSTEM_POWER_STATE ReducedLatencySleepAc;
39 SYSTEM_POWER_STATE ReducedLatencySleepDc;
40 ULONG DozeTimeoutAc;
41 ULONG DozeTimeoutDc;
42 ULONG DozeS4TimeoutAc;
43 ULONG DozeS4TimeoutDc;
44 UCHAR MinThrottleAc;
45 UCHAR MinThrottleDc;
46 UCHAR pad1[2];
47 POWER_ACTION_POLICY OverThrottledAc;
48 POWER_ACTION_POLICY OverThrottledDc;
49 } MACHINE_POWER_POLICY,*PMACHINE_POWER_POLICY;
50
51 typedef struct _MACHINE_PROCESSOR_POWER_POLICY {
52 ULONG Revision;
53 PROCESSOR_POWER_POLICY ProcessorPolicyAc;
54 PROCESSOR_POWER_POLICY ProcessorPolicyDc;
55 } MACHINE_PROCESSOR_POWER_POLICY,*PMACHINE_PROCESSOR_POWER_POLICY;
56
57 typedef struct _USER_POWER_POLICY{
58 ULONG Revision;
59 POWER_ACTION_POLICY IdleAc;
60 POWER_ACTION_POLICY IdleDc;
61 ULONG IdleTimeoutAc;
62 ULONG IdleTimeoutDc;
63 UCHAR IdleSensitivityAc;
64 UCHAR IdleSensitivityDc;
65 UCHAR ThrottlePolicyAc;
66 UCHAR ThrottlePolicyDc;
67 SYSTEM_POWER_STATE MaxSleepAc;
68 SYSTEM_POWER_STATE MaxSleepDc;
69 ULONG Reserved[2];
70 ULONG VideoTimeoutAc;
71 ULONG VideoTimeoutDc;
72 ULONG SpindownTimeoutAc;
73 ULONG SpindownTimeoutDc;
74 BOOLEAN OptimizeForPowerAc;
75 BOOLEAN OptimizeForPowerDc;
76 UCHAR FanThrottleToleranceAc;
77 UCHAR FanThrottleToleranceDc;
78 UCHAR ForcedThrottleAc;
79 UCHAR ForcedThrottleDc;
80 } USER_POWER_POLICY,*PUSER_POWER_POLICY;
81
82 typedef struct _POWER_POLICY{
83 USER_POWER_POLICY user;
84 MACHINE_POWER_POLICY mach;
85 } POWER_POLICY,*PPOWER_POLICY;
86
87 #define EnableSysTrayBatteryMeter 0x01
88 #define EnableMultiBatteryDisplay 0x02
89 #define EnablePasswordLogon 0x04
90 #define EnableWakeOnRing 0x08
91 #define EnableVideoDimDisplay 0x10
92
93 #define NEWSCHEME (UINT)-1
94
95 typedef BOOLEAN (CALLBACK *PWRSCHEMESENUMPROC)(UINT,DWORD,LPTSTR,DWORD,LPTSTR,PPOWER_POLICY,LPARAM);
96 typedef BOOLEAN (CALLBACK *PFNNTINITIATEPWRACTION)(POWER_ACTION,SYSTEM_POWER_STATE,ULONG,BOOLEAN);
97
98 BOOLEAN WINAPI GetPwrDiskSpindownRange(PUINT,PUINT);
99 BOOLEAN WINAPI EnumPwrSchemes(PWRSCHEMESENUMPROC,LPARAM);
100 BOOLEAN WINAPI ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
101 BOOLEAN WINAPI ReadPwrScheme(UINT,PPOWER_POLICY);
102 BOOLEAN WINAPI WritePwrScheme(PUINT,LPTSTR,LPTSTR,PPOWER_POLICY);
103 BOOLEAN WINAPI WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY);
104 BOOLEAN WINAPI DeletePwrScheme(UINT);
105 BOOLEAN WINAPI GetActivePwrScheme(PUINT);
106 BOOLEAN WINAPI SetActivePwrScheme(UINT,PGLOBAL_POWER_POLICY,PPOWER_POLICY);
107 BOOLEAN WINAPI GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES);
108 BOOLEAN WINAPI IsPwrSuspendAllowed(VOID);
109 BOOLEAN WINAPI IsPwrHibernateAllowed(VOID);
110 BOOLEAN WINAPI IsPwrShutdownAllowed(VOID);
111 BOOLEAN WINAPI IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY);
112 BOOLEAN WINAPI SetSuspendState(BOOLEAN,BOOLEAN,BOOLEAN);
113 BOOLEAN WINAPI GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY,PPOWER_POLICY);
114 BOOLEAN WINAPI CanUserWritePwrScheme(VOID);
115 BOOLEAN WINAPI ReadProcessorPwrScheme(UINT,PMACHINE_PROCESSOR_POWER_POLICY);
116 BOOLEAN WINAPI WriteProcessorPwrScheme(UINT,PMACHINE_PROCESSOR_POWER_POLICY);
117 BOOLEAN WINAPI ValidatePowerPolicies(PGLOBAL_POWER_POLICY,PPOWER_POLICY);
118 #ifndef NT_SUCCESS
119 #define NTSTATUS LONG
120 #define _OVERRIDE_NTSTATUS_
121 #endif
122
123 NTSTATUS WINAPI CallNtPowerInformation(POWER_INFORMATION_LEVEL,PVOID,ULONG,PVOID,ULONG);
124
125 #ifdef _OVERRIDE_NTSTATUS_
126 #undef NTSTATUS
127 #endif
128
129 #ifdef __cplusplus
130 }
131 #endif