NAME |SYNOPSIS |DESCRIPTION |RETURN VALUE |ERRORS |SEE ALSO |COLOPHON | |
io_uring_pr..._fd_install(3) liburing Manualio_uring_pr..._fd_install(3)io_uring_prep_fixed_fd_install - prepare fixed file fd installation request
#include <liburing.h>void io_uring_prep_fixed_fd_install(struct io_uring_sqe *sqe,intfd,unsigned intflags);
Theio_uring_prep_fixed_fd_install(3) helper prepares a fixed file descriptor installation. The submission queue entrysqe is setup to install the direct/fixed file descriptorfd with the specifiedflags 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 withclose(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 toIORING_FIXED_FD_NO_CLOEXECto indicate that the new regular file descriptor should not be closed during exec. By default,O_CLOEXECwill be set on the new descriptor otherwise. Setting this field to anything but those two values will result in the request being failed with-EINVALin the CQEres field.
None
The CQEres 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.
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)
This page is part of theliburing (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-08-11. (At that time, the date of the most recent commit that was found in the repository was 2025-08-02.) 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 isnot part of the original manual page), send a mail to man-pages@man7.orgliburing-2.6 December 8, 2023io_uring_pr..._fd_install(3)Pages that refer to this page:io_uring_prep_fixed_fd_install(3)
HTML rendering created 2025-09-06 byMichael Kerrisk, author ofThe Linux Programming Interface. For details of in-depthLinux/UNIX system programming training courses that I teach, lookhere. Hosting byjambit GmbH. | ![]() |