XSocket
typedef SOCKET XSocket;
typedef SOCKET XSocket;
typedef enum{
X_NET_SOCK_STREAM=1,
X_NET_SOCK_DGRAM=2,
}XSocketType;
Bind a UDP socket to any local IPv4 address (system-chosen port/address if applicable).
bool x_net_bind_any_udp(XSocket sock);
XSocket sockTrue on success, false on failure.
Bind a UDP socket to any local IPv6 address (system-chosen port/address if applicable).
bool x_net_bind_any_udp6(XSocket sock);
XSocket sockTrue on success, false on failure.
Close a socket handle.
void x_net_close(XSocket sock);
XSocket sockNothing.
Enable or disable non-blocking mode on a socket.
int32_t x_net_set_nonblocking(
XSocket sock,
int32_t nonblocking
);
XSocket sockint32_t nonblocking0 on success, or -1 on error.
Create a socket with the specified address family and socket type.
XSocket x_net_socket(
XAddressFamily family,
XSocketType type
);
XAddressFamily familyXSocketType typeNew socket handle, or an invalid socket value on failure.
Check whether a socket handle represents a valid socket.
bool x_net_socket_is_valid(XSocket sock);
XSocket sockTrue if the socket is valid, false otherwise.
Create an IPv4 TCP socket.
XSocket x_net_socket_tcp4(void);
New socket handle, or an invalid socket value on failure.
Create an IPv6 TCP socket.
XSocket x_net_socket_tcp6(void);
New socket handle, or an invalid socket value on failure.
Create an IPv4 UDP socket.
XSocket x_net_socket_udp4(void);
New socket handle, or an invalid socket value on failure.
Create an IPv6 UDP socket.
XSocket x_net_socket_udp6(void);
New socket handle, or an invalid socket value on failure.