io_uring_prep_fixed_fd_install(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | SEE ALSO | COLOPHON

io_uring_pr..._fd_install(3) liburing Manual io_uring_pr..._fd_install(3)

NAME         top

       io_uring_prep_fixed_fd_install - prepare fixed file fd
       installation request

SYNOPSIS         top

       #include <liburing.h>

       void io_uring_prep_fixed_fd_install(struct io_uring_sqe *sqe,
                                           int fd,
                                           unsigned int flags);

DESCRIPTION         top

       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
       flags file installation flags.

       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.

       flags may be either zero, or set to IORING_FIXED_FD_NO_CLOEXEC to
       indicate that the new regular file descriptor should not be closed
       during exec. By default, O_CLOEXEC will be set on the new
       descriptor otherwise. Setting this field to anything but those two
       values will result in the request being failed with -EINVAL in the
       CQE res field.

RETURN VALUE         top

       None

ERRORS         top

       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         top

       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         top

       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 2025-02-02.  (At that time,
       the date of the most recent commit that was found in the
       repository was 2025-01-22.)  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)