From a650e7a58ae25d32510894f6efbe78ef659db774 Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Fri, 4 Jan 2013 10:26:09 +0100 Subject: Make win32 compatible. --- debug_syslog.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/debug_syslog.c b/debug_syslog.c index 9a2afbd..2a8abb3 100644 --- a/debug_syslog.c +++ b/debug_syslog.c @@ -31,11 +31,19 @@ #include #include +#ifdef WIN32 +#include +#include +typedef SOCKET socket_t; +#else +typedef int socket_t; #include +#include #include #include +#endif + #include -#include #include #include "debug_util.h" @@ -58,8 +66,26 @@ static struct sockaddr_in dbg_syslog_sockaddr; static pid_t pid; static char execname[SYSLOG_LENOFEXECNAME]; +#ifdef WIN32 +static void wsastartup() +{ + WORD wVersionRequested = MAKEWORD(2, 0); + WSADATA wsaData; + + int ret = WSAStartup(wVersionRequested, &wsaData); + if(ret != 0) { + fprintf(stderr, "WSAStartup failed.\n"); + } +} +#endif + void dbg_syslog_init(const char* host, int port) { + +#ifdef WIN32 + wsastartup(); +#endif + printf("Initializing syslog module remote %s:%d\n", host, port); if ( (dbg_syslog_sock = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) { fprintf(stderr, "Failed to create socket\n"); @@ -220,7 +246,13 @@ void dbg_syslog_output(char* msg) void dbg_syslog_close() { printf("Closing syslog module\n"); if(dbg_syslog_sock < 0) return; + +#ifdef WIN32 + closesocket(dbg_syslog_sock); + WSACleanup(); +#else close(dbg_syslog_sock); +#endif } #ifdef TEST_DEBUG_SYSLOG -- cgit v1.2.3