From ed4ed5d137c9ea47205dacc4f8cf926e789f0a49 Mon Sep 17 00:00:00 2001
From: ANTA <arcticshine999@gmail.com>
Date: Tue, 16 Jul 2019 03:37:48 +0400
Subject: [PATCH] 1.1-11-Win

---
 CMakeLists.txt                | 12 ++++++++++++
 dap_stream_ch_chain_net.c     | 23 +++++++++++++++++++++--
 dap_stream_ch_chain_net_pkt.c | 21 +++++++++++++++++++--
 dap_stream_ch_chain_net_pkt.h |  2 +-
 4 files changed, 53 insertions(+), 5 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ea8a0e0..7c6ad4e 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,18 @@ project (dap_stream_ch_chain_net)
   
 set(DAP_STREAM_CH_CHAIN_NET_SRCS dap_stream_ch_chain_net.c dap_stream_ch_chain_net_pkt.c)
 
+if(WIN32)
+  include_directories(../libdap/src/win32/)
+  include_directories(../3rdparty/libmemcached/)
+  include_directories(../3rdparty/libmemcached/win32/)
+  include_directories(../3rdparty/wepoll/include/)
+  include_directories(../3rdparty/uthash/src/)
+  include_directories(../3rdparty/libjson-c/)
+  include_directories(../3rdparty/libmagic/src/)
+  include_directories(../3rdparty/curl/include/)
+  include_directories(../3rdparty/libsqlite3/)
+endif()
+
 add_library(${PROJECT_NAME} STATIC ${DAP_STREAM_CH_CHAIN_NET_SRCS})
 
 target_link_libraries(dap_stream_ch_chain_net dap_core dap_crypto dap_stream dap_stream_ch dap_stream_ch_chain
diff --git a/dap_stream_ch_chain_net.c b/dap_stream_ch_chain_net.c
index 2a528cc..7eaf6e4 100755
--- a/dap_stream_ch_chain_net.c
+++ b/dap_stream_ch_chain_net.c
@@ -22,6 +22,25 @@
  along with any DAP based project.  If not, see <http://www.gnu.org/licenses/>.
  */
 
+#include <stdlib.h>
+#include <stdio.h>
+#include <time.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <stdint.h>
+
+#ifdef WIN32
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x0600
+#include <winsock2.h>
+#include <windows.h>
+#include <mswsock.h>
+#include <ws2tcpip.h>
+#include <io.h>
+//#include "wrappers.h"
+#include <wepoll.h>
+#endif
+
 #include <errno.h>
 #include <string.h>
 #include <pthread.h>
@@ -182,13 +201,13 @@ void s_stream_ch_packet_in(dap_stream_ch_t* a_ch, void* a_arg)
             size_t l_ch_chain_net_pkt_data_size = l_ch_pkt->hdr.size - sizeof(dap_stream_ch_chain_net_pkt_hdr_t);
             switch (l_ch_pkt->hdr.type) {
                 case DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_DBG: {
-                    dap_stream_ch_chain_net_pkt_write(a_ch, DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_PING,
+                    dap_stream_ch_chain_net_pkt_write(a_ch, DAP_SREAM_CH_CHAIN_NET_PKT_TYPE_PING,
                                                       l_ch_chain_net_pkt->hdr.net_id, NULL, 0);
                     dap_stream_ch_set_ready_to_write(a_ch, true);
                 }
                     break;
                     // received ping request - > send pong request
-                case DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_PING: {
+                case DAP_SREAM_CH_CHAIN_NET_PKT_TYPE_PING: {
                     log_it(L_INFO, "Get STREAM_CH_CHAIN_NET_PKT_TYPE_PING");
                     dap_stream_ch_chain_net_pkt_write(a_ch, DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_PONG,
                                                       l_ch_chain_net_pkt->hdr.net_id,NULL, 0);
diff --git a/dap_stream_ch_chain_net_pkt.c b/dap_stream_ch_chain_net_pkt.c
index 0fea9b5..d1762c8 100755
--- a/dap_stream_ch_chain_net_pkt.c
+++ b/dap_stream_ch_chain_net_pkt.c
@@ -1,7 +1,24 @@
-#include <stdarg.h>
+#include <stdlib.h>
 #include <stdio.h>
+#include <time.h>
+#include <stdlib.h>
+#include <stddef.h>
+#include <stdint.h>
 #include <string.h>
 
+#ifdef WIN32
+#undef _WIN32_WINNT
+#define _WIN32_WINNT 0x0600
+#include <winsock2.h>
+#include <windows.h>
+#include <mswsock.h>
+#include <ws2tcpip.h>
+#include <io.h>
+//#include "wrappers.h"
+#include <wepoll.h>
+#include <pthread.h>
+#endif
+
 #include <dap_common.h>
 #include <dap_stream.h>
 #include <dap_stream_pkt.h>
@@ -46,7 +63,7 @@ size_t dap_stream_ch_chain_net_pkt_write_f(dap_stream_ch_t *a_ch, uint8_t a_type
     char l_buf[4096];
     va_list ap;
     va_start(ap, a_str);
-    vsnprintf(l_buf, sizeof(l_buf), a_str, ap);
+    dap_vsnprintf(l_buf, sizeof(l_buf), a_str, ap);
     va_end(ap);
     size_t ret = dap_stream_ch_chain_net_pkt_write(a_ch, a_type, a_net_id, l_buf, strlen(l_buf));
     return ret;
diff --git a/dap_stream_ch_chain_net_pkt.h b/dap_stream_ch_chain_net_pkt.h
index cad56b1..0d52cf0 100755
--- a/dap_stream_ch_chain_net_pkt.h
+++ b/dap_stream_ch_chain_net_pkt.h
@@ -31,7 +31,7 @@
 #include "dap_stream_ch.h"
 
 #define DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_REQUEST                       0x01
-#define DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_PING                          0x02
+#define DAP_SREAM_CH_CHAIN_NET_PKT_TYPE_PING                           0x02
 #define DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_PONG                          0x03
 #define DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_NODE_ADDR_REQUEST             0x14
 #define DAP_STREAM_CH_CHAIN_NET_PKT_TYPE_NODE_ADDR                     0x11
-- 
GitLab