.\" Copyright (C) 2022 Jens Axboe <axboe@kernel.dk>
.\"
.\" SPDX-License-Identifier: LGPL-2.0-or-later
.\"
.TH io_uring_prep_recvmsg 3 "March 12, 2022" "liburing-2.2" "liburing Manual"
.SH NAME
io_uring_prep_recvmsg  - prepare a recvmsg request
.fi
.SH SYNOPSIS
.nf
.BR "#include <sys/types.h>"
.BR "#include <sys/socket.h>"
.BR "#include <liburing.h>"
.PP
.BI "void io_uring_prep_recvmsg(struct io_uring_sqe *" sqe ","
.BI "                           int " fd ","
.BI "                           struct msghdr *" msg ","
.BI "                           unsigned " flags ");"
.PP
.SH DESCRIPTION
.PP
The io_uring_prep_recvmsg() function prepares a recvmsg request. The submission
queue entry
.I sqe
is setup to use the file descriptor
.I fd
to start receiving the data indicated by
.I msg
with the
.BR recvmsg (2)
defined flags in the
.I flags
argument.

This function prepares an async
.BR recvmsg (2)
request. See that man page for details.

.SH RETURN VALUE
None
.SH ERRORS
The CQE
.I 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
.B -1
on failure and set
.I errno
to the actual error value, io_uring never uses
.I errno.
Instead it returns the negated
.I errno
directly in the CQE
.I res
field.
.SH NOTES
As with any request that passes in data in a struct, that data must remain
valid until the request has been successfully submitted. It need not remain
valid until completion. Once a request has been submitted, the in-kernel
state is stable. Very early kernels (5.4 and earlier) required state to be
stable until the completion occurred. Applications can test for this
behavior by inspecting the
.B IORING_FEAT_SUBMIT_STABLE
flag passed back from
.BR io_uring_queue_init_params (3).
.SH SEE ALSO
.BR io_uring_get_sqe (3), io_uring_submit (3), recvmsg (2)
