Signed-off-by: Roman Stingler roman.stingler@gmail.com --- ...pi-ms-win-core-kernel32-legacy-l1-1-1.spec | 4 +- dlls/kernel32/kernel32.spec | 8 ++-- dlls/kernel32/process.c | 37 +++++++++++++++++++ dlls/kernelbase/kernelbase.spec | 3 +- include/ntdef.h | 2 + include/winbase.h | 8 ++++ 6 files changed, 55 insertions(+), 7 deletions(-)
diff --git a/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec b/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec index 5531d2dbd7..946e3de99e 100644 --- a/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec +++ b/dlls/api-ms-win-core-kernel32-legacy-l1-1-1/api-ms-win-core-kernel32-legacy-l1-1-1.spec @@ -29,9 +29,9 @@ @ stub GetMaximumProcessorGroupCount @ stdcall GetNamedPipeClientProcessId(long ptr) kernel32.GetNamedPipeClientProcessId @ stdcall GetNamedPipeServerProcessId(long ptr) kernel32.GetNamedPipeServerProcessId -@ stub GetNumaAvailableMemoryNodeEx +@ stdcall GetNumaAvailableMemoryNodeEx(long ptr) @ stdcall GetNumaNodeProcessorMask(long ptr) kernel32.GetNumaNodeProcessorMask -@ stub GetNumaProcessorNodeEx +@ stdcall GetNumaProcessorNodeEx(ptr ptr) @ stdcall GetShortPathNameA(str ptr long) kernel32.GetShortPathNameA @ stdcall GetStartupInfoA(ptr) kernel32.GetStartupInfoA @ stdcall GetStringTypeExA(long long str long ptr) kernel32.GetStringTypeExA diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index 295a4dbab6..08a9a9cd9d 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -742,16 +742,16 @@ # @ stub GetNLSVersionEx # @ stub GetNumaAvailableMemory @ stdcall GetNumaAvailableMemoryNode(long ptr) -# @ stub GetNumaAvailableMemoryNodeEx +@ stdcall GetNumaAvailableMemoryNodeEx(long ptr) @ stdcall GetNumaHighestNodeNumber(ptr) # @ stub GetNumaNodeNumberFromHandle @ stdcall GetNumaNodeProcessorMask(long ptr) @ stdcall GetNumaNodeProcessorMaskEx(long ptr) # @ stub GetNumaProcessorMap @ stdcall GetNumaProcessorNode(long ptr) -# @ stub GetNumaProcessorNodeEx -# @ stub GetNumaProximityNode -# @ stub GetNumaProximityNodeEx +@ stdcall GetNumaProcessorNodeEx(ptr ptr) +@ stdcall GetNumaProximityNode(long ptr) +@ stdcall GetNumaProximityNodeEx(long ptr) @ stdcall GetNumberFormatA(long long str ptr ptr long) @ stdcall GetNumberFormatEx(wstr long wstr ptr ptr long) @ stdcall GetNumberFormatW(long long wstr ptr ptr long) diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c index 09f0433deb..a5e0d8d089 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -4449,6 +4449,16 @@ BOOL WINAPI GetNumaAvailableMemoryNode(UCHAR node, PULONGLONG available_bytes) return FALSE; }
+/********************************************************************** + * GetNumaAvailableMemoryNodeEx (KERNEL32.@) + */ +BOOL WINAPI GetNumaAvailableMemoryNodeEx(USHORT node, PULONGLONG available_bytes) +{ + FIXME("(%c %p): stub\n", node, available_bytes); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + /*********************************************************************** * GetNumaProcessorNode (KERNEL32.@) */ @@ -4470,6 +4480,33 @@ BOOL WINAPI GetNumaProcessorNode(UCHAR processor, PUCHAR node) return FALSE; }
+/*********************************************************************** + * GetNumaProcessorNodeEx (KERNEL32.@) + */ +BOOL WINAPI GetNumaProcessorNodeEx(PPROCESSOR_NUMBER processor, PUSHORT node_number) +{ + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + +/*********************************************************************** + * GetNumaProximityNode (KERNEL32.@) + */ +BOOL WINAPI GetNumaProximityNode(ULONG proximity_id, PUCHAR node_number) +{ + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + +/*********************************************************************** + * GetNumaProximityNodeEx (KERNEL32.@) + */ +BOOL WINAPI GetNumaProximityNodeEx(ULONG proximity_id, PUSHORT node_number) +{ + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return FALSE; +} + /********************************************************************** * GetProcessDEPPolicy (KERNEL32.@) */ diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index 22ea65fe1c..abddb12533 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -576,7 +576,8 @@ # @ stub GetNextFgPolicyRefreshInfoInternal @ stdcall GetNumaHighestNodeNumber(ptr) kernel32.GetNumaHighestNodeNumber @ stdcall GetNumaNodeProcessorMaskEx(long ptr) kernel32.GetNumaNodeProcessorMaskEx -# @ stub GetNumaProximityNodeEx +@ stdcall GetNumaProximityNode(long ptr) kernel32.GetNumaProximityNode +@ stdcall GetNumaProximityNodeEx(long ptr) kernel32.GetNumaProximityNodeEx @ stdcall GetNumberFormatEx(wstr long wstr ptr ptr long) kernel32.GetNumberFormatEx @ stdcall GetNumberFormatW(long long wstr ptr ptr long) kernel32.GetNumberFormatW @ stdcall GetNumberOfConsoleInputEvents(long ptr) kernel32.GetNumberOfConsoleInputEvents diff --git a/include/ntdef.h b/include/ntdef.h index 83ecffd608..b9a27cabcb 100644 --- a/include/ntdef.h +++ b/include/ntdef.h @@ -39,6 +39,8 @@ typedef enum _WAIT_TYPE { WaitNotification } WAIT_TYPE;
+#define MAXUSHORT 0xffff + #ifdef __cplusplus } #endif diff --git a/include/winbase.h b/include/winbase.h index 3fdfec3d57..01fc4f5448 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -1680,6 +1680,7 @@ typedef enum _PROC_THREAD_ATTRIBUTE_NUM ProcThreadAttributeParentProcess = 0, ProcThreadAttributeHandleList = 2, ProcThreadAttributeGroupAffinity = 3, + ProcThreadAttributePreferredNode = 4, ProcThreadAttributeIdealProcessor = 5, ProcThreadAttributeUmsThread = 6, ProcThreadAttributeMitigationPolicy = 7, @@ -1695,6 +1696,7 @@ typedef enum _PROC_THREAD_ATTRIBUTE_NUM #define PROC_THREAD_ATTRIBUTE_PARENT_PROCESS (ProcThreadAttributeParentProcess | PROC_THREAD_ATTRIBUTE_INPUT) #define PROC_THREAD_ATTRIBUTE_HANDLE_LIST (ProcThreadAttributeHandleList | PROC_THREAD_ATTRIBUTE_INPUT) #define PROC_THREAD_ATTRIBUTE_GROUP_AFFINITY (ProcThreadAttributeGroupAffinity | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT) +#define PROC_THREAD_ATTRIBUTE_PREFERRED_NODE (ProcThreadAttributePreferredNode | PROC_THREAD_ATTRIBUTE_INPUT) #define PROC_THREAD_ATTRIBUTE_IDEAL_PROCESSOR (ProcThreadAttributeIdealProcessor | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT) #define PROC_THREAD_ATTRIBUTE_UMS_THREAD (ProcThreadAttributeUmsThread | PROC_THREAD_ATTRIBUTE_THREAD | PROC_THREAD_ATTRIBUTE_INPUT) #define PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY (ProcThreadAttributeMitigationPolicy | PROC_THREAD_ATTRIBUTE_INPUT) @@ -2184,6 +2186,12 @@ WINBASEAPI BOOL WINAPI GetNamedPipeServerSessionId(HANDLE,PULONG); WINBASEAPI VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO); WINBASEAPI PUMS_CONTEXT WINAPI GetNextUmsListItem(PUMS_CONTEXT); WINBASEAPI BOOL WINAPI GetNumaProcessorNode(UCHAR,PUCHAR); +WINBASEAPI BOOL WINAPI GetNumaAvailableMemoryNode(UCHAR,PULONGLONG); +WINBASEAPI BOOL WINAPI GetNumaNodeProcessorMaskEx(USHORT,PGROUP_AFFINITY); +WINBASEAPI BOOL WINAPI GetNumaProcessorNodeEx(PPROCESSOR_NUMBER,PUSHORT); +WINBASEAPI BOOL WINAPI GetNumaProximityNode(ULONG,PUCHAR); +WINBASEAPI BOOL WINAPI GetNumaAvailableMemoryNodeEx(USHORT,PULONGLONG); +WINBASEAPI BOOL WINAPI GetNumaProximityNodeEx(ULONG,PUSHORT); WINADVAPI BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD); WINADVAPI BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD); WINBASEAPI BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);