| 1 |
/** |
| 2 |
* This file is part of the mingw-w64 runtime package. |
| 3 |
* No warranty is given; refer to the file DISCLAIMER within this package. |
| 4 |
*/ |
| 5 |
#ifndef _NAMEDPIPE_H_ |
| 6 |
#define _NAMEDPIPE_H_ |
| 7 |
|
| 8 |
#include <apiset.h> |
| 9 |
#include <apisetcconv.h> |
| 10 |
#include <minwindef.h> |
| 11 |
#include <minwinbase.h> |
| 12 |
|
| 13 |
#ifdef __cplusplus |
| 14 |
extern "C" { |
| 15 |
#endif |
| 16 |
|
| 17 |
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) |
| 18 |
WINADVAPI WINBOOL WINAPI ImpersonateNamedPipeClient (HANDLE hNamedPipe); |
| 19 |
#endif |
| 20 |
|
| 21 |
#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) || _WIN32_WINNT >= _WIN32_WINNT_WIN10 |
| 22 |
WINBASEAPI WINBOOL WINAPI CreatePipe (PHANDLE hReadPipe, PHANDLE hWritePipe, LPSECURITY_ATTRIBUTES lpPipeAttributes, DWORD nSize); |
| 23 |
WINBASEAPI WINBOOL WINAPI ConnectNamedPipe (HANDLE hNamedPipe, LPOVERLAPPED lpOverlapped); |
| 24 |
WINBASEAPI WINBOOL WINAPI DisconnectNamedPipe (HANDLE hNamedPipe); |
| 25 |
WINBASEAPI WINBOOL WINAPI SetNamedPipeHandleState (HANDLE hNamedPipe, LPDWORD lpMode, LPDWORD lpMaxCollectionCount, LPDWORD lpCollectDataTimeout); |
| 26 |
WINBASEAPI WINBOOL WINAPI PeekNamedPipe (HANDLE hNamedPipe, LPVOID lpBuffer, DWORD nBufferSize, LPDWORD lpBytesRead, LPDWORD lpTotalBytesAvail, LPDWORD lpBytesLeftThisMessage); |
| 27 |
WINBASEAPI WINBOOL WINAPI TransactNamedPipe (HANDLE hNamedPipe, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesRead, LPOVERLAPPED lpOverlapped); |
| 28 |
WINBASEAPI HANDLE WINAPI CreateNamedPipeW (LPCWSTR lpName, DWORD dwOpenMode, DWORD dwPipeMode, DWORD nMaxInstances, DWORD nOutBufferSize, DWORD nInBufferSize, DWORD nDefaultTimeOut, LPSECURITY_ATTRIBUTES lpSecurityAttributes); |
| 29 |
WINBASEAPI WINBOOL WINAPI WaitNamedPipeW (LPCWSTR lpNamedPipeName, DWORD nTimeOut); |
| 30 |
#if _WIN32_WINNT >= 0x0600 |
| 31 |
WINBASEAPI WINBOOL WINAPI GetNamedPipeClientComputerNameW (HANDLE Pipe, LPWSTR ClientComputerName, ULONG ClientComputerNameLength); |
| 32 |
#endif |
| 33 |
|
| 34 |
#ifdef UNICODE |
| 35 |
#define CreateNamedPipe CreateNamedPipeW |
| 36 |
#define WaitNamedPipe WaitNamedPipeW |
| 37 |
#define GetNamedPipeClientComputerName GetNamedPipeClientComputerNameW |
| 38 |
#endif |
| 39 |
#endif |
| 40 |
|
| 41 |
#ifdef __cplusplus |
| 42 |
} |
| 43 |
#endif |
| 44 |
#endif |