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;
+}
+