table of contents
- unstable 2.13-1
| io_uring_prep_getsockname(3) | liburing Manual | io_uring_prep_getsockname(3) |
NAME¶
io_uring_prep_getsockname - prepare a getsockname or getpeername request
SYNOPSIS¶
#include <sys/socket.h> #include <liburing.h>
void io_uring_prep_getsockname(struct io_uring_sqe *sqe,
int sockfd,
struct sockaddr *sockaddr,
socklen_t *sockaddr_len,
int peer);
DESCRIPTION¶
The io_uring_prep_getsockname(3) function prepares a getsockname/getpeername request. The submission queue entry sqe is setup to fetch the locally bound address or peer address of the socket file descriptor pointed by sockfd. The parameter sockaddr points to a region of size sockaddr_len where the output is written. sockaddr_len is modified by the kernel to indicate how many bytes were written. The output address is the locally bound address if peer is set to 0 or the peer address if peer is set to 1.
This function prepares an async getsockname(2) or getpeername(2) request. See those man pages for details.
RETURN VALUE¶
None
ERRORS¶
The CQE res field will contain the result of the operation. See the related man page for details on possible values. Note that where synchronous system calls will return -1 on failure and set errno to the actual error value, io_uring never uses errno. Instead it returns the negated errno directly in the CQE res field. Differently from the equivalent system calls, if the user attempts to use this operation on a non-socket file descriptor, the CQE error result is -ENOTSUP instead of ENOSOCK.
SEE ALSO¶
io_uring_get_sqe(3), io_uring_submit(3), io_uring_prep_getsockname(2) io_uring_prep_getpeername(2)
| December 3, 2025 | liburing-2.13 |