16 #define WIN32_LEAN_AND_MEAN 22 #pragma comment(lib, "wsock32") 30 #ifndef FILE_FLAG_FIRST_PIPE_INSTANCE 31 #define FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000 57 static void dbg_trace(
char mode,
const char*
buffer,
int l)
59 static char s_mode =
'\0';
74 if (*
p==
'\n' || !*
p ) {
119 int rem_len =
sizeof(rem_addr);
237 const char* pipe_name;
280 puts(
"\nnamed pipe connected, now waiting for TCP connection...");
286 puts(
"TCP connection established.");
305 puts(
"\nconnection closed.");
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
int main(int argc, char **argv)
VOID WINAPI DECLSPEC_HOTPATCH Sleep(IN DWORD dwMilliseconds)
SOCKET WSAAPI socket(IN INT af, IN INT type, IN INT protocol)
CRITICAL_SECTION CritSect
INT WSAAPI bind(IN SOCKET s, IN CONST struct sockaddr *name, IN INT namelen)
GLdouble GLdouble GLdouble r
static SOCKET s_srv_socket
BOOL WINAPI SetPriorityClass(IN HANDLE hProcess, IN DWORD dwPriorityClass)
#define INVALID_HANDLE_VALUE
DWORD WINAPI GetLastError(VOID)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
static DWORD WINAPI WriterThreadRoutine(LPVOID param)
#define sprintf(buf, format,...)
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
HANDLE WINAPI GetCurrentThread(VOID)
_CRTIMP void __cdecl perror(_In_opt_z_ const char *_ErrMsg)
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
#define THREAD_PRIORITY_HIGHEST
#define HIGH_PRIORITY_CLASS
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
INT WINAPI WSAStartup(IN WORD wVersionRequested, OUT LPWSADATA lpWSAData)
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
#define ERROR_PIPE_LISTENING
BOOL WINAPI SetThreadPriority(IN HANDLE hThread, IN int nPriority)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define PIPE_ACCESS_DUPLEX
INT WSAAPI send(IN SOCKET s, IN CONST CHAR FAR *buf, IN INT len, IN INT flags)
#define ERROR_BROKEN_PIPE
#define FILE_FLAG_FIRST_PIPE_INSTANCE
#define GetCurrentProcess()
SOCKET WSAAPI accept(IN SOCKET s, OUT LPSOCKADDR addr, OUT INT FAR *addrlen)
int puts(const char *string)
WriterThread(SOCKET sock, HANDLE hPipe)
#define ReadFile(a, b, c, d, e)
INT WSAAPI listen(IN SOCKET s, IN INT backlog)
static void print_error(DWORD win32_error)
SOCKET open_tcp_connect()
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
LONG read_pipe(HANDLE hPipe, SOCKET sock)
#define FILE_FLAG_OVERLAPPED
INT WSAAPI recv(IN SOCKET s, OUT CHAR FAR *buf, IN INT len, IN INT flags)
_CRTIMP int __cdecl read(_In_ int _FileHandle, _Out_writes_bytes_(_MaxCharCount) void *_DstBuf, _In_ unsigned int _MaxCharCount)