Expose a simple wrapper around IORING_REGISTER_QUERY to users. Signed-off-by: Pavel Begunkov --- src/include/liburing.h | 2 ++ src/liburing-ffi.map | 3 ++- src/liburing.map | 3 ++- src/register.c | 7 +++++++ test/ring-query.c | 7 ------- 5 files changed, 13 insertions(+), 9 deletions(-) diff --git a/src/include/liburing.h b/src/include/liburing.h index 3d4c6422..7eab7e42 100644 --- a/src/include/liburing.h +++ b/src/include/liburing.h @@ -359,6 +359,8 @@ int io_uring_register_clock(struct io_uring *ring, int io_uring_get_events(struct io_uring *ring) LIBURING_NOEXCEPT; int io_uring_submit_and_get_events(struct io_uring *ring) LIBURING_NOEXCEPT; +int io_uring_query(struct io_uring *ring, struct io_uring_query_hdr *arg); + /* * io_uring syscalls. */ diff --git a/src/liburing-ffi.map b/src/liburing-ffi.map index 4bf4fd51..6eed3f9f 100644 --- a/src/liburing-ffi.map +++ b/src/liburing-ffi.map @@ -253,5 +253,6 @@ LIBURING_2.12 { } LIBURING_2.11; LIBURING_2.13 { - + global: + io_uring_query; } LIBURING_2.12; diff --git a/src/liburing.map b/src/liburing.map index 0c4888e1..92c2af7b 100644 --- a/src/liburing.map +++ b/src/liburing.map @@ -132,5 +132,6 @@ LIBURING_2.12 { } LIBURING_2.11; LIBURING_2.13 { - + global: + io_uring_query; } LIBURING_2.12; diff --git a/src/register.c b/src/register.c index 93eda3fc..7265dcca 100644 --- a/src/register.c +++ b/src/register.c @@ -513,3 +513,10 @@ int io_uring_set_iowait(struct io_uring *ring, bool enable_iowait) ring->int_flags |= INT_FLAG_NO_IOWAIT; return 0; } + +int io_uring_query(struct io_uring *ring, struct io_uring_query_hdr *arg) +{ + int fd = ring ? ring->ring_fd : -1; + + return io_uring_register(fd, IORING_REGISTER_QUERY, arg, 0); +} diff --git a/test/ring-query.c b/test/ring-query.c index d0aa396c..e266b4a9 100644 --- a/test/ring-query.c +++ b/test/ring-query.c @@ -27,13 +27,6 @@ struct io_uring_query_opcode_large { static struct io_uring_query_opcode sys_ops; -static int io_uring_query(struct io_uring *ring, struct io_uring_query_hdr *arg) -{ - int fd = ring ? ring->ring_fd : -1; - - return io_uring_register(fd, IORING_REGISTER_QUERY, arg, 0); -} - static int test_basic_query(void) { struct io_uring_query_opcode op = {}; -- 2.49.0