Summary
Create a socket.
Declaration
#include <zircon/syscalls.h>
zx_status_t zx_socket_create(uint32_t options,
zx_handle_t* out0,
zx_handle_t* out1);
Description
zx_socket_create()
creates a socket, a connected pair of
bidirectional stream transports, that can move only data, and that
have a maximum capacity.
Data written to one handle may be read from the opposite.
The options must set either the ZX_SOCKET_STREAM
or
ZX_SOCKET_DATAGRAM
flag.
Rights
Caller job policy must allow ZX_POL_NEW_SOCKET
.
Return value
zx_socket_create()
returns ZX_OK
on success. In the event of
failure, one of the following values is returned.
Errors
ZX_ERR_INVALID_ARGS
out0 or out1 is an invalid pointer or NULL or
options is any value other than ZX_SOCKET_STREAM
or ZX_SOCKET_DATAGRAM
.
ZX_ERR_NO_MEMORY
Failure due to lack of memory.
There is no good way for userspace to handle this (unlikely) error.
In a future build this error will no longer occur.
LIMITATIONS
The maximum capacity is not currently set-able.