summaryrefslogtreecommitdiff
path: root/man/io_uring_queue_init.3
blob: e9255898653718a76f75392818166a92ef6563c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
.\" Copyright (C) 2020 Jens Axboe <axboe@kernel.dk>
.\" Copyright (C) 2020 Red Hat, Inc.
.\"
.\" SPDX-License-Identifier: LGPL-2.0-or-later
.\"
.TH io_uring_queue_init 3 "July 10, 2020" "liburing-0.7" "liburing Manual"
.SH NAME
io_uring_queue_init - setup io_uring submission and completion queues
.SH SYNOPSIS
.nf
.BR "#include <liburing.h>"
.PP
.BI "int io_uring_queue_init(unsigned " entries ","
.BI "                        struct io_uring *" ring ","
.BI "                        unsigned " flags ");"
.BI "
.BI "int io_uring_queue_init_params(unsigned " entries ","
.BI "                               struct io_uring *" ring ","
.BI "                               struct io_uring_params *" params ");"
.fi
.PP
.SH DESCRIPTION
.PP
The io_uring_queue_init() function executes the
.BR io_uring_setup (2)
system call to initialize the submission and completion queues in the kernel
with at least
.I entries
entries and then maps the resulting file descriptor to memory shared between the
application and the kernel.

On success io_uring_queue_init() returns 0 and
.I ring
will point to the shared memory containing the io_uring queues. On failure
.BR -errno
is returned.

.I flags
will be passed through to the io_uring_setup syscall (see 
.BR io_uring_setup (2)).

If the
.BR io_uring_queue_init_params (3)
variant is used, then the parameters indicated by
.I params
will be passed straight through to the
.BR io_uring_setup (2)
system call.

On success, the resources held by
.I ring
should be released via a corresponding call to
.BR io_uring_queue_exit (3).
.SH RETURN VALUE
.BR io_uring_queue_init (3)
returns 0 on success and -errno on failure.
.SH SEE ALSO
.BR io_uring_setup (2),
.BR io_uring_register_ring_fd (3),
.BR mmap (2),
.BR io_uring_queue_exit (3)