Expand description
Scarlet-private, OS-agnostic control opcodes for Socket operations. These are stable only within Scarlet and must be mapped by ABI adapters.
Constants§
- SCTL_
SOCKET_ BIND - Magic ‘SS’ (0x53, 0x53) followed by sequential IDs to avoid collisions.
- SCTL_
SOCKET_ CONNECT - Connect to remote address (arg = address structure pointer)
- SCTL_
SOCKET_ GETPEERNAME - Get peer address (arg = buffer pointer for address)
- SCTL_
SOCKET_ GETSOCKNAME - Get local address (arg = buffer pointer for address)
- SCTL_
SOCKET_ GET_ NONBLOCK - Get socket non-blocking mode (returns 0 or 1)
- SCTL_
SOCKET_ GET_ STATE - Get socket state (returns SocketState value)
- SCTL_
SOCKET_ GET_ TYPE - Get socket type (returns SocketType value)
- SCTL_
SOCKET_ IS_ CONNECTED - Check if connected (returns 0 or 1)
- SCTL_
SOCKET_ LISTEN - Start listening for connections (arg = backlog size)
- SCTL_
SOCKET_ SET_ NONBLOCK - Set socket to non-blocking mode (arg: 0=blocking, 1=non-blocking)
- SCTL_
SOCKET_ SHUTDOWN - Shutdown socket (arg: 0=read, 1=write, 2=both)