summaryrefslogtreecommitdiffstats
path: root/lib/libc/sys/aio_waitcomplete.2
diff options
context:
space:
mode:
authorjasone <jasone@FreeBSD.org>2000-03-21 10:25:22 +0000
committerjasone <jasone@FreeBSD.org>2000-03-21 10:25:22 +0000
commitd7816647eff32abf1cc239b5db9d44b579c4de47 (patch)
treeb3982f1bfd059e7e2bdd6c47a0f6aa77c4675af2 /lib/libc/sys/aio_waitcomplete.2
parentd9acd189c2b97e0d82a5dc4bdd6edfae0315c852 (diff)
downloadFreeBSD-src-d7816647eff32abf1cc239b5db9d44b579c4de47.zip
FreeBSD-src-d7816647eff32abf1cc239b5db9d44b579c4de47.tar.gz
Add a man page for aio_waitcomplete(). Update the aio_cancel() man page to
reflect the fact that aio_cancel() works now. Submitted by: Christopher Sedore <cmsedore@maxwell.syr.edu>
Diffstat (limited to 'lib/libc/sys/aio_waitcomplete.2')
-rw-r--r--lib/libc/sys/aio_waitcomplete.2129
1 files changed, 129 insertions, 0 deletions
diff --git a/lib/libc/sys/aio_waitcomplete.2 b/lib/libc/sys/aio_waitcomplete.2
new file mode 100644
index 0000000..2447c90
--- /dev/null
+++ b/lib/libc/sys/aio_waitcomplete.2
@@ -0,0 +1,129 @@
+.\" Copyright (c) 1999 Christopher M Sedore.
+.\" All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd January 19, 2000
+.Dt AIO_WAITCOMPLETE 2
+.Os
+.Sh NAME
+.Nm aio_waitcomplete
+.Nd wait for the next completion of an aio request
+.Sh SYNOPSIS
+.Fd #include <aio.h>
+.Ft int
+.Fn aio_waitcomplete "struct aiocb **iocbp, struct timeval *timeout"
+.Sh DESCRIPTION
+The
+.Fn aio_waitcomplete
+function waits for completion of an asynchronous I/O request. Upon completion,
+.Fn aio_waitcomplete
+returns the result of the function and sets
+.Ar iocbp
+to point to the structure associated with the original request. If an
+asynchronous I/O request is completed before
+.Fn aio_waitcomplete
+is called, it returns immediately with the completed request.
+.Pp
+If
+.Ar timeout
+is a non-NULL pointer, it specifies a maximum interval to wait for a
+asynchronous I/O request to complete. If
+.Ar timeout
+is a NULL pointer,
+.Fn aio_waitcomplete
+waits indefinitely. To effect a poll, the
+.Ar timeout
+argument should be non-NULL, pointing to a zero-valued timeval structure.
+.Pp
+The
+.Fn aio_waitcomplete
+function also serves the function of
+.Fn aio_return ,
+thus
+.Fn aio_return
+should not be called for the control block returned in
+.Ar iocbp .
+.Sh RETURN VALUES
+If an asynchronous I/O request has completed,
+.Ar iocbp
+is set to point to the control block passed with the original request, and
+the status is returned as described in
+.Xr read 2 ,
+.Xr write 2 ,
+or
+.Xr fsync 2 .
+On failure,
+.Fn aio_waitcomplete
+returns
+.Dv -1 ,
+sets iocbp to
+.Dv NULL
+and
+.Dv errno
+to indicate the error condition.
+.Sh ERRORS
+The
+.Fn aio_waitcomplete
+function fails if:
+.Bl -tag -width Er
+.It Bq Er EINVAL
+The specified time limit is invalid.
+.It Bq Er EAGAIN
+The process has not yet called
+.Fn aio_read
+or
+.Fn aio_write .
+.It Bq Er EINTR
+A signal was delivered before the timeout expired and before any
+asynchronous I/O requests completed.
+.It Bq Er EWOULDBLOCK
+.It Bq Er EINPROGRESS
+The specified time limit expired before any asynchronous I/O requests
+completed.
+.El
+.Sh SEE ALSO
+.Xr aio_cancel 2 ,
+.Xr aio_error 2 ,
+.Xr aio_read 2 ,
+.Xr aio_return 2 ,
+.Xr aio_suspend 2 ,
+.Xr aio_write 2 ,
+.Xr fsync 2 ,
+.Xr read 2 ,
+.Xr write 2 .
+.Sh STANDARDS
+The
+.Fn aio_waitcomplete
+function is a FreeBSD-specific extension.
+.Sh HISTORY
+The
+.Fn aio_waitcomplete
+function first appeared in
+.Fx 4.0 .
+.Sh AUTHORS
+The
+.Fn aio_waitcomplete
+function and this manual page were written by
+.An Christopher M Sedore Aq cmsedore@maxwell.syr.edu .
OpenPOWER on IntegriCloud