# io_uring: add direct operations · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/256384a2ec2f67fc1b9380be987c63d5702f180c)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 256384a2ec2f67fc1b9380be987c63d5702f180c

Requested commit: 256384a2ec2f67fc1b9380be987c63d5702f180c

Commit: 256384a2ec2f67fc1b9380be987c63d5702f180c

Tree: 9211cb9980ca3f461b661a4b6d9e445b1d4dfa36

Author: Igor Anić

Committer: Igor Anić

## Message

```
io_uring: add direct operations

Add operation on direct file descriptors. Also referred to as fixed or
registered files.

References:
https://kernel.dk/axboe-kr2022.pdf
https://lwn.net/Articles/863071/

Added functions:

IO_Uring
  accept_direct
  accept_multishot_direct
  openat_direct
  close_direct
  socket
  socket_direct
  socket_direct_alloc

Raw prepare operations:
  io_uring_prep_accept_direct
  io_uring_prep_multishot_accept_direct
  io_uring_prep_openat_direct
  io_uring_prep_close_direct
  io_uring_prep_socket
  io_uring_prep_socket_direct
  io_uring_prep_socket_direct_alloc

Tested on this kernels:

5.4.0-164-generic
2559 passed; 70 skipped; 0 failed.

5.8.0-63-generic
2573 passed; 56 skipped; 0 failed.

5.11.0-49-generic
2576 passed; 53 skipped; 0 failed.

5.13.0-52-generic
2576 passed; 53 skipped; 0 failed.

5.15.0-87-generic
2579 passed; 50 skipped; 0 failed.

5.19.0-46-geneic
2584 passed; 45 skipped; 0 failed.

6.2.0-35-generic.log
2585 passed; 44 skipped; 0 failed.

6.5.0-9-generic
2585 passed; 44 skipped; 0 failed.

```

## Parents

- [087ee497d430d30bd9c7a2cdfdfc3d2654d105d3](https://git.cafe/gitcafe/zig/commit/087ee497d430d30bd9c7a2cdfdfc3d2654d105d3?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/256384a2ec2f67fc1b9380be987c63d5702f180c?format=markdown)
