File: io_queue_init.3

package info (click to toggle)
libaio 0.3.112-3
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,684 kB
  • sloc: ansic: 754; makefile: 186; sh: 14
file content (73 lines) | stat: -rw-r--r-- 1,335 bytes parent folder | download
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
62
63
64
65
66
67
68
69
70
71
72
73
.TH io_queue_init 3 2017-12-10 "Linux" "Linux AIO"
.SH NAME
io_queue_init \- Initialize asynchronous io state machine

.SH SYNOPSIS
.nf
.B #include <errno.h>
.br
.sp
.B #include <libaio.h>
.br
.sp
.BI "int io_queue_init(int " maxevents ", io_context_t *" ctx ");"
.sp
.fi
.SH DESCRIPTION
.BR io_queue_init ()
attempts to create an aio context capable of receiving at least
.I maxevents
events. 
.I ctx
must point to an aio context that already exists and must be initialized
to 
.B 0
before the call.
If the operation is successful,
.I *cxtp
is filled with the resulting handle.
.SH "RETURN VALUES"
On success,
.BR io_queue_init ()
returns
.BR 0 .
Otherwise, -error is return, where
error is one of the Exxx values defined in the
.B ERRORS
section.
.SH ERRORS
.TP
.B EFAULT
.I iocbs
referenced data outside of the program's accessible address space.
.TP
.B EINVAL
.I maxevents
is <=
.B 0
or
.IR ctx
is an invalid memory location.
.TP
.B ENOSYS 
Not implemented.
.TP
.B EAGAIN
.IR "maxevents > max_aio_reqs"
where
.I max_aio_reqs
is a tunable value.
.SH "SEE ALSO"
.BR io (3),
.BR io_cancel (3),
.BR io_fsync (3),
.BR io_getevents (3),
.BR io_prep_fsync (3),
.BR io_prep_pread (3),
.BR io_prep_pwrite (3),
.BR io_queue_release (3),
.BR io_queue_run (3),
.BR io_queue_wait (3),
.BR io_set_callback (3),
.BR io_submit (3),
.BR errno (3).