From e5a1ca68e79ab9d20c36e2c5a120817b73ad9b64 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 29 Aug 2025 22:10:58 +0300 Subject: [PATCH] Fix Linux compilation errors for LoginServer Major fixes for Linux compatibility: - Added comprehensive Linux socket type definitions to stdafx.h - Created SocketOpsLinux.cpp with Linux socket operations implementation - Added ListenSocketLinux.h with epoll-based socket listening - Updated Network.h to conditionally include platform-specific headers - Modified SocketDefines.h to support both Windows OVERLAPPED and Linux equivalents - Updated CMakeLists.txt to use correct platform-specific source files - Added additional socket constants and error code mappings for Linux These changes address the compilation errors related to: - Missing SOCKET, HANDLE, OVERLAPPED type definitions - Windows-specific socket functions (WSASocket, closesocket, etc.) - Platform-specific listen socket implementations - Socket operations and error handling The LoginServer should now compile successfully on Linux while maintaining Windows compatibility. --- server/LogInServer/CMakeLists.txt | 4 + server/LogInServer/build log.txt | 3505 +++++++++++++++++++++++++++++ server/shared/ListenSocketLinux.h | 179 ++ server/shared/Network.h | 7 +- server/shared/SocketDefines.h | 22 +- server/shared/SocketOpsLinux.cpp | 81 + server/shared/stdafx.h | 40 + 7 files changed, 3834 insertions(+), 4 deletions(-) create mode 100644 server/LogInServer/build log.txt create mode 100644 server/shared/ListenSocketLinux.h create mode 100644 server/shared/SocketOpsLinux.cpp diff --git a/server/LogInServer/CMakeLists.txt b/server/LogInServer/CMakeLists.txt index ae37563..42749c0 100644 --- a/server/LogInServer/CMakeLists.txt +++ b/server/LogInServer/CMakeLists.txt @@ -68,6 +68,10 @@ if(WIN32) ../shared/SocketWin32.cpp ../shared/SocketOpsWin32.cpp ) +else() + list(APPEND SHARED_SOURCES + ../shared/SocketOpsLinux.cpp + ) endif() # Create executable diff --git a/server/LogInServer/build log.txt b/server/LogInServer/build log.txt new file mode 100644 index 0000000..c9d2e1b --- /dev/null +++ b/server/LogInServer/build log.txt @@ -0,0 +1,3505 @@ +monsterubuntu@LeventMonster:~/knightonline/server/LogInServer$ ./build.sh all +[2025-08-29 22:04:22] Knight Online Login Server Build Script +[2025-08-29 22:04:22] Build command: all +[2025-08-29 22:04:22] Parallel jobs: 12 + +[2025-08-29 22:04:22] Checking build dependencies... +[2025-08-29 22:04:22] SUCCESS: Dependencies check completed +[2025-08-29 22:04:22] Cleaning build directory... +[2025-08-29 22:04:22] Starting build process... +[2025-08-29 22:04:22] Configuring project with CMake... +-- The C compiler identification is GNU 13.3.0 +-- The CXX compiler identification is GNU 13.3.0 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /usr/bin/cc - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Check for working CXX compiler: /usr/bin/c++ - skipped +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- Configuring done (7.8s) +-- Generating done (0.0s) +-- Build files have been written to: /home/monsterubuntu/knightonline/server/LogInServer/build +[2025-08-29 22:04:30] Building project with 12 parallel jobs... +[ 3%] Building CXX object CMakeFiles/LoginServer.dir/LoginServer.cpp.o +[ 6%] Building CXX object CMakeFiles/LoginServer.dir/DBProcess.cpp.o +[ 13%] Building CXX object CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/Thread.cpp.o +[ 13%] Building CXX object CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/tstring.cpp.o +[ 17%] Building CXX object CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/TimeThread.cpp.o +[ 24%] Building CXX object CMakeFiles/LoginServer.dir/main.cpp.o +[ 24%] Building CXX object CMakeFiles/LoginServer.dir/LoginSession.cpp.o +[ 27%] Building CXX object CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp.o +[ 31%] Building CXX object CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/Socket.cpp.o +[ 34%] Building CXX object CMakeFiles/LoginServer.dir/stdafx.cpp.o +[ 37%] Building CXX object CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/globals.cpp.o +[ 41%] Building CXX object CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/Condition.cpp.o +/home/monsterubuntu/knightonline/server/shared/tstring.cpp: In function ‘std::string& rtrim(std::string&)’: +/home/monsterubuntu/knightonline/server/shared/tstring.cpp:32:84: warning: ‘std::pointer_to_unary_function<_Arg, _Result> std::ptr_fun(_Result (*)(_Arg)) [with _Arg = int; _Result = int]’ is deprecated: use 'std::function' instead [-Wdeprecated-declarations] + 32 | s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(std::ptr_fun(safe_isspace))).base(), s.end()); + | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ +In file included from /usr/include/c++/13/string:49, + from /home/monsterubuntu/knightonline/server/shared/tstring.h:4, + from /home/monsterubuntu/knightonline/server/shared/tstring.cpp:1: +/usr/include/c++/13/bits/stl_function.h:1126:5: note: declared here + 1126 | ptr_fun(_Result (*__x)(_Arg)) + | ^~~~~~~ +/home/monsterubuntu/knightonline/server/shared/tstring.cpp: In function ‘std::string& ltrim(std::string&)’: +/home/monsterubuntu/knightonline/server/shared/tstring.cpp:39:93: warning: ‘std::pointer_to_unary_function<_Arg, _Result> std::ptr_fun(_Result (*)(_Arg)) [with _Arg = int; _Result = int]’ is deprecated: use 'std::function' instead [-Wdeprecated-declarations] + 39 | s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(std::ptr_fun(safe_isspace)))); + | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ +/usr/include/c++/13/bits/stl_function.h:1126:5: note: declared here + 1126 | ptr_fun(_Result (*__x)(_Arg)) + | ^~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/shared/Condition.cpp:1: +/home/monsterubuntu/knightonline/server/shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +In file included from /home/monsterubuntu/knightonline/server/shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/shared/TimeThread.cpp:1: +/home/monsterubuntu/knightonline/server/shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +: note: this is the location of the previous definition +In file included from /home/monsterubuntu/knightonline/server/shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:1: +/home/monsterubuntu/knightonline/server/shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +: note: this is the location of the previous definition +In file included from /home/monsterubuntu/knightonline/server/shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/shared/Thread.cpp:1: +/home/monsterubuntu/knightonline/server/shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +: note: this is the location of the previous definition +In file included from /home/monsterubuntu/knightonline/server/shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/shared/globals.cpp:1: +/home/monsterubuntu/knightonline/server/shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +: note: this is the location of the previous definition +In file included from /home/monsterubuntu/knightonline/server/shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/shared/Socket.cpp:1: +/home/monsterubuntu/knightonline/server/shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +: note: this is the location of the previous definition +: note: this is the location of the previous definition +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/LoginSession.cpp:1: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/LoginServer.cpp:1: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +: note: this is the location of the previous definition +: note: this is the location of the previous definition +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.cpp:1: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +: note: this is the location of the previous definition +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/DBProcess.cpp:1: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +: note: this is the location of the previous definition +In file included from /home/monsterubuntu/knightonline/server/shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +In file included from /home/monsterubuntu/knightonline/server/shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/main.cpp:1: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +: note: this is the location of the previous definition +/home/monsterubuntu/knightonline/server/shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +In file included from /home/monsterubuntu/knightonline/server/shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +In file included from /home/monsterubuntu/knightonline/server/shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +In file included from /home/monsterubuntu/knightonline/server/shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +In file included from /home/monsterubuntu/knightonline/server/shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +/home/monsterubuntu/knightonline/server/LogInServer/../shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +In file included from /home/monsterubuntu/knightonline/server/shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +In file included from /home/monsterubuntu/knightonline/server/shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:3: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 3 | #pragma warning(disable:4996) + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/DBProcess.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:6: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:3: warning: ignoring ‘#pragma comment ’ [-Wunknown-pragmas] + 3 | #pragma comment(lib, "odbc32.lib") + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/DBProcess.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:6: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:3: warning: ignoring ‘#pragma comment ’ [-Wunknown-pragmas] + 3 | #pragma comment(lib, "odbc32.lib") + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/DBProcess.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:6: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:3: warning: ignoring ‘#pragma comment ’ [-Wunknown-pragmas] + 3 | #pragma comment(lib, "odbc32.lib") + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/DBProcess.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:6: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:3: warning: ignoring ‘#pragma comment ’ [-Wunknown-pragmas] + 3 | #pragma comment(lib, "odbc32.lib") + | +In file included from /home/monsterubuntu/knightonline/server/LogInServer/DBProcess.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:6: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:3: warning: ignoring ‘#pragma comment ’ [-Wunknown-pragmas] + 3 | #pragma comment(lib, "odbc32.lib") + | +[ 44%] Building CXX object CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/RWLock.cpp.o +In file included from /home/monsterubuntu/knightonline/server/shared/globals.h:3, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:124, + from /home/monsterubuntu/knightonline/server/shared/RWLock.cpp:1: +/home/monsterubuntu/knightonline/server/shared/version.h:3: warning: "__VERSION" redefined + 3 | #define __VERSION 2170 + | +: note: this is the location of the previous definition +In file included from /home/monsterubuntu/knightonline/server/shared/stdafx.h:125: +/home/monsterubuntu/knightonline/server/shared/Atomic.h:22: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 22 | #pragma warning(push) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:23: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 23 | #pragma warning(disable: 4018) + | +/home/monsterubuntu/knightonline/server/shared/Atomic.h:32: warning: ignoring ‘#pragma warning ’ [-Wunknown-pragmas] + 32 | #pragma warning(pop) + | +In file included from /home/monsterubuntu/knightonline/server/shared/KOSocket.h:9, + from /home/monsterubuntu/knightonline/server/shared/Network.h:11, + from /home/monsterubuntu/knightonline/server/shared/stdafx.h:127: +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] + 121 | #if !STRICT_ALIGN + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/lzf.h:121:6: warning: this use of "defined" may not be portable [-Wexpansion-to-defined] +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:5: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:149:31: warning: value computed is not used -Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:161:43: warning: value computed is not used -Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:167:34: warning: value computed is not used -Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/shared/globals.h:5: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/shared/globals.h:5: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:149:31: warning: value computed is not used [-Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:161:43: warning: value computed is not used [-Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:167:34: warning: value computed is not used [-Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/shared/globals.h:5: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:149:31: warning: value computed is not used [-Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:161:43: warning: value computed is not used [-Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:167:34: warning: value computed is not used [-Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:149:31: warning: value computed is not used [-Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:5: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:161:43: warning: value computed is not used [-Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:167:34: warning: value computed is not used [-Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:4: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:149:31: warning: value computed is not used -Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:161:43: warning: value computed is not used -Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:167:34: warning: value computed is not used -Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/shared/globals.h:5: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:4: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:149:31: warning: value computed is not used [-Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:161:43: warning: value computed is not used [-Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:167:34: warning: value computed is not used [-Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:4: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:4: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:5: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:4: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:149:31: warning: value computed is not used -Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:161:43: warning: value computed is not used -Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:167:34: warning: value computed is not used -Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/shared/globals.h:5: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:4: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:5: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:149:31: warning: value computed is not used [-Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:161:43: warning: value computed is not used [-Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:167:34: warning: value computed is not used [-Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/shared/globals.h:5: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:149:31: warning: value computed is not used -Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:161:43: warning: value computed is not used -Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:167:34: warning: value computed is not used -Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:4: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:149:31: warning: value computed is not used [-Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:161:43: warning: value computed is not used [-Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:167:34: warning: value computed is not used [-Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:4: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:4: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:4: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:5: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:149:31: warning: value computed is not used -Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:161:43: warning: value computed is not used -Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ByteBuffer.h:167:34: warning: value computed is not used -Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:4: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:5: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:5: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:5: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:5: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:5: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:5: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:5: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:5: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:5: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:5: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:5: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Packet.h:3, + from /home/monsterubuntu/knightonline/server/shared/globals.h:5: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer()’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:11:9: warning: when initialized here [-Wreorder] + 11 | ByteBuffer(): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(DEFAULT_SIZE); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In constructor ‘ByteBuffer::ByteBuffer(size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:173:23: warning: ‘ByteBuffer::_wpos’ will be initialized after [-Wreorder] + 173 | size_t _rpos, _wpos; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:9:14: warning: ‘bool ByteBuffer::m_doubleByte’ [-Wreorder] + 9 | bool m_doubleByte; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:12:9: warning: when initialized here [-Wreorder] + 12 | ByteBuffer(size_t res): _rpos(0), _wpos(0), m_doubleByte(true) { _storage.reserve(res <= 0 ? DEFAULT_SIZE : res); } + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:149:31: warning: value computed is not used [-Wunused-value] + 149 | ASSERT(size() < 10000000); + | ~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::append(const ByteBuffer&, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:161:43: warning: value computed is not used [-Wunused-value] + 161 | ASSERT(buffer._rpos + len <= buffer.size()); + | ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h: In member function ‘void ByteBuffer::put(size_t, const void*, size_t)’: +/home/monsterubuntu/knightonline/server/shared/ByteBuffer.h:167:34: warning: value computed is not used [-Wunused-value] + 167 | ASSERT(pos + cnt <= size()); + | ~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/globals.h: In function ‘time_t getMSTime()’: +/home/monsterubuntu/knightonline/server/shared/globals.h:562:9: error: ‘gettimeofday’ was not declared in this scope + 562 | gettimeofday(&tv, nullptr); + | ^~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:4: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:14:9: error: ‘OVERLAPPED’ does not name a type + 14 | OVERLAPPED m_overlap; + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:25: error: ‘m_overlap’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:21:46: error: ‘OVERLAPPED’ was not declared in this scope + 21 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In constructor ‘OverlappedStruct::OverlappedStruct()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:25: error: ‘m_overlap’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:27:46: error: ‘OVERLAPPED’ was not declared in this scope + 27 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:6: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:6: +/home/monsterubuntu/knightonline/server/shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:6: +/home/monsterubuntu/knightonline/server/shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:6: +/home/monsterubuntu/knightonline/server/shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:6: +/home/monsterubuntu/knightonline/server/shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:6: +/home/monsterubuntu/knightonline/server/shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Reset(SocketIOEvent)’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:25: error: ‘m_overlap’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:6: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:6: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:6: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:6: +/home/monsterubuntu/knightonline/server/shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:6: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +/home/monsterubuntu/knightonline/server/shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:33:46: error: ‘OVERLAPPED’ was not declared in this scope + 33 | memset(&m_overlap, 0, sizeof(OVERLAPPED)); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h: In member function ‘void OverlappedStruct::Mark()’: +/home/monsterubuntu/knightonline/server/shared/SocketDefines.h:41:31: warning: left operand of comma operator has no effect [-Wunused-value] + 41 | TRACE("!!!! Network: Detected double use of read/write event! Previous event was %u.\n", m_event); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:5: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:6:9: error: ‘SOCKET’ does not name a type + 6 | SOCKET CreateTCPFileDescriptor(); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:9:26: error: ‘SOCKET’ was not declared in this scope + 9 | bool Nonblocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:12:23: error: ‘SOCKET’ was not declared in this scope + 12 | bool Blocking(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:15:31: error: ‘SOCKET’ was not declared in this scope + 15 | bool DisableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:18:30: error: ‘SOCKET’ was not declared in this scope + 18 | bool EnableBuffering(SOCKET fd); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:14: error: variable or field ‘CloseSocket’ declared void + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:7: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:7: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketOps.h:21:26: error: ‘SOCKET’ was not declared in this scope + 21 | void CloseSocket(SOCKET fd); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:7: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:6: +/home/monsterubuntu/knightonline/server/shared/Socket.h:7:22: error: expected ‘)’ before ‘fd’ + 7 | Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize); + | ~ ^~~ + | ) +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/Socket.h:63:16: error: ‘SOCKET’ does not name a type + 63 | INLINE SOCKET GetFd() { return m_fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:27: error: ‘SOCKET’ has not been declared + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/Socket.h:84:9: error: ‘SOCKET’ does not name a type + 84 | SOCKET m_fd; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:39: error: ‘HANDLE’ has not been declared + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h:107:9: error: ‘HANDLE’ does not name a type + 107 | HANDLE m_completionPort; + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:7: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:7: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:7: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:7: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:7: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetFd(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:71:40: error: ‘m_fd’ was not declared in this scope + 71 | INLINE void SetFd(SOCKET fd) { m_fd = fd; } + | ^~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:7: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:7: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:7: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:8: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/Socket.h: In member function ‘void Socket::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/Socket.h:100:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 100 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:8: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:8: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:7: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:23:16: error: ‘HANDLE’ does not name a type + 23 | INLINE HANDLE GetCompletionPort() { return m_completionPort; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:39: error: ‘HANDLE’ has not been declared + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:8: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:32:9: error: ‘HANDLE’ does not name a type + 32 | HANDLE m_completionPort; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:34:38: error: ‘SOCKET’ has not been declared + 34 | virtual Socket *AssignSocket(SOCKET socket) = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:8: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:8: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:8: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:8: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:8: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/Network.h:8: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: In member function ‘void SocketMgr::SetCompletionPort(int)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:24:52: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 24 | INLINE void SetCompletionPort(HANDLE cp) { m_completionPort = cp; } + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:8: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/shared/Network.h:8: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In function ‘uint32 ListenSocketThread(void*)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:9: error: ‘ListenSocket’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:23: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:27: error: ‘ls’ was not declared in this scope + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:47: error: expected primary-expression before ‘>’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:15:50: error: expected primary-expression before ‘)’ token + 15 | ListenSocket * ls = (ListenSocket *)lpParam; + | ^ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:119:16: error: ‘HANDLE’ does not name a type + 119 | INLINE HANDLE GetCompletionPort() { return m_cp; } + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:125:9: error: ‘HANDLE’ does not name a type + 125 | HANDLE m_cp; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissiv’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:127:9: error: ‘SOCKET’ does not name a type + 127 | SOCKET m_socket; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named ‘GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissiv’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable(’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable(’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissiv’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable(’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In constructor ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:17: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable(’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named ‘GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named ‘GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissiv’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:75: error: ‘WSA_FLAG_OVERLAPPED’ was not declared in this scope + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:28: error: there are no arguments to ‘WSASocket’ that depend on a template parameter, so a declaration of ‘WSASocket’ must be available [-fpermissive] + 25 | m_socket = WSASocket(AF_INET, SOCK_STREAM, 0, nullptr, 0, WSA_FLAG_OVERLAPPED); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:25:28: note: (if you use ‘-fpermissiv’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:28:36: error: ‘SocketOps::Blocking’ cannot be used as a function + 28 | SocketOps::Blocking(m_socket); + | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:37:53: error: there are no arguments to ‘gethostbyname’ that depend on a template parameter, so a declaration of ‘gethostbyname’ must be available [-fpermissive] + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named ‘GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:58:17: error: ‘m_cp’ was not declared in this scope + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:58:35: error: ‘class SocketMgr’ has no member named ‘GetCompletionPort’; did you mean ‘SetCompletionPort’? + 58 | m_cp = socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable(’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable(’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable(’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In member function ‘bool ListenSocket::runnable()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:82:25: error: ‘SOCKET’ was not declared in this scope + 82 | SOCKET aSocket = WSAAccept(m_socket, (sockaddr*)&m_tempAddress, (socklen_t*)&len, 0, 0); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:83:29: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/TimeThread.cpp: In function ‘uint32 TimeThread(void*)’: +/home/monsterubuntu/knightonline/server/shared/TimeThread.cpp:26:37: warning: unused parameter ‘lpParam’ [-Wunused-parameter] + 26 | uint32 THREADCALL TimeThread(void * lpParam) + | ~~~~~~~^~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +In file included from /usr/include/sql.h:19, + from /usr/include/sqlext.h:43, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:5: +/usr/include/sqltypes.h:95:9: error: multiple types in one declaration + 95 | typedef char TCHAR; + | ^~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:123: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/tstring.h:11:15: error: declaration does not declare anything [-fpermissive] + 11 | #define TCHAR char + | ^~~~ +/usr/include/sqltypes.h:102:33: error: conflicting declaration ‘typedef unsigned int DWORD’ + 102 | typedef unsigned int DWORD; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:44:31: note: previous declaration as ‘typedef long unsigned int DWORD’ + 44 | typedef unsigned long DWORD; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:83:40: error: ‘INVALID_SOCKET’ was not declared in this scope + 83 | if (aSocket == INVALID_SOCKET) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:28:12: warning: declaration ‘class std::recursive_mutex’ does not declare anything + 28 | class std::recursive_mutex; + | ^~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +In file included from /usr/include/sql.h:19, + from /usr/include/sqlext.h:43, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:5: +/usr/include/sqltypes.h:95:9: error: multiple types in one declaration + 95 | typedef char TCHAR; + | ^~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:123: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/tstring.h:11:15: error: declaration does not declare anything [-fpermissive] + 11 | #define TCHAR char + | ^~~~ +/usr/include/sqltypes.h:102:33: error: conflicting declaration ‘typedef unsigned int DWORD’ + 102 | typedef unsigned int DWORD; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:44:31: note: previous declaration as ‘typedef long unsigned int DWORD’ + 44 | typedef unsigned long DWORD; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:90:68: error: ‘aSocket’ was not declared in this scope; did you mean ‘Socket’? + 90 | Socket *socket = m_socketMgr->AssignSocket(aSocket); + | ^~~~~~~ + | Socket +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:95:44: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 95 | SocketOps::CloseSocket(aSocket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +In file included from /usr/include/sql.h:19, + from /usr/include/sqlext.h:43, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:5: +/usr/include/sqltypes.h:95:9: error: multiple types in one declaration + 95 | typedef char TCHAR; + | ^~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:123: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/tstring.h:11:15: error: declaration does not declare anything [-fpermissive] + 11 | #define TCHAR char + | ^~~~ +/usr/include/sqltypes.h:102:33: error: conflicting declaration ‘typedef unsigned int DWORD’ + 102 | typedef unsigned int DWORD; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:44:31: note: previous declaration as ‘typedef long unsigned int DWORD’ + 44 | typedef unsigned long DWORD; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:28:12: warning: declaration ‘class std::recursive_mutex’ does not declare anything + 28 | class std::recursive_mutex; + | ^~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:98:51: error: ‘m_cp’ was not declared in this scope + 98 | socket->SetCompletionPort(m_cp); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:4:15: error: expected constructor, destructor, or type conversion before ‘(’ token + 4 | Socket::Socket(SOCKET fd, uint32 sendbuffersize, uint32 recvbuffersize) + | ^ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:28:12: warning: declaration ‘class std::recursive_mutex’ does not declare anything + 28 | class std::recursive_mutex; + | ^~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h: In member function ‘void ListenSocket::Close()’: +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:36: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/LoginServer.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:7: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:20:38: error: ‘SOCKET’ has not been declared + 20 | virtual Socket *AssignSocket(SOCKET socket); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +In file included from /usr/include/sql.h:19, + from /usr/include/sqlext.h:43, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:5: +/usr/include/sqltypes.h:95:9: error: multiple types in one declaration + 95 | typedef char TCHAR; + | ^~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:123: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/tstring.h:11:15: error: declaration does not declare anything [-fpermissive] + 11 | #define TCHAR char + | ^~~~ +/usr/include/sqltypes.h:102:33: error: conflicting declaration ‘typedef unsigned int DWORD’ + 102 | typedef unsigned int DWORD; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:44:31: note: previous declaration as ‘typedef long unsigned int DWORD’ + 44 | typedef unsigned long DWORD; + | ^~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.cpp: In member function ‘bool Socket::Connect(const char*, uint32’: +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:22:31: error: ‘gethostbyname’ was not declared in this scope; did you mean ‘gethostname’? + 22 | struct hostent * ci = gethostbyname(Address); + | ^~~~~~~~~~~~~ + | gethostname +/home/monsterubuntu/knightonline/server/shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:26:33: error: invalid use of incomplete type ‘struct Socket::Connect(const char*, uint32)::hostent’ + 26 | m_client.sin_family = ci->h_addrtype; + | ^~ +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:22:16: note: forward declaration of ‘struct Socket::Connect(const char*, uint32)::hostent’ + 22 | struct hostent * ci = gethostbyname(Address); + | ^~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:113:48: error: ‘m_socket’ was not declared in this scope; did you mean ‘socket’? + 113 | SocketOps::CloseSocket(m_socket); + | ^~~~~~~~ + | socket +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:28:45: error: invalid use of incomplete type ‘struct Socket::Connect(const char*, uint32)::hostent’ + 28 | memcpy(&m_client.sin_addr.s_addr, ci->h_addr_list[0], ci->h_length); + | ^~ +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:22:16: note: forward declaration of ‘struct Socket::Connect(const char*, uint32)::hostent’ + 22 | struct hostent * ci = gethostbyname(Address); + | ^~~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:28:65: error: invalid use of incomplete type ‘struct Socket::Connect(const char*, uint32)::hostent’ + 28 | memcpy(&m_client.sin_addr.s_addr, ci->h_addr_list[0], ci->h_length); + | ^~ +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:22:16: note: forward declaration of ‘struct Socket::Connect(const char*, uint32)::hostent’ + 22 | struct hostent * ci = gethostbyname(Address); + | ^~~~~~~ +/home/monsterubuntu/knightonline/server/shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocket.h:21:52: error: ‘SOCKET’ has not been declared + 21 | KOSocket(uint16 socketID, SocketMgr * mgr, SOCKET fd, uint32 sendBufferSize, uint32 recvBufferSize); + | ^~~~~~ +In file included from /usr/include/sql.h:19, + from /usr/include/sqlext.h:43, + from /home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:5: +/usr/include/sqltypes.h:95:9: error: multiple types in one declaration + 95 | typedef char TCHAR; + | ^~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:123: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/tstring.h:11:15: error: declaration does not declare anything [-fpermissive] + 11 | #define TCHAR char + | ^~~~ +/usr/include/sqltypes.h:102:33: error: conflicting declaration ‘typedef unsigned int DWORD’ + 102 | typedef unsigned int DWORD; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/stdafx.h:44:31: note: previous declaration as ‘typedef long unsigned int DWORD’ + 44 | typedef unsigned long DWORD; + | ^~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:10: error: ‘Socket* KOSocketMgr::AssignSocket’ is not a static data member of ‘class KOSocketMgr’ + 104 | Socket * KOSocketMgr::AssignSocket(SOCKET socket) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:39: error: template definition of non-template ‘Socket* KOSocketMgr::AssignSocket’ + 104 | Socket * KOSocketMgr::AssignSocket(SOCKET socket) + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:30:29: error: ‘m_fd’ was not declared in this scope + 30 | SocketOps::Blocking(m_fd); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:30:33: error: ‘SocketOps::Blocking’ cannot be used as a function + 30 | SocketOps::Blocking(m_fd); + | ^ +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:33:35: error: ‘CreateTCPFileDescriptor’ is not a member of ‘SocketOps’ + 33 | m_fd = SocketOps::CreateTCPFileDescriptor(); + | ^~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:28:12: warning: declaration ‘class std::recursive_mutex’ does not declare anything + 28 | class std::recursive_mutex; + | ^~~~~~~~~~~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/LoginServer.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:7: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:20:38: error: ‘SOCKET’ has not been declared + 20 | virtual Socket *AssignSocket(SOCKET socket); + | ^~~~~~ +In file included from /home/monsterubuntu/knightonline/server/LogInServer/LoginServer.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:7: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:20:38: error: ‘SOCKET’ has not been declared + 20 | virtual Socket *AssignSocket(SOCKET socket); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:39: error: ‘SOCKET’ was not declared in this scope +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:39:9: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 39 | m_completionPort = m_socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:39:41: error: ‘class SocketMgr’ has no member named ‘GetCompletionPort’; did you mean ‘SetCompletionPort’? + 39 | m_completionPort = m_socketMgr->GetCompletionPort(); + | ^~~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/Socket.cpp: In member function ‘void Socket::Disconnect()’: +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:112:20: error: ‘CloseSocket’ is not a member of ‘SocketOps’ + 112 | SocketOps::CloseSocket(m_fd); + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/database/OdbcConnection.h:28:12: warning: declaration ‘class std::recursive_mutex’ does not declare anything + 28 | class std::recursive_mutex; + | ^~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:10: error: ‘Socket* KOSocketMgr::AssignSocket’ is not a static data member of ‘class KOSocketMgr’ + 104 | Socket * KOSocketMgr::AssignSocket(SOCKET socket) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:39: error: template definition of non-template ‘Socket* KOSocketMgr::AssignSocket’ + 104 | Socket * KOSocketMgr::AssignSocket(SOCKET socket) + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/Socket.cpp:112:32: error: ‘m_fd’ was not declared in this scope + 112 | SocketOps::CloseSocket(m_fd); + | ^~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:10: error: ‘Socket* KOSocketMgr::AssignSocket’ is not a static data member of ‘class KOSocketMgr’ + 104 | Socket * KOSocketMgr::AssignSocket(SOCKET socket) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:39: error: template definition of non-template ‘Socket* KOSocketMgr::AssignSocket’ + 104 | Socket * KOSocketMgr::AssignSocket(SOCKET socket) + | ^~~~~~ +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:188: CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/TimeThread.cpp.o] Error 1 +make[2]: *** Waiting for unfinished jobs.... +In file included from /home/monsterubuntu/knightonline/server/LogInServer/LoginServer.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:7: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:20:38: error: ‘SOCKET’ has not been declared + 20 | virtual Socket *AssignSocket(SOCKET socket); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:39: error: ‘SOCKET’ was not declared in this scope +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:39: error: ‘SOCKET’ was not declared in this scope +In file included from /home/monsterubuntu/knightonline/server/LogInServer/LoginServer.h:3, + from /home/monsterubuntu/knightonline/server/LogInServer/stdafx.h:7: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:20:38: error: ‘SOCKET’ has not been declared + 20 | virtual Socket *AssignSocket(SOCKET socket); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:10: error: ‘Socket* KOSocketMgr::AssignSocket’ is not a static data member of ‘class KOSocketMgr’ + 104 | Socket * KOSocketMgr::AssignSocket(SOCKET socket) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:39: error: template definition of non-template ‘Socket* KOSocketMgr::AssignSocket’ + 104 | Socket * KOSocketMgr::AssignSocket(SOCKET socket) + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:10: error: ‘Socket* KOSocketMgr::AssignSocket’ is not a static data member of ‘class KOSocketMgr’ + 104 | Socket * KOSocketMgr::AssignSocket(SOCKET socket) + | ^~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:39: error: template definition of non-template ‘Socket* KOSocketMgr::AssignSocket’ + 104 | Socket * KOSocketMgr::AssignSocket(SOCKET socket) + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:39: error: ‘SOCKET’ was not declared in this scope +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:104:39: error: ‘SOCKET’ was not declared in this scope +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:146: CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/globals.cpp.o] Error 1 +/home/monsterubuntu/knightonline/server/LogInServer/DBProcess.cpp: In member function ‘uint8 CDBProcess::PremiumInsert(std::string&, uint8, uint8)’: +/home/monsterubuntu/knightonline/server/LogInServer/DBProcess.cpp:102:14: warning: unused variable ‘strPremiums’ [-Wunused-variable] + 102 | char strPremiums[PREMIUM_TOTAL * 5] = {0}; + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In function ‘uint32 SocketCleanupThread(void*)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:12:46: warning: unused parameter ‘lpParam’ [-Wunused-parameter] + 12 | uint32 THREADCALL SocketCleanupThread(void * lpParam) + | ~~~~~~~^~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: In constructor ‘SocketMgr::SocketMgr()’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:51:14: warning: ‘SocketMgr::m_bWorkerThreadsActive’ will be initialized after [-Wreorder] + 51 | bool m_bWorkerThreadsActive; + | ^~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:45:14: warning: ‘bool SocketMgr::m_bShutdown’ [-Wreorder] + 45 | bool m_bShutdown; + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:31:1: warning: when initialized here [-Wreorder] + 31 | SocketMgr::SocketMgr() : m_threadCount(0), + | ^~~~~~~~~ +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:244: CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/RWLock.cpp.o] Error 1 +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:174: CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/Thread.cpp.o] Error 1 +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/LoginSession.cpp: In member function ‘void LoginSession::HandleLogi(Packet&)’: +/home/monsterubuntu/knightonline/server/LogInServer/LoginSession.cpp:174:48: error: cannot bind non-const lvalue reference of type ‘std::string&’ {aka ‘std::__cxx11::basic_string&’} to an rvalue of type ‘std::string’ {aka ‘std::__cxx11::basic_string’} + 174 | g_pMain->WriteUserLogFile(string_format("[ LOGIN - %d:%d:%d ] ID=%s Authentication=%s\n",time.GetHour(),time.GetMinute(),time.GetSecond(),account.c_str(),password.c_str(),sAuthMessage.c_str())); + | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/LoginServer.h:56:45: note: initializing argument 1 of ‘void LoginServer::WriteUserLogFile(std::string&)’ + 56 | void WriteUserLogFile(std::string & logMessage); + | ~~~~~~~~~~~~~~^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/LoginSession.cpp:109:15: warning: unused variable ‘PremCode’ [-Wunused-variable] + 109 | uint8 PremCode = 0; + | ^~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In member function ‘void SocketMgr::SpawnWorkerThreads()’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:51:9: error: ‘SYSTEM_INFO’ was not declared in this scope + 51 | SYSTEM_INFO si; + | ^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:202: CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/Socket.cpp.o] Error 1 +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:52:24: error: ‘si’ was not declared in this scope; did you mean ‘sin’? + 52 | GetSystemInfo(&si); + | ^~ + | sin +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:230: CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/Condition.cpp.o] Error 1 +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:52:9: error: ‘GetSystemInfo’ was not declared in this scope + 52 | GetSystemInfo(&si); + | ^~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In static member function ‘static uint32 SocketMgr::SocketWorkerThread(void*)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:70:9: error: ‘HANDLE’ was not declared in this scope + 70 | HANDLE cp = socketMgr->GetCompletionPort(); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:74:9: error: ‘LPOVERLAPPED’ was not declared in this scope + 74 | LPOVERLAPPED ol_ptr; + | ^~~~~~~~~~~~ +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:132: CMakeFiles/LoginServer.dir/stdafx.cpp.o] Error 1 +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:80:47: error: ‘cp’ was not declared in this scope + 80 | if(!GetQueuedCompletionStatus(cp, &len, (LPDWORD)&s, &ol_ptr, 10000)) + | ^~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:80:58: error: ‘LPDWORD’ was not declared in this scope; did you mean ‘DWORD’? + 80 | if(!GetQueuedCompletionStatus(cp, &len, (LPDWORD)&s, &ol_ptr, 10000)) + | ^~~~~~~ + | DWORD +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:80:71: error: ‘ol_ptr’ was not declared in this scope + 80 | if(!GetQueuedCompletionStatus(cp, &len, (LPDWORD)&s, &ol_ptr, 10000)) + | ^~~~~~ +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:76: CMakeFiles/LoginServer.dir/main.cpp.o] Error 1 +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:80:21: error: ‘GetQueuedCompletionStatus’ was not declared in this scope + 80 | if(!GetQueuedCompletionStatus(cp, &len, (LPDWORD)&s, &ol_ptr, 10000)) + | ^~~~~~~~~~~~~~~~~~~~~~~~~ +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:118: CMakeFiles/LoginServer.dir/DBProcess.cpp.o] Error 1 +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:86:40: error: ‘ol_ptr’ was not declared in this scope + 86 | ov = CONTAINING_RECORD(ol_ptr, OverlappedStruct, m_overlap); + | ^~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:86:64: error: expected primary-expression before ‘,’ token + 86 | ov = CONTAINING_RECORD(ol_ptr, OverlappedStruct, m_overlap); + | ^ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:86:66: error: ‘m_overlap’ was not declared in this scope + 86 | ov = CONTAINING_RECORD(ol_ptr, OverlappedStruct, m_overlap); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/LoginServer.cpp: In static member function ‘static uint32 LoginServer::Timer_UpdateUserCount(void*)’: +/home/monsterubuntu/knightonline/server/LogInServer/LoginServer.cpp:74:50: warning: unused parameter ‘lpParam’ [-Wunused-parameter] + 74 | uint32 LoginServer::Timer_UpdateUserCount(void * lpParam) + | ~~~~~~~^~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:86:22: error: ‘CONTAINING_RECORD’ was not declared in this scope + 86 | ov = CONTAINING_RECORD(ol_ptr, OverlappedStruct, m_overlap); + | ^~~~~~~~~~~~~~~~~ +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:104: CMakeFiles/LoginServer.dir/LoginSession.cpp.o] Error 1 +/home/monsterubuntu/knightonline/server/LogInServer/LoginServer.cpp: In member function ‘void LoginServer::GetInfoFromIni()’: +/home/monsterubuntu/knightonline/server/LogInServer/LoginServer.cpp:210:24: warning: unused variable ‘oldPos’ [-Wunused-variable] + 210 | size_t oldPos = 0, pos = 0; + | ^~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/LoginServer.cpp:210:36: warning: unused variable ‘pos’ [-Wunused-variable] + 210 | size_t oldPos = 0, pos = 0; + | ^~~ +/home/monsterubuntu/knightonline/server/LogInServer/LoginServer.cpp: In member function ‘void LoginServer::ReportSQLError(OdbcError*)’: +/home/monsterubuntu/knightonline/server/LogInServer/LoginServer.cpp:253:15: warning: left operand of comma operator has no effect [-Wunused-value] + 253 | TRACE("%s", errorMessage.c_str()); + | ^~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In member function ‘void SocketMgr::Initialise()’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:105:9: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 105 | m_completionPort = nullptr; + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In member function ‘void SocketMgr::CreateCompletionPort(’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:110:50: error: ‘INVALID_HANDLE_VALUE’ was not declared in this scope + 110 | SetCompletionPort(CreateIoCompletionPort(INVALID_HANDLE_VALUE, nullptr, (ULONG_PTR)0, 0)); + | ^~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:110:82: error: ‘ULONG_PTR’ was not declared in this scope; did you mean ‘ULONG_MAX’? + 110 | SetCompletionPort(CreateIoCompletionPort(INVALID_HANDLE_VALUE, nullptr, (ULONG_PTR)0, 0)); + | ^~~~~~~~~ + | ULONG_MAX +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:110:27: error: ‘CreateIoCompletionPort’ was not declared in this scope; did you mean ‘CreateCompletionPort’? + 110 | SetCompletionPort(CreateIoCompletionPort(INVALID_HANDLE_VALUE, nullptr, (ULONG_PTR)0, 0)); + | ^~~~~~~~~~~~~~~~~~~~~~ + | CreateCompletionPort +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In static member function ‘static void SocketMgr::SetupWinsock()’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:115:9: error: ‘WSADATA’ was not declared in this scope + 115 | WSADATA wsaData; + | ^~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:116:20: error: ‘MAKEWORD’ was not declared in this scope + 116 | WSAStartup(MAKEWORD(2,0), &wsaData); + | ^~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:116:36: error: ‘wsaData’ was not declared in this scope + 116 | WSAStartup(MAKEWORD(2,0), &wsaData); + | ^~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:116:9: error: ‘WSAStartup’ was not declared in this scope + 116 | WSAStartup(MAKEWORD(2,0), &wsaData); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In function ‘void HandleShutdown(Socket*, uint32)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:152:30: warning: unused parameter ‘s’ [-Wunused-parameter] + 152 | void HandleShutdown(Socket * s, uint32 len) {} + | ~~~~~~~~~^ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:152:40: warning: unused parameter ‘len’ [-Wunused-paramete] + 152 | void HandleShutdown(Socket * s, uint32 len) {} + | ~~~~~~~^~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In member function ‘virtual void SocketMgr::OnConnect(Socket*)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:154:35: warning: unused parameter ‘pSock’ [-Wunused-parameter] + 154 | void SocketMgr::OnConnect(Socket *pSock) {} + | ~~~~~~~~^~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In member function ‘virtual void SocketMgr::DisconnectCallback(Socket*)’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:155:44: warning: unused parameter ‘pSock’ [-Wunused-parameter] + 155 | void SocketMgr::DisconnectCallback(Socket *pSock) {} + | ~~~~~~~~^~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In member function ‘void SocketMgr::ShutdownThreads()’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:165:36: error: ‘m_completionPort’ was not declared in this scope; did you mean ‘SetCompletionPort’? + 165 | PostQueuedCompletionStatus(m_completionPort, 0, (ULONG_PTR)0, &ov->m_overlap); + | ^~~~~~~~~~~~~~~~ + | SetCompletionPort +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In instantiation of ‘ListenSocket::ListenSocket(SocketMgr*, const char*, uint32) [with T = LoginSession; uint32 = unsigned int]’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:95:13: required from ‘bool KOSocketMgr::Listen(std::string, uint16, uint16) [with T = LoginSession; std::string = std::__cxx11::basic_string; uint16 = short unsigned int]’ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:84:15: required from ‘bool KOSocketMgr::Listen(uint16, uint16) [with T = LoginSession; uint16 = short unsigned int]’ +/home/monsterubuntu/knightonline/server/LogInServer/LoginServer.cpp:61:29: required from here +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:37:66: error: ‘gethostbyname’ was not declared in this scope; did you mean ‘gethostname’? + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ~~~~~~~~~~~~~^~~~~~~~~~~~~~~ + | gethostname +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:39:78: error: invalid use of incomplete type ‘struct ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)::hostent’ + 39 | memcpy(&m_address.sin_addr.s_addr, hostname->h_addr_list[0], hostname->h_length); + | ~~~~~~~~~~^~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:37:32: note: declaration of ‘struct ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)::hostent’ + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:39:104: error: invalid use of incomplete type ‘struct ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)::hostent’ + 39 | memcpy(&m_address.sin_addr.s_addr, hostname->h_addr_list[0], hostname->h_length); + | ~~~~~~~~~~^~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:37:32: note: declaration of ‘struct ListenSocket::ListenSocket(SocketMgr*, const char*, uint32)::hostent’ + 37 | struct hostent * hostname = gethostbyname(ListenAddress); + | ^~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:165:58: error: ‘ULONG_PTR’ was not declared in this scope; did you mean ‘ULONG_MAX’? + 165 | PostQueuedCompletionStatus(m_completionPort, 0, (ULONG_PTR)0, &ov->m_overlap); + | ^~~~~~~~~ + | ULONG_MAX +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:165:76: error: ‘class OverlappedStruct’ has no member named ‘m_overlap’ + 165 | PostQueuedCompletionStatus(m_completionPort, 0, (ULONG_PTR)0, &ov->m_overlap); + | ^~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h: In instantiation of ‘uint32 ListenSocketThread(void*) [with T = LoginSession; uint32 = unsigned int]’: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:69:17: required from ‘bool ListenSocket::run() [with T = LoginSession]’ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/KOSocketMgr.h:26:19: required from ‘void KOSocketMgr::RunServer() [with T = LoginSession]’ +/home/monsterubuntu/knightonline/server/LogInServer/LoginServer.cpp:68:27: required from here +/home/monsterubuntu/knightonline/server/LogInServer/../shared/ListenSocketWin32.h:13:45: warning: unused parameter ‘lpParam’ [-Wunused-parameter] + 13 | uint32 THREADCALL ListenSocketThread(void * lpParam) + | ~~~~~~~^~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:165:9: error: ‘PostQueuedCompletionStatus’ was not declared in this scope + 165 | PostQueuedCompletionStatus(m_completionPort, 0, (ULONG_PTR)0, &ov->m_overlap); + | ^~~~~~~~~~~~~~~~~~~~~~~~~~ +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp: In static member function ‘static void SocketMgr::CleanupSockets()’: +/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp:204:9: error: ‘WSACleanup’ was not declared in this scope + 204 | WSACleanup(); + | ^~~~~~~~~~ +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h: At global scope: +/home/monsterubuntu/knightonline/server/LogInServer/../shared/SocketMgr.h:69:25: warning: ‘ophandlers’ defined but not used [-Wunused-variable] + 69 | static OperationHandler ophandlers[] = + | ^~~~~~~~~~ +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:90: CMakeFiles/LoginServer.dir/LoginServer.cpp.o] Error 1 +make[2]: *** [CMakeFiles/LoginServer.dir/build.make:216: CMakeFiles/LoginServer.dir/home/monsterubuntu/knightonline/server/shared/SocketMgr.cpp.o] Error 1 +make[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/LoginServer.dir/all] Error 2 +make: *** [Makefile:91: all] Error 2 +[2025-08-29 22:04:34] ERROR: Build failed \ No newline at end of file diff --git a/server/shared/ListenSocketLinux.h b/server/shared/ListenSocketLinux.h new file mode 100644 index 0000000..fc4cb89 --- /dev/null +++ b/server/shared/ListenSocketLinux.h @@ -0,0 +1,179 @@ +#pragma once + +#ifndef _WIN32 +// Linux-specific listen socket implementation + +#include +#include + +template +class ListenSocket +{ +public: + ListenSocket() + { + m_socket = -1; + m_epfd = -1; + m_shutdown = false; + m_socketMgr = nullptr; + } + + ~ListenSocket() + { + Close(); + } + + bool Open(uint32 port, const char * hostname, uint32 listenBacklogSize, uint32 sendBufferSize, uint32 recvBufferSize) + { + // Create socket + m_socket = socket(AF_INET, SOCK_STREAM, 0); + if (m_socket == INVALID_SOCKET) + return false; + + // Set socket options + int arg = 1; + setsockopt(m_socket, SOL_SOCKET, SO_REUSEADDR, &arg, sizeof(arg)); + + // Set non-blocking + SocketOps::Nonblocking(m_socket); + + // Disable buffering + SocketOps::DisableBuffering(m_socket); + + // Bind socket + struct sockaddr_in address; + memset(&address, 0, sizeof(address)); + address.sin_family = AF_INET; + address.sin_port = htons(port); + + if (hostname && strlen(hostname) > 0) + { + struct hostent * hostname_entry = gethostbyname(hostname); + if (hostname_entry == nullptr) + { + close(m_socket); + return false; + } + memcpy(&address.sin_addr.s_addr, hostname_entry->h_addr_list[0], hostname_entry->h_length); + } + else + { + address.sin_addr.s_addr = htonl(INADDR_ANY); + } + + if (bind(m_socket, (struct sockaddr*)&address, sizeof(address)) == SOCKET_ERROR) + { + close(m_socket); + return false; + } + + // Listen + if (listen(m_socket, listenBacklogSize) == SOCKET_ERROR) + { + close(m_socket); + return false; + } + + // Create epoll instance + m_epfd = epoll_create1(0); + if (m_epfd == -1) + { + close(m_socket); + return false; + } + + // Add listen socket to epoll + struct epoll_event ev; + ev.events = EPOLLIN; + ev.data.fd = m_socket; + if (epoll_ctl(m_epfd, EPOLL_CTL_ADD, m_socket, &ev) == -1) + { + close(m_epfd); + close(m_socket); + return false; + } + + return true; + } + + void Close() + { + m_shutdown = true; + + if (m_socket != INVALID_SOCKET) + { + SocketOps::CloseSocket(m_socket); + m_socket = INVALID_SOCKET; + } + + if (m_epfd != -1) + { + close(m_epfd); + m_epfd = -1; + } + } + + void SetSocketMgr(T * mgr) + { + m_socketMgr = mgr; + } + + uint32 GetFileDescriptor() { return m_socket; } + + void run() + { + const int MAX_EVENTS = 64; + struct epoll_event events[MAX_EVENTS]; + struct sockaddr_in tempAddress; + socklen_t len; + + while (!m_shutdown) + { + int nfds = epoll_wait(m_epfd, events, MAX_EVENTS, 100); // 100ms timeout + + if (nfds == -1) + { + if (errno != EINTR) + break; + continue; + } + + for (int i = 0; i < nfds; ++i) + { + if (events[i].data.fd == m_socket) + { + // New connection + len = sizeof(sockaddr_in); + int aSocket = accept(m_socket, (sockaddr*)&tempAddress, &len); + if (aSocket == INVALID_SOCKET) + continue; + + Socket *socket = m_socketMgr->AssignSocket(aSocket); + if (socket == nullptr) + { + SocketOps::CloseSocket(aSocket); + continue; + } + + socket->SetCompletionPort(m_epfd); + socket->Accept(&tempAddress); + } + } + } + } + + static void* ListenThreadProcedure(void* lpParam) + { + ListenSocket * ls = (ListenSocket *)lpParam; + ls->run(); + return nullptr; + } + +private: + T * m_socketMgr; + int m_socket; + int m_epfd; + bool m_shutdown; +}; + +#endif // !_WIN32 \ No newline at end of file diff --git a/server/shared/Network.h b/server/shared/Network.h index 13d97f5..4d0f9b6 100644 --- a/server/shared/Network.h +++ b/server/shared/Network.h @@ -5,7 +5,12 @@ #include "SocketOps.h" #include "Socket.h" #include "SocketMgr.h" -#include "ListenSocketWin32.h" + +#ifdef _WIN32 + #include "ListenSocketWin32.h" +#else + #include "ListenSocketLinux.h" +#endif #include "JvCryption.h" #include "KOSocket.h" \ No newline at end of file diff --git a/server/shared/SocketDefines.h b/server/shared/SocketDefines.h index 60bba8e..4853bc3 100644 --- a/server/shared/SocketDefines.h +++ b/server/shared/SocketDefines.h @@ -11,26 +11,42 @@ enum SocketIOEvent class OverlappedStruct { public: +#ifdef _WIN32 OVERLAPPED m_overlap; +#else + // Linux equivalent using epoll data + struct { + unsigned long Internal; + unsigned long InternalHigh; + union { + struct { + unsigned long Offset; + unsigned long OffsetHigh; + }; + void* Pointer; + }; + int hEvent; + } m_overlap; +#endif SocketIOEvent m_event; Atomic m_inUse; OverlappedStruct(SocketIOEvent ev) : m_event(ev) { - memset(&m_overlap, 0, sizeof(OVERLAPPED)); + memset(&m_overlap, 0, sizeof(m_overlap)); m_inUse = false; }; OverlappedStruct() { - memset(&m_overlap, 0, sizeof(OVERLAPPED)); + memset(&m_overlap, 0, sizeof(m_overlap)); m_inUse = false; } INLINE void Reset(SocketIOEvent ev) { - memset(&m_overlap, 0, sizeof(OVERLAPPED)); + memset(&m_overlap, 0, sizeof(m_overlap)); m_event = ev; } diff --git a/server/shared/SocketOpsLinux.cpp b/server/shared/SocketOpsLinux.cpp new file mode 100644 index 0000000..d0f7b13 --- /dev/null +++ b/server/shared/SocketOpsLinux.cpp @@ -0,0 +1,81 @@ +#include "stdafx.h" +#include "SocketOps.h" + +namespace SocketOps +{ +#ifdef _WIN32 + // Windows implementation (existing) + SOCKET CreateTCPFileDescriptor() + { + return WSASocket(AF_INET, SOCK_STREAM, 0, NULL, 0, WSA_FLAG_OVERLAPPED); + } + + bool Nonblocking(SOCKET fd) + { + unsigned long arg = 1; + return (ioctlsocket(fd, FIONBIO, &arg) == 0); + } + + bool Blocking(SOCKET fd) + { + unsigned long arg = 0; + return (ioctlsocket(fd, FIONBIO, &arg) == 0); + } + + bool DisableBuffering(SOCKET fd) + { + int arg = 1; + return (setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (const char*)&arg, sizeof(int)) == 0); + } + + bool EnableBuffering(SOCKET fd) + { + int arg = 0; + return (setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, (const char*)&arg, sizeof(int)) == 0); + } + + void CloseSocket(SOCKET fd) + { + shutdown(fd, SD_BOTH); + closesocket(fd); + } +#else + // Linux implementation + SOCKET CreateTCPFileDescriptor() + { + return socket(AF_INET, SOCK_STREAM, 0); + } + + bool Nonblocking(SOCKET fd) + { + int flags = fcntl(fd, F_GETFL, 0); + if (flags == -1) return false; + return (fcntl(fd, F_SETFL, flags | O_NONBLOCK) == 0); + } + + bool Blocking(SOCKET fd) + { + int flags = fcntl(fd, F_GETFL, 0); + if (flags == -1) return false; + return (fcntl(fd, F_SETFL, flags & ~O_NONBLOCK) == 0); + } + + bool DisableBuffering(SOCKET fd) + { + int arg = 1; + return (setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &arg, sizeof(int)) == 0); + } + + bool EnableBuffering(SOCKET fd) + { + int arg = 0; + return (setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &arg, sizeof(int)) == 0); + } + + void CloseSocket(SOCKET fd) + { + shutdown(fd, SHUT_RDWR); + close(fd); + } +#endif +} \ No newline at end of file diff --git a/server/shared/stdafx.h b/server/shared/stdafx.h index 65ce632..0634a5d 100644 --- a/server/shared/stdafx.h +++ b/server/shared/stdafx.h @@ -21,12 +21,14 @@ #include #include #include + #include #include #include #include #include #include #include + #include #include #define THREADCALL @@ -42,8 +44,46 @@ // Windows types for Linux typedef int BOOL; typedef unsigned long DWORD; + typedef int SOCKET; + typedef int HANDLE; + typedef void* LPVOID; + typedef unsigned long* LPDWORD; #define TRUE 1 #define FALSE 0 + #define INVALID_SOCKET -1 + #define SOCKET_ERROR -1 + #define INVALID_HANDLE_VALUE -1 + + // Windows socket functions mapping to Linux + #define WSASocket(af, type, protocol, lpProtocolInfo, g, dwFlags) socket(af, type, protocol) + #define WSAAccept(s, addr, addrlen, lpfnCondition, dwCallbackData) accept(s, addr, addrlen) + #define WSAGetLastError() errno + #define closesocket(s) close(s) + #define ioctlsocket(s, cmd, argp) ioctl(s, cmd, argp) + #define SD_BOTH SHUT_RDWR + #define FIONBIO O_NONBLOCK + + // Additional socket constants + #define WSAEWOULDBLOCK EWOULDBLOCK + #define WSAECONNRESET ECONNRESET + #define WSAENOTCONN ENOTCONN + + // OVERLAPPED structure equivalent for Linux (using epoll) + typedef struct { + unsigned long Internal; + unsigned long InternalHigh; + union { + struct { + unsigned long Offset; + unsigned long OffsetHigh; + }; + void* Pointer; + }; + HANDLE hEvent; + } OVERLAPPED, *LPOVERLAPPED; + + #define CONTAINING_RECORD(address, type, field) \ + ((type *)((char*)(address) - (char*)&(((type *)0)->field))) #endif #if defined(_DEBUG) || defined(DEBUG)