[commit] r13534 - in freeswitch/trunk/libs: libnatpmp miniupnpc
Author: mikej Date: Mon Jun 1 14:03:26 2009 New Revision: 13534 Log: msvc build fixes for libnatpmp and miniupnpc Modified: freeswitch/trunk/libs/libnatpmp/getgateway.c freeswitch/trunk/libs/libnatpmp/getgateway.h freeswitch/trunk/libs/libnatpmp/natpmp.c freeswitch/trunk/libs/libnatpmp/natpmp.h freeswitch/trunk/libs/libnatpmp/wingettimeofday.c freeswitch/trunk/libs/miniupnpc/codelength.h freeswitch/trunk/libs/miniupnpc/minissdpc.c Modified: freeswitch/trunk/libs/libnatpmp/getgateway.c ============================================================================== --- freeswitch/trunk/libs/libnatpmp/getgateway.c (original) +++ freeswitch/trunk/libs/libnatpmp/getgateway.c Mon Jun 1 14:03:26 2009 @@ -18,7 +18,9 @@ #ifndef WIN32 #include <netinet/in.h> #endif +#ifndef _MSC_VER #include <sys/param.h> +#endif /* There is no portable method to get the default route gateway. * So below are three differents functions implementing this. * Parsing /proc/net/route is for linux. @@ -271,10 +273,10 @@ DWORD numSubKeys = 0; TCHAR keyName[MAX_KEY_LENGTH]; DWORD keyNameLength = MAX_KEY_LENGTH; - TCHAR keyValue[MAX_VALUE_LENGTH]; + BYTE keyValue[MAX_VALUE_LENGTH]; DWORD keyValueLength = MAX_VALUE_LENGTH; DWORD keyValueType = REG_SZ; - TCHAR gatewayValue[MAX_VALUE_LENGTH]; + BYTE gatewayValue[MAX_VALUE_LENGTH]; DWORD gatewayValueLength = MAX_VALUE_LENGTH; DWORD gatewayValueType = REG_MULTI_SZ; int done = 0; @@ -369,7 +371,7 @@ { //printf("keyValue: %s\n", keyValue); - if(RegOpenKeyEx(interfacesKey, keyValue, 0, KEY_READ, &interfaceKey) == ERROR_SUCCESS) + if(RegOpenKeyEx(interfacesKey, (char *)keyValue, 0, KEY_READ, &interfaceKey) == ERROR_SUCCESS) { gatewayValueLength = MAX_VALUE_LENGTH; if(ERROR_SUCCESS == RegQueryValueEx(interfaceKey, // Open registry key @@ -413,7 +415,7 @@ if(done) { - *addr = inet_addr(gatewayValue); + *addr = inet_addr((char *)gatewayValue); return 0; } Modified: freeswitch/trunk/libs/libnatpmp/getgateway.h ============================================================================== --- freeswitch/trunk/libs/libnatpmp/getgateway.h (original) +++ freeswitch/trunk/libs/libnatpmp/getgateway.h Mon Jun 1 14:03:26 2009 @@ -17,7 +17,11 @@ #define __GETGATEWAY_H__ #ifdef WIN32 +#ifdef _MSC_VER +typedef unsigned __int32 uint32_t; +#else #include <stdint.h> +#endif #define in_addr_t uint32_t #endif #include "declspec.h" Modified: freeswitch/trunk/libs/libnatpmp/natpmp.c ============================================================================== --- freeswitch/trunk/libs/libnatpmp/natpmp.c (original) +++ freeswitch/trunk/libs/libnatpmp/natpmp.c Mon Jun 1 14:03:26 2009 @@ -16,13 +16,28 @@ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #include <string.h> #include <time.h> +#ifndef _MSC_VER #include <sys/time.h> +#endif #ifdef WIN32 #include <winsock2.h> #include <Ws2tcpip.h> #include <io.h> #define EWOULDBLOCK WSAEWOULDBLOCK #define ECONNREFUSED WSAECONNREFUSED + +static int gettimeofday(struct timeval* p, void* tz /* IGNORED */) { + union { + long long ns100; /*time since 1 Jan 1601 in 100ns units */ + FILETIME ft; + } _now; + + GetSystemTimeAsFileTime( &(_now.ft) ); + p->tv_usec=(long)((_now.ns100 / 10LL) % 1000000LL ); + p->tv_sec= (long)((_now.ns100-(116444736000000000LL))/10000000LL); + return 0; +} + #else #include <errno.h> #include <unistd.h> @@ -150,7 +165,7 @@ if(!p || (protocol!=NATPMP_PROTOCOL_TCP && protocol!=NATPMP_PROTOCOL_UDP)) return NATPMP_ERR_INVALIDARGS; p->pending_request[0] = 0; - p->pending_request[1] = protocol; + p->pending_request[1] = (char)protocol; p->pending_request[2] = 0; p->pending_request[3] = 0; *((uint16_t *)(p->pending_request + 4)) = htons(privateport); @@ -162,7 +177,7 @@ int readnatpmpresponse(natpmp_t * p, natpmpresp_t * response) { - unsigned char buf[16]; + char buf[16]; struct sockaddr_in addr; socklen_t addrlen = sizeof(addr); int n; Modified: freeswitch/trunk/libs/libnatpmp/natpmp.h ============================================================================== --- freeswitch/trunk/libs/libnatpmp/natpmp.h (original) +++ freeswitch/trunk/libs/libnatpmp/natpmp.h Mon Jun 1 14:03:26 2009 @@ -21,10 +21,17 @@ #define NATPMP_PORT (5351) #include <time.h> +#ifndef _MSC_VER #include <sys/time.h> +#endif #ifdef WIN32 #include <winsock2.h> +#ifdef _MSC_VER +typedef unsigned __int32 uint32_t; +typedef unsigned __int16 uint16_t; +#else #include <stdint.h> +#endif #define in_addr_t uint32_t #include "declspec.h" #else @@ -36,7 +43,7 @@ int s; /* socket */ in_addr_t gateway; /* default gateway (IPv4) */ int has_pending_request; - unsigned char pending_request[12]; + char pending_request[12]; int pending_request_len; int try_number; struct timeval retry_time; Modified: freeswitch/trunk/libs/libnatpmp/wingettimeofday.c ============================================================================== --- freeswitch/trunk/libs/libnatpmp/wingettimeofday.c (original) +++ freeswitch/trunk/libs/libnatpmp/wingettimeofday.c Mon Jun 1 14:03:26 2009 @@ -1,25 +0,0 @@ -#ifdef WIN32 -#include <sys/time.h> - -typedef struct _FILETIME { - unsigned long dwLowDateTime; - unsigned long dwHighDateTime; -} FILETIME; - -void __stdcall GetSystemTimeAsFileTime(FILETIME*); - -//void gettimeofday(struct timeval* p, void* tz /* IGNORED */); - -void gettimeofday(struct timeval* p, void* tz /* IGNORED */) { - union { - long long ns100; /*time since 1 Jan 1601 in 100ns units */ - FILETIME ft; - } _now; - - GetSystemTimeAsFileTime( &(_now.ft) ); - p->tv_usec=(long)((_now.ns100 / 10LL) % 1000000LL ); - p->tv_sec= (long)((_now.ns100-(116444736000000000LL))/10000000LL); - return; -} -#endif - Modified: freeswitch/trunk/libs/miniupnpc/codelength.h ============================================================================== --- freeswitch/trunk/libs/miniupnpc/codelength.h (original) +++ freeswitch/trunk/libs/miniupnpc/codelength.h Mon Jun 1 14:03:26 2009 @@ -14,11 +14,11 @@ do { n = (n << 7) | (*p & 0x7f); } \ while(*(p++)&0x80); -#define CODELENGTH(n, p) if(n>=268435456) *(p++) = (n >> 28) | 0x80; \ - if(n>=2097152) *(p++) = (n >> 21) | 0x80; \ - if(n>=16384) *(p++) = (n >> 14) | 0x80; \ - if(n>=128) *(p++) = (n >> 7) | 0x80; \ - *(p++) = n & 0x7f; +#define CODELENGTH(n, p) if(n>=268435456) *(p++) = (unsigned char)((n >> 28) | 0x80); \ + if(n>=2097152) *(p++) = (unsigned char)((n >> 21) | 0x80); \ + if(n>=16384) *(p++) = (unsigned char)((n >> 14) | 0x80); \ + if(n>=128) *(p++) = (unsigned char)((n >> 7) | 0x80); \ + *(p++) = (unsigned char)(n & 0x7f); #endif Modified: freeswitch/trunk/libs/miniupnpc/minissdpc.c ============================================================================== --- freeswitch/trunk/libs/miniupnpc/minissdpc.c (original) +++ freeswitch/trunk/libs/miniupnpc/minissdpc.c Mon Jun 1 14:03:26 2009 @@ -8,7 +8,15 @@ #include <stdio.h> #include <string.h> #include <stdlib.h> +#ifdef _MSC_VER +#include <io.h> +typedef intptr_t ssize_t; +#define read _read +#define write _write +#define close _close +#else #include <unistd.h> +#endif #include <sys/types.h> #ifdef WIN32 #include <winsock2.h> @@ -27,6 +35,10 @@ struct UPNPDev * getDevicesFromMiniSSDPD(const char * devtype, const char * socketpath) { +#ifdef _MSC_VER + /* sockaddr_un not supported on msvc*/ + return NULL; +#else struct UPNPDev * tmp; struct UPNPDev * devlist = NULL; unsigned char buffer[2048]; @@ -105,5 +117,6 @@ } close(s); return devlist; +#endif }
participants (1)
-
FreeSWITCH SVN