Revision
14341
Author
gmaruzz
Date
2009-07-24 09:03:23 -0500 (Fri, 24 Jul 2009)

Log Message

skypiax: compiles on windows

Modified Paths

Diff

Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax.h (14340 => 14341)


--- freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax.h	2009-07-24 13:36:43 UTC (rev 14340)
+++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax.h	2009-07-24 14:03:23 UTC (rev 14341)
@@ -36,9 +36,10 @@
 
 #include <switch.h>
 #include <switch_version.h>
-#include <sys/time.h>
 
+
 #ifndef WIN32
+#include <sys/time.h>
 #include <X11/Xlib.h>
 #include <X11/Xlibint.h>
 #include <X11/Xatom.h>
@@ -48,6 +49,60 @@
 //Windows macro  for FD_SET includes a warning C4127: conditional expression is constant
 #pragma warning(push)
 #pragma warning(disable:4127)
+
+/***************/
+// from http://www.openasthra.com/c-tidbits/gettimeofday-function-for-windows/
+
+#include <time.h>
+     
+#if defined(_MSC_VER) || defined(_MSC_EXTENSIONS)
+#define DELTA_EPOCH_IN_MICROSECS  11644473600000000Ui64
+#else
+#define DELTA_EPOCH_IN_MICROSECS  11644473600000000ULL
+#endif
+     
+    struct timezone 
+    {
+      int  tz_minuteswest; /* minutes W of Greenwich */
+      int  tz_dsttime;     /* type of dst correction */
+    };
+     
+    int gettimeofday(struct timeval *tv, struct timezone *tz)
+    {
+      FILETIME ft;
+      unsigned __int64 tmpres = 0;
+      static int tzflag;
+     
+      if (NULL != tv)
+      {
+        GetSystemTimeAsFileTime(&ft);
+     
+        tmpres |= ft.dwHighDateTime;
+        tmpres <<= 32;
+        tmpres |= ft.dwLowDateTime;
+     
+        /*converting file time to unix epoch*/
+        tmpres /= 10;  /*convert into microseconds*/
+        tmpres -= DELTA_EPOCH_IN_MICROSECS; 
+        tv->tv_sec = (long)(tmpres / 1000000UL);
+        tv->tv_usec = (long)(tmpres % 1000000UL);
+      }
+     
+      if (NULL != tz)
+      {
+        if (!tzflag)
+        {
+          _tzset();
+          tzflag++;
+        }
+        tz->tz_minuteswest = _timezone / 60;
+        tz->tz_dsttime = _daylight;
+      }
+     
+      return 0;
+    }
+/***************/
+
 #endif
 
 #define SAMPLERATE_SKYPIAX 16000

Modified: freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c (14340 => 14341)


--- freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c	2009-07-24 13:36:43 UTC (rev 14340)
+++ freeswitch/trunk/src/mod/endpoints/mod_skypiax/skypiax_protocol.c	2009-07-24 14:03:23 UTC (rev 14341)
@@ -181,7 +181,7 @@
               /* this is the call in which we are calling out */
               DEBUGA_SKYPE("Call %s NOTHING\n", SKYPIAX_P_LOG, id);
             } else {
-              usleep(400000);   //0.4 seconds
+              skypiax_sleep(400000);   //0.4 seconds
               DEBUGA_SKYPE("Call %s TRY TRANSFER\n", SKYPIAX_P_LOG, id);
               skypiax_transfer(tech_pvt, id, value);
             }