From 3450ef95091fc4e090b9dfd666a2d691dfcbd21f Mon Sep 17 00:00:00 2001
From: Biswapriyo Nath <nathbap...@gmail.com>
Date: Sun, 4 Jul 2021 20:58:08 +0530
Subject: [PATCH 2/2] headers: Add more structures in processthreadsapi.h

Signed-off-by: Biswapriyo Nath <nathbap...@gmail.com>
---
 mingw-w64-headers/include/processthreadsapi.h | 77 +++++++++++++++++++
 1 file changed, 77 insertions(+)

diff --git a/mingw-w64-headers/include/processthreadsapi.h 
b/mingw-w64-headers/include/processthreadsapi.h
index a486343..fe71aa8 100644
--- a/mingw-w64-headers/include/processthreadsapi.h
+++ b/mingw-w64-headers/include/processthreadsapi.h
@@ -114,6 +114,70 @@ extern "C" {
     ProcessInformationClassMax
   } PROCESS_INFORMATION_CLASS;
 
+  typedef struct _APP_MEMORY_INFORMATION {
+    ULONG64 AvailableCommit;
+    ULONG64 PrivateCommitUsage;
+    ULONG64 PeakPrivateCommitUsage;
+    ULONG64 TotalCommitUsage;
+  } APP_MEMORY_INFORMATION, *PAPP_MEMORY_INFORMATION;
+
+  typedef enum _MACHINE_ATTRIBUTES {
+    UserEnabled = 0x00000001,
+    KernelEnabled = 0x00000002,
+    Wow64Container = 0x00000004
+  } MACHINE_ATTRIBUTES;
+#ifndef __WIDL__
+DEFINE_ENUM_FLAG_OPERATORS(MACHINE_ATTRIBUTES);
+#endif
+
+  typedef struct _PROCESS_MACHINE_INFORMATION {
+    USHORT ProcessMachine;
+    USHORT Res0;
+    MACHINE_ATTRIBUTES MachineAttributes;
+  } PROCESS_MACHINE_INFORMATION;
+
+#define PME_CURRENT_VERSION 1
+
+  typedef enum _PROCESS_MEMORY_EXHAUSTION_TYPE {
+    PMETypeFailFastOnCommitFailure,
+    PMETypeMax
+  } PROCESS_MEMORY_EXHAUSTION_TYPE, *PPROCESS_MEMORY_EXHAUSTION_TYPE;
+
+#define PME_FAILFAST_ON_COMMIT_FAIL_DISABLE 0x0
+#define PME_FAILFAST_ON_COMMIT_FAIL_ENABLE 0x1
+
+  typedef struct _PROCESS_MEMORY_EXHAUSTION_INFO {
+    USHORT Version;
+    USHORT Reserved;
+    PROCESS_MEMORY_EXHAUSTION_TYPE Type;
+    ULONG_PTR Value;
+  } PROCESS_MEMORY_EXHAUSTION_INFO, *PPROCESS_MEMORY_EXHAUSTION_INFO;
+
+#define PROCESS_POWER_THROTTLING_CURRENT_VERSION 1
+
+#define PROCESS_POWER_THROTTLING_EXECUTION_SPEED 0x1
+#define PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION 0x4
+
+#define PROCESS_POWER_THROTTLING_VALID_FLAGS 
(PROCESS_POWER_THROTTLING_EXECUTION_SPEED | 
PROCESS_POWER_THROTTLING_IGNORE_TIMER_RESOLUTION)
+
+  typedef struct _PROCESS_POWER_THROTTLING_STATE {
+    ULONG Version;
+    ULONG ControlMask;
+    ULONG StateMask;
+  } PROCESS_POWER_THROTTLING_STATE, *PPROCESS_POWER_THROTTLING_STATE;
+
+  typedef struct PROCESS_PROTECTION_LEVEL_INFORMATION {
+    DWORD ProtectionLevel;
+  } PROCESS_PROTECTION_LEVEL_INFORMATION;
+
+#define PROCESS_LEAP_SECOND_INFO_FLAG_ENABLE_SIXTY_SECOND 0x1
+#define PROCESS_LEAP_SECOND_INFO_VALID_FLAGS 
PROCESS_LEAP_SECOND_INFO_FLAG_ENABLE_SIXTY_SECOND
+
+  typedef struct _PROCESS_LEAP_SECOND_INFO {
+    ULONG Flags;
+    ULONG Reserved;
+  } PROCESS_LEAP_SECOND_INFO, *PPROCESS_LEAP_SECOND_INFO;
+
 #if _WIN32_WINNT >= 0x0602
   WINBASEAPI WINBOOL WINAPI GetProcessInformation (HANDLE hProcess, 
PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, 
DWORD ProcessInformationSize);
   WINBASEAPI WINBOOL WINAPI SetProcessInformation (HANDLE hProcess, 
PROCESS_INFORMATION_CLASS ProcessInformationClass, LPVOID ProcessInformation, 
DWORD ProcessInformationSize);
@@ -230,6 +294,19 @@ extern "C" {
 #if _WIN32_WINNT >= 0x0601
   WINBASEAPI WINBOOL WINAPI SetThreadIdealProcessorEx (HANDLE hThread, 
PPROCESSOR_NUMBER lpIdealProcessor, PPROCESSOR_NUMBER lpPreviousIdealProcessor);
 #endif
+#if NTDDI_VERSION >= NTDDI_WIN10_VB
+  WINBASEAPI WINBOOL WINAPI SetProcessDynamicEHContinuationTargets (HANDLE 
Process, USHORT NumberOfTargets, PPROCESS_DYNAMIC_EH_CONTINUATION_TARGET 
Targets);
+#endif
+#if NTDDI_VERSION >= NTDDI_WIN10_MN
+  typedef enum _QUEUE_USER_APC_FLAGS {
+    QUEUE_USER_APC_FLAGS_NONE = 0x0,
+    QUEUE_USER_APC_FLAGS_SPECIAL_USER_APC = 0x1
+  } QUEUE_USER_APC_FLAGS;
+  WINBASEAPI WINBOOL WINAPI QueueUserAPC2 (PAPCFUNC ApcRoutine, HANDLE Thread, 
ULONG_PTR Data, QUEUE_USER_APC_FLAGS Flags);
+#endif
+#if NTDDI_VERSION >= NTDDI_WIN10_FE
+  WINBASEAPI WINBOOL WINAPI SetProcessDynamicEnforcedCetCompatibleRanges 
(HANDLE Process, USHORT NumberOfRanges, PPROCESS_DYNAMIC_ENFORCED_ADDRESS_RANGE 
Ranges);
+#endif
 
 #endif
 
-- 
2.32.0

_______________________________________________
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to