io_uring_prep_fixed_fd_install(3) — Linux manual page
io_uring_pr..._fd_install(3) liburing Manualio_uring_pr..._fd_install(3)
NAME
io_uring_prep_fixed_fd_install - prepare fixed file fd
installation request
SYNOPSIS
#include <liburing.h>
void io_uring_prep_fixed_fd_install(struct io_uring_sqe *sqe,
int fd,
unsigned int file_flags,
unsigned int flags);
DESCRIPTION
The io_uring_prep_fixed_fd_install(3) helper prepares a fixed
file descriptor installation. The submission queue entry sqe is
setup to install the direct/fixed file descriptor fd with the
specified file_flags file installation flags, and the flags
request specific flags into the normal process file table.
One use case of direct/fixed file descriptors is to turn a
regular file descriptor into a direct one, reducing the overhead
of any request that needs to access this file. This helper
provides a way to go the other way, turning a direct descriptor
into a regular file descriptor that can then subsequently be used
by regular system calls that take a normal file descriptor. This
can be handy if no regular file descriptor exists for this direct
descriptor. Either because it was instantiated directly as a
fixed descriptor, or because the regular file was closed with
close(2) after being turned into a direct descriptor.
Upon successful return of this request, both a normal and fixed
file descriptor exists for the same file. Either one of them may
be used to access the file. Either one of them may be closed
without affecting the other one.
file_flags may be either zero, or set to O_CLOEXEC to indicate
that the new regular file descriptor should be closed during
exec. Setting this field to anything but those two values will
result in the request being failed with -EINVAL in the CQE res
field.
flags is as-of yet unused and must be set to zero.
RETURN VALUE
None
ERRORS
The CQE res field will contain the result of the operation, which
in this case will be the value of the new regular file
descriptor. In case of failure, a negative value is returned.
SEE ALSO
io_uring_get_sqe(3), io_uring_submit(3),
io_uring_register_files(3), io_uring_unregister_files(3),
io_uring_prep_close_direct(3), io_uring_prep_openat_direct(3)
COLOPHON
This page is part of the liburing (A library for io_uring)
project. Information about the project can be found at
⟨https://github.com/axboe/liburing⟩. If you have a bug report for
this manual page, send it to io-uring@vger.kernel.org. This page
was obtained from the project's upstream Git repository
⟨https://github.com/axboe/liburing⟩ on 2024-06-14. (At that
time, the date of the most recent commit that was found in the
repository was 2024-06-03.) If you discover any rendering
problems in this HTML version of the page, or you believe there
is a better or more up-to-date source for the page, or you have
corrections or improvements to the information in this COLOPHON
(which is not part of the original manual page), send a mail to
man-pages@man7.org
liburing-2.6 December 8, 2023io_uring_pr..._fd_install(3)
Pages that refer to this page: io_uring_prep_fixed_fd_install(3)