Based on
https://docs.microsoft.com/en-us/uwp/win32-and-com/win32-apis#apis-from-api-ms-win-core-processthreads-l1-1-0dll
---
mingw-w64-crt/Makefile.am | 4 ++
.../api-ms-win-core-processthreads-l1-1-0.def | 18 ++++++++
.../api-ms-win-core-processthreads-l1-1-1.def | 11 +++++
mingw-w64-crt/lib-common/mincore.mri | 4 +-
mingw-w64-crt/lib-common/windowsapp.mri | 2 +
.../api-ms-win-core-processthreads-l1-1-0.def | 18 ++++++++
.../api-ms-win-core-processthreads-l1-1-1.def | 11 +++++
mingw-w64-headers/include/processthreadsapi.h | 45 ++++++++++---------
8 files changed, 90 insertions(+), 23 deletions(-)
create mode 100644
mingw-w64-crt/lib-common/api-ms-win-core-processthreads-l1-1-0.def
create mode 100644
mingw-w64-crt/lib-common/api-ms-win-core-processthreads-l1-1-1.def
create mode 100644
mingw-w64-crt/lib32/api-ms-win-core-processthreads-l1-1-0.def
create mode 100644
mingw-w64-crt/lib32/api-ms-win-core-processthreads-l1-1-1.def
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index c38816e6..712b53bc 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -1679,6 +1679,8 @@ endif
%/libapi-ms-win-core-memory-l1-1-2.a \
%/libapi-ms-win-core-memory-l1-1-3.a \
%/libapi-ms-win-core-processenvironment-l1-2-0.a \
+ %/libapi-ms-win-core-processthreads-l1-1-0.a \
+ %/libapi-ms-win-core-processthreads-l1-1-1.a \
%/libapi-ms-win-core-processthreads-l1-1-2.a \
%/libapi-ms-win-core-processthreads-l1-1-3.a \
%/libapi-ms-win-core-profile-l1-1-0.a \
@@ -1768,6 +1770,8 @@ endif
%/libapi-ms-win-core-memory-l1-1-3.a \
%/libapi-ms-win-core-normalization-l1-1-0.a \
%/libapi-ms-win-core-processenvironment-l1-2-0.a \
+ %/libapi-ms-win-core-processthreads-l1-1-0.a \
+ %/libapi-ms-win-core-processthreads-l1-1-1.a \
%/libapi-ms-win-core-processthreads-l1-1-2.a \
%/libapi-ms-win-core-processthreads-l1-1-3.a \
%/libapi-ms-win-core-profile-l1-1-0.a \
diff --git a/mingw-w64-crt/lib-common/api-ms-win-core-processthreads-l1-1-0.def
b/mingw-w64-crt/lib-common/api-ms-win-core-processthreads-l1-1-0.def
new file mode 100644
index 00000000..a776021b
--- /dev/null
+++ b/mingw-w64-crt/lib-common/api-ms-win-core-processthreads-l1-1-0.def
@@ -0,0 +1,18 @@
+LIBRARY api-ms-win-core-processthreads-l1-1-0
+
+EXPORTS
+
+CreateProcessA
+CreateProcessW
+GetExitCodeProcess
+GetPriorityClass
+GetProcessId
+GetProcessTimes
+GetThreadPriorityBoost
+OpenProcessToken
+OpenThread
+OpenThreadToken
+SetPriorityClass
+SetThreadPriorityBoost
+SetThreadToken
+ExitProcess
diff --git a/mingw-w64-crt/lib-common/api-ms-win-core-processthreads-l1-1-1.def
b/mingw-w64-crt/lib-common/api-ms-win-core-processthreads-l1-1-1.def
new file mode 100644
index 00000000..e8f12835
--- /dev/null
+++ b/mingw-w64-crt/lib-common/api-ms-win-core-processthreads-l1-1-1.def
@@ -0,0 +1,11 @@
+LIBRARY api-ms-win-core-processthreads-l1-1-1
+
+EXPORTS
+
+FlushInstructionCache
+GetCurrentProcessorNumber
+GetCurrentProcessorNumberEx
+GetCurrentThreadStackLimits
+GetProcessMitigationPolicy
+GetThreadIdealProcessorEx
+GetThreadTimes
diff --git a/mingw-w64-crt/lib-common/mincore.mri
b/mingw-w64-crt/lib-common/mincore.mri
index e48a0bc5..57471947 100644
--- a/mingw-w64-crt/lib-common/mincore.mri
+++ b/mingw-w64-crt/lib-common/mincore.mri
@@ -60,8 +60,8 @@ ADDLIB libapi-ms-win-core-memory-l1-1-3.a
; FIXME libapi-ms-win-core-processenvironment-l1-1-0.a
ADDLIB libapi-ms-win-core-processenvironment-l1-2-0.a
; FIXME libapi-ms-win-core-processsnapshot-l1-1-0.a
-; FIXME libapi-ms-win-core-processthreads-l1-1-0.a
-; FIXME libapi-ms-win-core-processthreads-l1-1-1.a
+ADDLIB libapi-ms-win-core-processthreads-l1-1-0.a
+ADDLIB libapi-ms-win-core-processthreads-l1-1-1.a
ADDLIB libapi-ms-win-core-processthreads-l1-1-2.a
ADDLIB libapi-ms-win-core-processthreads-l1-1-3.a
; FIXME libapi-ms-win-core-processtopology-l1-1-0.a
diff --git a/mingw-w64-crt/lib-common/windowsapp.mri
b/mingw-w64-crt/lib-common/windowsapp.mri
index 003b7cc2..cf956d35 100644
--- a/mingw-w64-crt/lib-common/windowsapp.mri
+++ b/mingw-w64-crt/lib-common/windowsapp.mri
@@ -30,6 +30,8 @@ ADDLIB libapi-ms-win-core-memory-l1-1-2.a
ADDLIB libapi-ms-win-core-memory-l1-1-3.a
ADDLIB libapi-ms-win-core-normalization-l1-1-0.a
ADDLIB libapi-ms-win-core-processenvironment-l1-2-0.a
+ADDLIB libapi-ms-win-core-processthreads-l1-1-0.a
+ADDLIB libapi-ms-win-core-processthreads-l1-1-1.a
ADDLIB libapi-ms-win-core-processthreads-l1-1-2.a
ADDLIB libapi-ms-win-core-processthreads-l1-1-3.a
ADDLIB libapi-ms-win-core-profile-l1-1-0.a
diff --git a/mingw-w64-crt/lib32/api-ms-win-core-processthreads-l1-1-0.def
b/mingw-w64-crt/lib32/api-ms-win-core-processthreads-l1-1-0.def
new file mode 100644
index 00000000..8f667238
--- /dev/null
+++ b/mingw-w64-crt/lib32/api-ms-win-core-processthreads-l1-1-0.def
@@ -0,0 +1,18 @@
+LIBRARY api-ms-win-core-processthreads-l1-1-0
+
+EXPORTS
+
+CreateProcessA@40
+CreateProcessW@40
+GetExitCodeProcess@8
+GetPriorityClass@4
+GetProcessId@4
+GetProcessTimes@20
+GetThreadPriorityBoost@8
+OpenProcessToken@12
+OpenThread@12
+OpenThreadToken@16
+SetPriorityClass@8
+SetThreadPriorityBoost@8
+SetThreadToken@8
+ExitProcess@4
diff --git a/mingw-w64-crt/lib32/api-ms-win-core-processthreads-l1-1-1.def
b/mingw-w64-crt/lib32/api-ms-win-core-processthreads-l1-1-1.def
new file mode 100644
index 00000000..42012ff9
--- /dev/null
+++ b/mingw-w64-crt/lib32/api-ms-win-core-processthreads-l1-1-1.def
@@ -0,0 +1,11 @@
+LIBRARY api-ms-win-core-processthreads-l1-1-1
+
+EXPORTS
+
+FlushInstructionCache@12
+GetCurrentProcessorNumber@0
+GetCurrentProcessorNumberEx@4
+GetCurrentThreadStackLimits@8
+GetProcessMitigationPolicy@16
+GetThreadIdealProcessorEx@8
+GetThreadTimes@20
diff --git a/mingw-w64-headers/include/processthreadsapi.h
b/mingw-w64-headers/include/processthreadsapi.h
index 717513e6..931a6f13 100644
--- a/mingw-w64-headers/include/processthreadsapi.h
+++ b/mingw-w64-headers/include/processthreadsapi.h
@@ -25,7 +25,29 @@ WINBASEAPI WINBOOL WINAPI TerminateProcess (HANDLE hProcess,
UINT uExitCode);
#endif
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >=
_WIN32_WINNT_WIN10
WINBASEAPI HANDLE WINAPI OpenProcess (DWORD dwDesiredAccess, WINBOOL
bInheritHandle, DWORD dwProcessId);
+
+ WINBASEAPI DWORD WINAPI QueueUserAPC (PAPCFUNC pfnAPC, HANDLE hThread,
ULONG_PTR dwData);
+ WINBASEAPI WINBOOL WINAPI GetProcessTimes (HANDLE hProcess, LPFILETIME
lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME
lpUserTime);
+ WINBASEAPI DECLSPEC_NORETURN VOID WINAPI ExitProcess (UINT uExitCode);
+ WINBASEAPI WINBOOL WINAPI GetExitCodeProcess (HANDLE hProcess, LPDWORD
lpExitCode);
+ WINBASEAPI WINBOOL WINAPI SwitchToThread (VOID);
+ WINBASEAPI HANDLE WINAPI OpenThread (DWORD dwDesiredAccess, WINBOOL
bInheritHandle, DWORD dwThreadId);
+ WINBASEAPI WINBOOL WINAPI SetThreadPriorityBoost (HANDLE hThread, WINBOOL
bDisablePriorityBoost);
+ WINBASEAPI WINBOOL WINAPI GetThreadPriorityBoost (HANDLE hThread, PBOOL
pDisablePriorityBoost);
+ WINADVAPI WINBOOL APIENTRY SetThreadToken (PHANDLE Thread, HANDLE Token);
+ WINADVAPI WINBOOL WINAPI OpenProcessToken (HANDLE ProcessHandle, DWORD
DesiredAccess, PHANDLE TokenHandle);
+ WINADVAPI WINBOOL WINAPI OpenThreadToken (HANDLE ThreadHandle, DWORD
DesiredAccess, WINBOOL OpenAsSelf, PHANDLE TokenHandle);
+ WINBASEAPI WINBOOL WINAPI SetPriorityClass (HANDLE hProcess, DWORD
dwPriorityClass);
+ WINBASEAPI DWORD WINAPI GetPriorityClass (HANDLE hProcess);
+ WINBASEAPI DWORD WINAPI GetProcessId (HANDLE Process);
+ WINBASEAPI DWORD WINAPI GetThreadId (HANDLE Thread);
+ WINBASEAPI WINBOOL WINAPI GetThreadContext (HANDLE hThread, LPCONTEXT
lpContext);
+ WINBASEAPI WINBOOL WINAPI FlushInstructionCache (HANDLE hProcess, LPCVOID
lpBaseAddress, SIZE_T dwSize);
+ WINBASEAPI WINBOOL WINAPI GetThreadTimes (HANDLE hThread, LPFILETIME
lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME
lpUserTime);
+ WINBASEAPI DWORD WINAPI GetCurrentProcessorNumber (VOID);
+
#endif
+
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
typedef struct _PROCESS_INFORMATION {
@@ -35,6 +57,8 @@ WINBASEAPI WINBOOL WINAPI TerminateProcess (HANDLE hProcess,
UINT uExitCode);
DWORD dwThreadId;
} PROCESS_INFORMATION, *PPROCESS_INFORMATION, *LPPROCESS_INFORMATION;
+ typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST,
*LPPROC_THREAD_ATTRIBUTE_LIST;
+
typedef struct _STARTUPINFOA {
DWORD cb;
LPSTR lpReserved;
@@ -80,37 +104,16 @@ WINBASEAPI WINBOOL WINAPI TerminateProcess (HANDLE
hProcess, UINT uExitCode);
__MINGW_TYPEDEF_AW(STARTUPINFO)
__MINGW_TYPEDEF_AW(LPSTARTUPINFO)
- typedef struct _PROC_THREAD_ATTRIBUTE_LIST *PPROC_THREAD_ATTRIBUTE_LIST,
*LPPROC_THREAD_ATTRIBUTE_LIST;
-
- WINBASEAPI DWORD WINAPI QueueUserAPC (PAPCFUNC pfnAPC, HANDLE hThread,
ULONG_PTR dwData);
- WINBASEAPI WINBOOL WINAPI GetProcessTimes (HANDLE hProcess, LPFILETIME
lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME
lpUserTime);
- WINBASEAPI DECLSPEC_NORETURN VOID WINAPI ExitProcess (UINT uExitCode);
- WINBASEAPI WINBOOL WINAPI GetExitCodeProcess (HANDLE hProcess, LPDWORD
lpExitCode);
- WINBASEAPI WINBOOL WINAPI SwitchToThread (VOID);
WINBASEAPI HANDLE WINAPI CreateRemoteThread (HANDLE hProcess,
LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD
dwCreationFlags, LPDWORD lpThreadId);
- WINBASEAPI HANDLE WINAPI OpenThread (DWORD dwDesiredAccess, WINBOOL
bInheritHandle, DWORD dwThreadId);
- WINBASEAPI WINBOOL WINAPI SetThreadPriorityBoost (HANDLE hThread, WINBOOL
bDisablePriorityBoost);
- WINBASEAPI WINBOOL WINAPI GetThreadPriorityBoost (HANDLE hThread, PBOOL
pDisablePriorityBoost);
WINBASEAPI WINBOOL WINAPI TerminateThread (HANDLE hThread, DWORD dwExitCode);
WINBASEAPI WINBOOL WINAPI SetProcessShutdownParameters (DWORD dwLevel, DWORD
dwFlags);
WINBASEAPI DWORD WINAPI GetProcessVersion (DWORD ProcessId);
WINBASEAPI VOID WINAPI GetStartupInfoW (LPSTARTUPINFOW lpStartupInfo);
- WINADVAPI WINBOOL APIENTRY SetThreadToken (PHANDLE Thread, HANDLE Token);
- WINADVAPI WINBOOL WINAPI OpenProcessToken (HANDLE ProcessHandle, DWORD
DesiredAccess, PHANDLE TokenHandle);
- WINADVAPI WINBOOL WINAPI OpenThreadToken (HANDLE ThreadHandle, DWORD
DesiredAccess, WINBOOL OpenAsSelf, PHANDLE TokenHandle);
- WINBASEAPI WINBOOL WINAPI SetPriorityClass (HANDLE hProcess, DWORD
dwPriorityClass);
WINBASEAPI WINBOOL WINAPI SetThreadStackGuarantee (PULONG StackSizeInBytes);
- WINBASEAPI DWORD WINAPI GetPriorityClass (HANDLE hProcess);
WINBASEAPI WINBOOL WINAPI ProcessIdToSessionId (DWORD dwProcessId, DWORD
*pSessionId);
- WINBASEAPI DWORD WINAPI GetProcessId (HANDLE Process);
- WINBASEAPI DWORD WINAPI GetThreadId (HANDLE Thread);
WINBASEAPI HANDLE WINAPI CreateRemoteThreadEx (HANDLE hProcess,
LPSECURITY_ATTRIBUTES lpThreadAttributes, SIZE_T dwStackSize,
LPTHREAD_START_ROUTINE lpStartAddress, LPVOID lpParameter, DWORD
dwCreationFlags, LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList, LPDWORD
lpThreadId);
- WINBASEAPI WINBOOL WINAPI GetThreadContext (HANDLE hThread, LPCONTEXT
lpContext);
WINBASEAPI WINBOOL WINAPI SetThreadContext (HANDLE hThread, CONST CONTEXT
*lpContext);
- WINBASEAPI WINBOOL WINAPI FlushInstructionCache (HANDLE hProcess, LPCVOID
lpBaseAddress, SIZE_T dwSize);
- WINBASEAPI WINBOOL WINAPI GetThreadTimes (HANDLE hThread, LPFILETIME
lpCreationTime, LPFILETIME lpExitTime, LPFILETIME lpKernelTime, LPFILETIME
lpUserTime);
WINBASEAPI WINBOOL WINAPI GetProcessHandleCount (HANDLE hProcess, PDWORD
pdwHandleCount);
- WINBASEAPI DWORD WINAPI GetCurrentProcessorNumber (VOID);
#ifdef UNICODE
#define GetStartupInfo GetStartupInfoW
--
2.20.1
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public