#pragma once

#include <Core/Networking/Socket.h>

// Windows uses a non standard header to define its socket types.
// Because of that we need to include those in this header.
// TODO : implement for other platforms
// #if JULIET_WIN32
// #include <WinSock2.h>
// #else
// // UNIMPLEMENT_SOCKETS
// #endif

namespace Juliet::SocketImpl
{
    using MessageLenghtType = int;

    sockaddr_in    CreateAddress(uint32 address, uint16 port);
    SOCKET         GetInvalidSocketHandle();
    void           Close(SOCKET socketHandle);
    const char*    GetErrorString();
    Socket::Status GetErrorStatus();
} // namespace Juliet::SocketImpl
