Add stubs for several named pipe functions.
diff --git a/dlls/kernel/kernel32.spec b/dlls/kernel/kernel32.spec
index 4b1c37d..98fe167 100644
--- a/dlls/kernel/kernel32.spec
+++ b/dlls/kernel/kernel32.spec
@@ -158,8 +158,8 @@
@ stdcall BuildCommDCBAndTimeoutsA(str ptr ptr) BuildCommDCBAndTimeoutsA
@ stdcall BuildCommDCBAndTimeoutsW(wstr ptr ptr) BuildCommDCBAndTimeoutsW
@ stdcall BuildCommDCBW(wstr ptr) BuildCommDCBW
-@ stub CallNamedPipeA
-@ stub CallNamedPipeW
+@ stdcall CallNamedPipeA(str ptr long ptr long ptr long) CallNamedPipeA
+@ stdcall CallNamedPipeW(wstr ptr long ptr long ptr long) CallNamedPipeW
@ stub Callback12
@ stub Callback16
@ stub Callback20
@@ -393,9 +393,9 @@
@ stdcall GetModuleFileNameW(long ptr long) GetModuleFileNameW
@ stdcall GetModuleHandleA(str) GetModuleHandleA
@ stdcall GetModuleHandleW(wstr) GetModuleHandleW
-@ stub GetNamedPipeHandleStateA
-@ stub GetNamedPipeHandleStateW
-@ stub GetNamedPipeInfo
+@ stdcall GetNamedPipeHandleStateA(long ptr ptr ptr ptr str long) GetNamedPipeHandleStateA
+@ stdcall GetNamedPipeHandleStateW(long ptr ptr ptr ptr wstr long) GetNamedPipeHandleStateW
+@ stdcall GetNamedPipeInfo(long ptr ptr ptr ptr) GetNamedPipeInfo
@ stdcall GetNumberFormatA(long long str ptr ptr long) GetNumberFormatA
@ stdcall GetNumberFormatW(long long wstr ptr ptr long) GetNumberFormatW
@ stdcall GetNumberOfConsoleInputEvents(long ptr) GetNumberOfConsoleInputEvents
@@ -702,7 +702,7 @@
@ stdcall SetLocaleInfoA(long long str) SetLocaleInfoA
@ stub SetLocaleInfoW
@ stub SetMailslotInfo
-@ stub SetNamedPipeHandleState
+@ stdcall SetNamedPipeHandleState(long ptr ptr ptr) SetNamedPipeHandleState
@ stdcall SetPriorityClass(long long) SetPriorityClass
@ stdcall SetProcessShutdownParameters(long long) SetProcessShutdownParameters
@ stdcall SetProcessWorkingSetSize(long long long) SetProcessWorkingSetSize
@@ -739,7 +739,7 @@
@ stdcall TlsGetValue(long) TlsGetValue
@ stdcall TlsSetValue(long ptr) TlsSetValue
@ stub Toolhelp32ReadProcessMemory
-@ stub TransactNamedPipe
+@ stdcall TransactNamedPipe(long ptr long ptr long ptr ptr) TransactNamedPipe
@ stdcall TransmitCommChar(long long) TransmitCommChar
@ stdcall UTRegister(long str str str ptr ptr ptr) UTRegister
@ stdcall UTUnRegister(long) UTUnRegister
diff --git a/dlls/kernel/sync.c b/dlls/kernel/sync.c
index 6d3e957..1638ffe 100644
--- a/dlls/kernel/sync.c
+++ b/dlls/kernel/sync.c
@@ -724,3 +724,102 @@
return ret;
}
+/***********************************************************************
+ * TransactNamedPipe (KERNEL32.@)
+ */
+BOOL WINAPI TransactNamedPipe(
+ HANDLE hPipe, LPVOID lpInput, DWORD dwInputSize, LPVOID lpOutput,
+ DWORD dwOutputSize, LPDWORD lpBytesRead, LPOVERLAPPED lpOverlapped)
+{
+ FIXME("%d %p %ld %p %ld %p %p\n",
+ hPipe, lpInput, dwInputSize, lpOutput,
+ dwOutputSize, lpBytesRead, lpOverlapped);
+ if(lpBytesRead)
+ *lpBytesRead=0;
+ return FALSE;
+}
+
+/***********************************************************************
+ * GetNamedPipeInfo (KERNEL32.@)
+ */
+BOOL WINAPI GetNamedPipeInfo(
+ HANDLE hNamedPipe, LPDWORD lpFlags, LPDWORD lpOutputBufferSize,
+ LPDWORD lpInputBufferSize, LPDWORD lpMaxInstances)
+{
+ FIXME("%d %p %p %p %p\n", hNamedPipe, lpFlags,
+ lpOutputBufferSize, lpInputBufferSize, lpMaxInstances);
+ return FALSE;
+}
+
+/***********************************************************************
+ * GetNamedPipeHandleStateA (KERNEL32.@)
+ */
+BOOL WINAPI GetNamedPipeHandleStateA(
+ HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances,
+ LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout,
+ LPSTR lpUsername, DWORD nUsernameMaxSize)
+{
+ FIXME("%d %p %p %p %p %p %ld\n",
+ hNamedPipe, lpState, lpCurInstances,
+ lpMaxCollectionCount, lpCollectDataTimeout,
+ lpUsername, nUsernameMaxSize);
+
+ return FALSE;
+}
+
+/***********************************************************************
+ * GetNamedPipeHandleStateW (KERNEL32.@)
+ */
+BOOL WINAPI GetNamedPipeHandleStateW(
+ HANDLE hNamedPipe, LPDWORD lpState, LPDWORD lpCurInstances,
+ LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout,
+ LPWSTR lpUsername, DWORD nUsernameMaxSize)
+{
+ FIXME("%d %p %p %p %p %p %ld\n",
+ hNamedPipe, lpState, lpCurInstances,
+ lpMaxCollectionCount, lpCollectDataTimeout,
+ lpUsername, nUsernameMaxSize);
+
+ return FALSE;
+}
+
+/***********************************************************************
+ * SetNamedPipeHandleState (KERNEL32.@)
+ */
+BOOL WINAPI SetNamedPipeHandleState(
+ HANDLE hNamedPipe, LPDWORD lpMode, LPDWORD lpMaxCollectionCount,
+ LPDWORD lpCollectDataTimeout)
+{
+ FIXME("%d %p %p %p\n",
+ hNamedPipe, lpMode, lpMaxCollectionCount, lpCollectDataTimeout);
+ return FALSE;
+}
+
+/***********************************************************************
+ * CallNamedPipeA (KERNEL32.@)
+ */
+BOOL WINAPI CallNamedPipeA(
+ LPCSTR lpNamedPipeName, LPVOID lpInput, DWORD lpInputSize,
+ LPVOID lpOutput, DWORD lpOutputSize,
+ LPDWORD lpBytesRead, DWORD nTimeout)
+{
+ FIXME("%s %p %ld %p %ld %p %ld\n",
+ debugstr_a(lpNamedPipeName), lpInput, lpInputSize,
+ lpOutput, lpOutputSize, lpBytesRead, nTimeout);
+ return FALSE;
+}
+
+/***********************************************************************
+ * CallNamedPipeW (KERNEL32.@)
+ */
+BOOL WINAPI CallNamedPipeW(
+ LPCWSTR lpNamedPipeName, LPVOID lpInput, DWORD lpInputSize,
+ LPVOID lpOutput, DWORD lpOutputSize,
+ LPDWORD lpBytesRead, DWORD nTimeout)
+{
+ FIXME("%s %p %ld %p %ld %p %ld\n",
+ debugstr_w(lpNamedPipeName), lpInput, lpInputSize,
+ lpOutput, lpOutputSize, lpBytesRead, nTimeout);
+ return FALSE;
+}
+