Mercurial > games > semicongine
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/fuhtark_test/include/winapi/powrprof.h Wed Nov 26 21:36:48 2025 +0700 @@ -0,0 +1,131 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the w64 mingw-runtime package. + * No warranty is given; refer to the file DISCLAIMER within this package. + */ +#ifdef __cplusplus +extern "C" { +#endif + + 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; + +#define EnableSysTrayBatteryMeter 0x01 +#define EnableMultiBatteryDisplay 0x02 +#define EnablePasswordLogon 0x04 +#define EnableWakeOnRing 0x08 +#define EnableVideoDimDisplay 0x10 + +#define NEWSCHEME (UINT)-1 + + typedef BOOLEAN (CALLBACK *PWRSCHEMESENUMPROC)(UINT,DWORD,LPTSTR,DWORD,LPTSTR,PPOWER_POLICY,LPARAM); + typedef BOOLEAN (CALLBACK *PFNNTINITIATEPWRACTION)(POWER_ACTION,SYSTEM_POWER_STATE,ULONG,BOOLEAN); + + BOOLEAN WINAPI GetPwrDiskSpindownRange(PUINT,PUINT); + BOOLEAN WINAPI EnumPwrSchemes(PWRSCHEMESENUMPROC,LPARAM); + BOOLEAN WINAPI ReadGlobalPwrPolicy(PGLOBAL_POWER_POLICY); + BOOLEAN WINAPI ReadPwrScheme(UINT,PPOWER_POLICY); + BOOLEAN WINAPI WritePwrScheme(PUINT,LPTSTR,LPTSTR,PPOWER_POLICY); + BOOLEAN WINAPI WriteGlobalPwrPolicy(PGLOBAL_POWER_POLICY); + BOOLEAN WINAPI DeletePwrScheme(UINT); + BOOLEAN WINAPI GetActivePwrScheme(PUINT); + BOOLEAN WINAPI SetActivePwrScheme(UINT,PGLOBAL_POWER_POLICY,PPOWER_POLICY); + BOOLEAN WINAPI GetPwrCapabilities(PSYSTEM_POWER_CAPABILITIES); + BOOLEAN WINAPI IsPwrSuspendAllowed(VOID); + BOOLEAN WINAPI IsPwrHibernateAllowed(VOID); + BOOLEAN WINAPI IsPwrShutdownAllowed(VOID); + BOOLEAN WINAPI IsAdminOverrideActive(PADMINISTRATOR_POWER_POLICY); + BOOLEAN WINAPI SetSuspendState(BOOLEAN,BOOLEAN,BOOLEAN); + BOOLEAN WINAPI GetCurrentPowerPolicies(PGLOBAL_POWER_POLICY,PPOWER_POLICY); + BOOLEAN WINAPI CanUserWritePwrScheme(VOID); + BOOLEAN WINAPI ReadProcessorPwrScheme(UINT,PMACHINE_PROCESSOR_POWER_POLICY); + BOOLEAN WINAPI WriteProcessorPwrScheme(UINT,PMACHINE_PROCESSOR_POWER_POLICY); + BOOLEAN WINAPI ValidatePowerPolicies(PGLOBAL_POWER_POLICY,PPOWER_POLICY); +#ifndef NT_SUCCESS +#define NTSTATUS LONG +#define _OVERRIDE_NTSTATUS_ +#endif + + NTSTATUS WINAPI CallNtPowerInformation(POWER_INFORMATION_LEVEL,PVOID,ULONG,PVOID,ULONG); + +#ifdef _OVERRIDE_NTSTATUS_ +#undef NTSTATUS +#endif + +#ifdef __cplusplus +} +#endif
