[Freeswitch-svn] [commit] r13534 - in freeswitch/trunk/libs: libnatpmp miniupnpc
FreeSWITCH SVN
mikej at freeswitch.org
Mon Jun 1 12:03:26 PDT 2009
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
}
More information about the Freeswitch-svn
mailing list