Module: wine Branch: master Commit: d0ae2b0d3d9689b682a76821bf3737eb934ec131 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d0ae2b0d3d9689b682a76821bf...
Author: Michael Müller michael@fds-team.de Date: Mon Jun 29 06:27:34 2015 +0200
kernel32: Implement GetNumaProcessorNode.
---
dlls/kernel32/kernel32.spec | 2 +- dlls/kernel32/process.c | 21 +++++++++++++++++++++ dlls/kernel32/tests/process.c | 2 +- include/winbase.h | 1 + 4 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index 0070c98..3c40975 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -746,7 +746,7 @@ @ stdcall GetNumaNodeProcessorMask(long ptr) # @ stub GetNumaNodeProcessorMaskEx # @ stub GetNumaProcessorMap -# @ stub GetNumaProcessorNode +@ stdcall GetNumaProcessorNode(long ptr) # @ stub GetNumaProcessorNodeEx # @ stub GetNumaProximityNode # @ stub GetNumaProximityNodeEx diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c index 2c8074b..1cd6e47 100644 --- a/dlls/kernel32/process.c +++ b/dlls/kernel32/process.c @@ -3957,6 +3957,27 @@ BOOL WINAPI GetNumaAvailableMemoryNode(UCHAR node, PULONGLONG available_bytes) return FALSE; }
+/*********************************************************************** + * GetNumaProcessorNode (KERNEL32.@) + */ +BOOL WINAPI GetNumaProcessorNode(UCHAR processor, PUCHAR node) +{ + SYSTEM_INFO si; + + TRACE("(%d, %p)\n", processor, node); + + GetSystemInfo( &si ); + if (processor < si.dwNumberOfProcessors) + { + *node = 0; + return TRUE; + } + + *node = 0xFF; + SetLastError(ERROR_INVALID_PARAMETER); + return FALSE; +} + /********************************************************************** * GetProcessDEPPolicy (KERNEL32.@) */ diff --git a/dlls/kernel32/tests/process.c b/dlls/kernel32/tests/process.c index b4a435b..4145dce 100644 --- a/dlls/kernel32/tests/process.c +++ b/dlls/kernel32/tests/process.c @@ -2704,7 +2704,7 @@ static void test_GetNumaProcessorNode(void)
if (!pGetNumaProcessorNode) { - skip("GetNumaProcessorNode is missing\n"); + win_skip("GetNumaProcessorNode is missing\n"); return; }
diff --git a/include/winbase.h b/include/winbase.h index cc1081e..a1859b0 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -2052,6 +2052,7 @@ WINBASEAPI BOOL WINAPI GetNamedPipeHandleStateW(HANDLE,LPDWORD,LPDWORD,LP #define GetNamedPipeHandleState WINELIB_NAME_AW(GetNamedPipeHandleState) WINBASEAPI BOOL WINAPI GetNamedPipeInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD); WINBASEAPI VOID WINAPI GetNativeSystemInfo(LPSYSTEM_INFO); +WINBASEAPI BOOL WINAPI GetNumaProcessorNode(UCHAR,PUCHAR); WINADVAPI BOOL WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD); WINADVAPI BOOL WINAPI GetOldestEventLogRecord(HANDLE,PDWORD); WINBASEAPI BOOL WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);