From 855cdc13448433d1145f162449ef8a0ffecc08fc Mon Sep 17 00:00:00 2001 From: malloc Date: Thu, 3 Jan 2019 15:37:41 -0600 Subject: [PATCH] SMOOTH LIKE BUTTER --- CMakeLists.txt | 4 ++-- src/server/sock/tcp.h | 23 +++++++++++------------ src/server/sock/tcp_win.c | 2 ++ src/server/util/thread.h | 20 ++++++++++++++++++++ 4 files changed, 35 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 545af70..77316e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -18,7 +18,7 @@ install(TARGETS server RUNTIME DESTINATION bin/server) if(${CMAKE_SYSTEM_NAME} STREQUAL "Windows") target_link_libraries(server wsock32 ws2_32) elseif(${CMAKE_SYSTEM_NAME} STREQUAL "Linux") - target_link_libraries(server dl pthread nsl resolv) + target_link_libraries(server pthread nsl resolv) else() - target_link_libraries(server dl pthread socket nsl resolv) + target_link_libraries(server pthread socket nsl resolv) endif() diff --git a/src/server/sock/tcp.h b/src/server/sock/tcp.h index a4ba8cb..b584627 100644 --- a/src/server/sock/tcp.h +++ b/src/server/sock/tcp.h @@ -2,7 +2,7 @@ #define GLV_SOCK_TCP_H #ifdef _WIN32 -#define WIN32_LEAN_AND_MEAN + #define WIN32_LEAN_AND_MEAN #ifdef __MINGW32__ #undef _WIN32_WINNT #define _WIN32_WINNT _WIN32_WINNT_WIN8 @@ -10,11 +10,8 @@ #include #include - typedef GLV_SOCK_T SOCKET; - typedef GLV_ADDR_T SOCKADDR_ - - #define GLV_SOCK_T SOCKET - #define GLV_ADDR_T SOCKADDR_IN + typedef SOCKET glv_sock_t; + typedef SOCKADDR_IN glv_addr_t; #else #include #include @@ -25,8 +22,8 @@ #include #include - #define GLV_SOCK_T int - #define GLV_ADDR_T struct sockaddr_in + typedef int glv_sock_t; + typedef struct sockaddr_in glv_addr_t; #endif #include @@ -35,14 +32,16 @@ #define GLV_TCP_FLAG_NBIO 2 typedef struct { + glv_sock_t socket; + glv_addr_t addr; uint32_t flags; -} tcp_t; +} glv_tcp_t; -tcp_t* tcp_create_server(); -tcp_t* tcp_create_client(); +glv_tcp_t* glv_tcp_create_server(); +glv_tcp_t* glv_tcp_create_client(); -void tcp_destroy(tcp_t* socket); +void glv_tcp_destroy(glv_tcp_t* socket); #endif diff --git a/src/server/sock/tcp_win.c b/src/server/sock/tcp_win.c index eb0f656..3616d45 100644 --- a/src/server/sock/tcp_win.c +++ b/src/server/sock/tcp_win.c @@ -1,2 +1,4 @@ +#ifdef _WIN32 #include "tcp.h" +#endif diff --git a/src/server/util/thread.h b/src/server/util/thread.h index 09395ab..43be41b 100644 --- a/src/server/util/thread.h +++ b/src/server/util/thread.h @@ -1,4 +1,24 @@ #ifndef GLV_UTIL_THREAD_H #define GLV_UTIL_THREAD_H +#ifdef _WIN32 + #define WIN32_LEAN_AND_MEAN + #ifdef __MINGW32__ + #undef _WIN32_WINNT + #define _WIN32_WINNT _WIN32_WINNT_WIN8 + #endif + #include + + typedef HANDLE glv_thread_t; + typedef HANDLE glv_mutex_t; +#else + #include + + typedef pthread_t glv_thread_t; + typedef pthread_mutex_t glv_mutex_t; +#endif + +glv_thread_t* glv_thread_create(); +void glv_thread_destroy(glv_thread_t* thread); + #endif