Files
third_party_liburing/src/liburing.map
T
Ammar Faizi 070d45fb33 syscall: Add io_uring syscall functions
We have:

  man 2 io_uring_setup;
  man 2 io_uring_enter;
  man 2 io_uring_register;

Those entries say that io_uring syscall functions are declared in
`<linux/io_uring.h>`. But they don't actually exist and never existed.
This is causing confusion for people who read the manpage. Let's just
implement them in liburing so they exist.

This also allows the user to invoke io_uring syscalls directly instead
of using the full liburing provided setup.

v2:
  - Use consistent argument types.
  - Separate syscall declarations in liburing.h with a blank line.
  - Remove unused include in syscall.c.

Link: https://github.com/axboe/liburing/pull/646#issuecomment-1229639532
Reviewed-by: Caleb Sander <csander@purestorage.com>
Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Link: https://lore.kernel.org/r/20220830005122.885209-3-ammar.faizi@intel.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2022-08-30 08:14:18 -06:00

70 lines
1.6 KiB
Plaintext

LIBURING_2.0 {
global:
io_uring_get_probe;
io_uring_get_probe_ring;
io_uring_free_probe;
io_uring_get_sqe;
io_uring_peek_batch_cqe;
io_uring_queue_exit;
io_uring_queue_init;
io_uring_queue_init_params;
io_uring_queue_mmap;
io_uring_register_buffers;
io_uring_register_eventfd;
io_uring_register_eventfd_async;
io_uring_register_files;
io_uring_register_files_update;
io_uring_register_personality;
io_uring_register_probe;
io_uring_ring_dontfork;
io_uring_submit;
io_uring_submit_and_wait;
io_uring_unregister_buffers;
io_uring_unregister_eventfd;
io_uring_unregister_files;
io_uring_unregister_personality;
io_uring_wait_cqe_timeout;
io_uring_wait_cqes;
__io_uring_get_cqe;
__io_uring_sqring_wait;
local:
*;
};
LIBURING_2.1 {
global:
io_uring_mlock_size_params;
io_uring_mlock_size;
io_uring_register_buffers_tags;
io_uring_register_buffers_update_tag;
io_uring_register_files_tags;
io_uring_register_files_update_tag;
io_uring_register_iowq_aff;
io_uring_unregister_iowq_aff;
io_uring_register_iowq_max_workers;
} LIBURING_2.0;
LIBURING_2.2 {
global:
io_uring_submit_and_wait_timeout;
io_uring_register_ring_fd;
io_uring_unregister_ring_fd;
io_uring_register_files_sparse;
io_uring_register_buffers_sparse;
io_uring_register_buf_ring;
io_uring_unregister_buf_ring;
} LIBURING_2.1;
LIBURING_2.3 {
global:
io_uring_register_sync_cancel;
io_uring_register_file_alloc_range;
io_uring_register_notifications;
io_uring_unregister_notifications;
io_uring_enter;
io_uring_enter2;
io_uring_setup;
io_uring_register;
} LIBURING_2.2;