crt: Update processthreads libraries & header

Based on
https://docs.microsoft.com/en-us/uwp/win32-and-com/win32-apis#apis-from-api-ms-win-core-processthreads-l1-1-0dll

Signed-off-by: Liu Hao <lh_mouse@126.com>
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am
index 4e8823e..3afd57c 100644
--- a/mingw-w64-crt/Makefile.am
+++ b/mingw-w64-crt/Makefile.am
@@ -1682,6 +1682,8 @@
 		%/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 \
@@ -1771,6 +1773,8 @@
 		%/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 0000000..a776021
--- /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 0000000..e8f1283
--- /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 e48a0bc..5747194 100644
--- a/mingw-w64-crt/lib-common/mincore.mri
+++ b/mingw-w64-crt/lib-common/mincore.mri
@@ -60,8 +60,8 @@
 ; 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 003b7cc..cf956d3 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-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 0000000..8f66723
--- /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 0000000..42012ff
--- /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 717513e..931a6f1 100644
--- a/mingw-w64-headers/include/processthreadsapi.h
+++ b/mingw-w64-headers/include/processthreadsapi.h
@@ -25,7 +25,29 @@
 #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 @@
     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 @@
   __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