ReXGlue SDK
Loading...
Searching...
No Matches
socket.h File Reference
#include <chrono>
#include <span>
#include <utility>
#include <rex/platform.h>
#include <rex/bit.h>
#include <rex/platform/thread.h>
#include <rex/platform/sync.h>
#include <rex/types.h>
#include <rex/utility.h>

Go to the source code of this file.

Classes

struct  rex::platform::SocketWait
class  rex::platform::Socket

Namespaces

namespace  rex
namespace  rex::platform

Typedefs

using rex::platform::SocketHandle = i64

Enumerations

enum class  rex::platform::SocketReady : u8 { kNone = 0 , rex::platform::kRead = 1 << 0 , rex::platform::kWrite = 1 << 1 , rex::platform::kExcept = 1 << 2 }

Functions

int rex::platform::SocketClose (SocketHandle handle)
int rex::platform::SocketIOCTL (SocketHandle handle, u32 cmd, u8 *arg)
int rex::platform::SocketPrepare (SocketHandle handle, WaitHandle *event)
bool rex::platform::IsSocketWouldBlock ()
u32 rex::platform::GetSocketError ()
int rex::platform::PollSockets (std::span< const SocketWait > sockets, std::span< SocketReady > ready)
WaitResult rex::platform::WaitSockets (std::span< const SocketWait > sockets, bool alertable, std::chrono::milliseconds timeout)

Variables

constexpr SocketHandle rex::platform::kInvalidSocket = -1

Detailed Description

License
BSD 3-Clause License See LICENSE file in the project root for full license text.