]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
msvc build fixes for libnatpmp and miniupnpc
authorMichael Jerris <mike@jerris.com>
Mon, 1 Jun 2009 19:03:26 +0000 (19:03 +0000)
committerMichael Jerris <mike@jerris.com>
Mon, 1 Jun 2009 19:03:26 +0000 (19:03 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@13534 d0543943-73ff-0310-b7d9-9358b9ac24b2

libs/libnatpmp/getgateway.c
libs/libnatpmp/getgateway.h
libs/libnatpmp/natpmp.c
libs/libnatpmp/natpmp.h
libs/libnatpmp/wingettimeofday.c
libs/miniupnpc/codelength.h
libs/miniupnpc/minissdpc.c

index 9223bbe21297729bb40c78584df2bec2029a00fd..b667b04643dfbb50c8f17beae87f3b02b779b914 100644 (file)
@@ -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 @@ int getdefaultgateway(in_addr_t * addr)
        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 @@ int getdefaultgateway(in_addr_t * addr)
                                {
                                        //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 @@ int getdefaultgateway(in_addr_t * addr)
        
        if(done)
        {
-               *addr = inet_addr(gatewayValue);
+               *addr = inet_addr((char *)gatewayValue);
                return 0;
        }
        
index cf7794600dbcbe88813cb27de3d83e7e8b2d7160..a08b02a6d164d5e0dbe85c96150d639306422ecb 100644 (file)
 #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"
index 9ea3a053ea6f22c1bef025c8996e07622042c6cb..21267bc2ea18fec25ab7b1576d4abd88b7225d07 100644 (file)
  * 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 @@ int sendnewportmappingrequest(natpmp_t * p, int protocol,
        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 sendnewportmappingrequest(natpmp_t * p, int protocol,
 
 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;
index d1f09c26ab6d9eee0b6260cc7e3ce0b01cb7616a..0ff41b081a3e78a876903b6a75125c31a78b4e94 100644 (file)
 #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 @@ typedef struct {
        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;
index 82590d4dd75162ac9fb0baf760ec6f6aaf2842c2..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -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
-
index f11e5e9367cb6e6e1635a05cc6dcf709549ee857..7280c8cb79a99c103d2fbfe37d9076f7bc26b6df 100644 (file)
                            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
 
index 59bd6abb12779d62aac13cec3e8fc1a7397cf224..0bea0188d22c5b678ae4a306946c365b73166545 100644 (file)
@@ -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>
 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 @@ getDevicesFromMiniSSDPD(const char * devtype, const char * socketpath)
        }
        close(s);
        return devlist;
+#endif
 }