xref: /freebsd/lib/libsys/aio_return.2 (revision 2da066ef6d85d3f7cd8aaec14369d66254836536)
1.\" Copyright (c) 1999 Softweyr LLC.
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY Softweyr LLC AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL Softweyr LLC OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.Dd January 11, 2021
26.Dt AIO_RETURN 2
27.Os
28.Sh NAME
29.Nm aio_return
30.Nd retrieve return status of asynchronous I/O operation (REALTIME)
31.Sh LIBRARY
32.Lb libc
33.Sh SYNOPSIS
34.In aio.h
35.Ft ssize_t
36.Fn aio_return "struct aiocb *iocb"
37.Sh DESCRIPTION
38The
39.Fn aio_return
40system call returns the final status of the asynchronous I/O request
41associated with the structure pointed to by
42.Fa iocb .
43.Pp
44The
45.Fn aio_return
46system call
47should only be called once, to obtain the final status of an asynchronous
48I/O operation once it has completed
49.Xr ( aio_error 2
50returns something other than
51.Er EINPROGRESS ) .
52.Sh RETURN VALUES
53If the asynchronous I/O request has completed, the status is returned
54as described in
55.Xr read 2 ,
56.Xr readv 2 ,
57.Xr write 2 ,
58.Xr writev 2 ,
59or
60.Xr fsync 2 .
61Otherwise,
62.Fn aio_return
63returns \-1 and sets
64.Va errno
65to indicate the error condition.
66.Sh ERRORS
67The
68.Fn aio_return
69system call will fail if:
70.Bl -tag -width Er
71.It Bq Er EINVAL
72The
73.Fa iocb
74argument
75does not reference a completed asynchronous I/O request.
76.It Bq Er EINVAL
77The I/O operation was submitted with
78.Fn lio_listio ,
79and the value of the
80.Fa aio_lio_opcode
81is invalid.
82.El
83.Sh SEE ALSO
84.Xr aio_cancel 2 ,
85.Xr aio_error 2 ,
86.Xr aio_suspend 2 ,
87.Xr aio_waitcomplete 2 ,
88.Xr aio_write 2 ,
89.Xr fsync 2 ,
90.Xr read 2 ,
91.Xr write 2 ,
92.Xr aio 4
93.Sh STANDARDS
94The
95.Fn aio_return
96system call
97is expected to conform to the
98.St -p1003.1
99standard.
100.Sh HISTORY
101The
102.Fn aio_return
103system call first appeared in
104.Fx 3.0 .
105.Sh AUTHORS
106This
107manual page was written by
108.An Wes Peters Aq Mt wes@softweyr.com .
109