table of contents
io_uring_prep_cmd(3) | liburing Manual | io_uring_prep_cmd(3) |
NAME¶
io_uring_prep_cmd_sock - prepare a command request for a socket
SYNOPSIS¶
#include <liburing.h>
void io_uring_prep_cmd_sock(struct io_uring_sqe *sqe, int cmd_op, int fd, int level, int optname, void *optval, int optlen);
DESCRIPTION¶
The io_uring_prep_cmd_sock(3) function prepares an cmd request for a socket. The submission queue entry sqe is setup to use the socket file descriptor pointed to by fd to start an command operation defined by cmd_op.
This is a generic function, and each command has their own individual level, optname, optval values. The optlen defines the size pointed by optval.
Available commands¶
- SOCKET_URING_OP_SIOCINQ
- Returns the amount of queued unread data in the receive buffer. The socket
must not be in LISTEN state, otherwise an error -EINVAL is returned
in the CQE res field. The following arguments are not used for this
command level, optname, optval and optlen.
Negative return value means an error.
For more information about this command, please check unix(7).
- SOCKET_URING_OP_SIOCOUTQ
- Returns the amount of unsent data in the socket send queue. The socket
must not be in LISTEN state, otherwise an error -EINVAL is returned
in the CQE res. field. The following arguments are not used for
this command level, optname, optval and optlen.
Negative return value means an error.
For more information about this command, please check unix(7).
- SOCKET_URING_OP_GETSOCKOPT
- Command to get options for the socket referred to by the socket file
descriptor fd. The arguments are similar to the
getsockopt(2) system call.
The SOCKET_URING_OP_GETSOCKOPT command is limited to SOL_SOCKET level.
Differently from the getsockopt(2) system call, the updated optlen value is returned in the CQE res field, on success. On failure, the CQE res contains a negative error number.
- SOCKET_URING_OP_SETSOCKOPT
- Command to set options for the socket referred to by the socket file descriptor fd. The arguments are similar to the setsockopt(2) system call.
NOTES¶
The memory block pointed by optval needs to be valid/live until the CQE returns.
RETURN VALUE¶
Dependent on the command.
ERRORS¶
The CQE res field will contain the result of the operation.
SEE ALSO¶
io_uring_get_sqe(3), io_uring_submit(3), io_uring_register(2), unix(7)
July 27, 2023 | liburing-2.5 |