Files
VoidNet/include/Init.hpp
2019-10-12 18:04:36 +01:00

40 lines
599 B
C++

#pragma once
#ifdef _MSC_VER
#include <winsock2.h>
#include <ws2tcpip.h>
namespace std::net
{
namespace priv
{
static WSADATA WsaData;
static bool Initialized;
}
inline static bool Initialize()
{
if (priv::Initialized) return true;
return (priv::Initialized = WSAStartup(MAKEWORD(2, 2), &priv::WsaData)) == 0;
}
inline static void Cleanup()
{
if (priv::Initialized)
{
WSACleanup();
priv::Initialized = false;
}
}
}
#else
namespace std::net
{
inline static bool Initialize() { return true; }
inline static void Cleanup() { }
}
#endif