summaryrefslogtreecommitdiffstats
path: root/man-pages-posix-2003/man3p/aio_read.3p
diff options
context:
space:
mode:
Diffstat (limited to 'man-pages-posix-2003/man3p/aio_read.3p')
-rw-r--r--man-pages-posix-2003/man3p/aio_read.3p169
1 files changed, 169 insertions, 0 deletions
diff --git a/man-pages-posix-2003/man3p/aio_read.3p b/man-pages-posix-2003/man3p/aio_read.3p
new file mode 100644
index 0000000..a8a1a2a
--- /dev/null
+++ b/man-pages-posix-2003/man3p/aio_read.3p
@@ -0,0 +1,169 @@
+.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved
+.TH "AIO_READ" 3P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\" aio_read
+.SH PROLOG
+This manual page is part of the POSIX Programmer's Manual.
+The Linux implementation of this interface may differ (consult
+the corresponding Linux manual page for details of Linux behavior),
+or the interface may not be implemented on Linux.
+.SH NAME
+aio_read \- asynchronous read from a file (\fBREALTIME\fP)
+.SH SYNOPSIS
+.LP
+\fB#include <aio.h>
+.br
+.sp
+int aio_read(struct aiocb *\fP\fIaiocbp\fP\fB); \fP
+\fB
+.br
+\fP
+.SH DESCRIPTION
+.LP
+The \fIaio_read\fP() function shall read \fIaiocbp\fP->\fIaio_nbytes\fP
+from the file associated with
+\fIaiocbp\fP->\fIaio_fildes\fP into the buffer pointed to by \fIaiocbp\fP->\fIaio_buf\fP.
+The function call shall return
+when the read request has been initiated or queued to the file or
+device (even when the data cannot be delivered immediately).
+.LP
+If prioritized I/O is supported for this file, then the asynchronous
+operation shall be submitted at a priority equal to the
+scheduling priority of the process minus \fIaiocbp\fP->\fIaio_reqprio\fP.
+.LP
+The \fIaiocbp\fP value may be used as an argument to \fIaio_error\fP()
+and \fIaio_return\fP() in order to determine the error status and
+return status, respectively, of
+the asynchronous operation while it is proceeding. If an error condition
+is encountered during queuing, the function call shall
+return without having initiated or queued the request. The requested
+operation takes place at the absolute position in the file as
+given by \fIaio_offset\fP, as if \fIlseek\fP() were called immediately
+prior to the
+operation with an \fIoffset\fP equal to \fIaio_offset\fP and a \fIwhence\fP
+equal to SEEK_SET. After a successful call to
+enqueue an asynchronous I/O operation, the value of the file offset
+for the file is unspecified.
+.LP
+The \fIaiocbp\fP->\fIaio_lio_opcode\fP field shall be ignored by \fIaio_read\fP().
+.LP
+The \fIaiocbp\fP argument points to an \fBaiocb\fP structure. If the
+buffer pointed to by \fIaiocbp\fP->\fIaio_buf\fP or
+the control block pointed to by \fIaiocbp\fP becomes an illegal address
+prior to asynchronous I/O completion, then the behavior is
+undefined.
+.LP
+Simultaneous asynchronous operations using the same \fIaiocbp\fP produce
+undefined results.
+.LP
+If synchronized I/O is enabled on the file associated with \fIaiocbp\fP->\fIaio_fildes\fP,
+the behavior of this function shall
+be according to the definitions of synchronized I/O data integrity
+completion and synchronized I/O file integrity completion.
+.LP
+For any system action that changes the process memory space while
+an asynchronous I/O is outstanding to the address range being
+changed, the result of that action is undefined.
+.LP
+For regular files, no data transfer shall occur past the offset maximum
+established in the open file description associated with
+\fIaiocbp\fP->\fIaio_fildes\fP.
+.SH RETURN VALUE
+.LP
+The \fIaio_read\fP() function shall return the value zero to the calling
+process if the I/O operation is successfully queued;
+otherwise, the function shall return the value -1 and set \fIerrno\fP
+to indicate the error.
+.SH ERRORS
+.LP
+The \fIaio_read\fP() function shall fail if:
+.TP 7
+.B EAGAIN
+The requested asynchronous I/O operation was not queued due to system
+resource limitations.
+.sp
+.LP
+Each of the following conditions may be detected synchronously at
+the time of the call to \fIaio_read\fP(), or asynchronously.
+If any of the conditions below are detected synchronously, the \fIaio_read\fP()
+function shall return -1 and set \fIerrno\fP to
+the corresponding value. If any of the conditions below are detected
+asynchronously, the return status of the asynchronous
+operation is set to -1, and the error status of the asynchronous operation
+is set to the corresponding value.
+.TP 7
+.B EBADF
+The \fIaiocbp\fP->\fIaio_fildes\fP argument is not a valid file descriptor
+open for reading.
+.TP 7
+.B EINVAL
+The file offset value implied by \fIaiocbp\fP->\fIaio_offset\fP would
+be invalid, \fIaiocbp\fP->\fIaio_reqprio\fP is
+not a valid value, or \fIaiocbp\fP->\fIaio_nbytes\fP is an invalid
+value.
+.sp
+.LP
+In the case that the \fIaio_read\fP() successfully queues the I/O
+operation but the operation is subsequently canceled or
+encounters an error, the return status of the asynchronous operation
+is one of the values normally returned by the \fIread\fP() function
+call. In addition, the error status of the asynchronous operation
+is set to one
+of the error statuses normally set by the \fIread\fP() function call,
+or one of the following
+values:
+.TP 7
+.B EBADF
+The \fIaiocbp\fP->\fIaio_fildes\fP argument is not a valid file descriptor
+open for reading.
+.TP 7
+.B ECANCELED
+The requested I/O was canceled before the I/O completed due to an
+explicit \fIaio_cancel\fP() request.
+.TP 7
+.B EINVAL
+The file offset value implied by \fIaiocbp\fP->\fIaio_offset\fP would
+be invalid.
+.sp
+.LP
+The following condition may be detected synchronously or asynchronously:
+.TP 7
+.B EOVERFLOW
+The file is a regular file, \fIaiobcp\fP->\fIaio_nbytes\fP is greater
+than 0, and the starting offset in
+\fIaiobcp\fP->\fIaio_offset\fP is before the end-of-file and is at
+or beyond the offset maximum in the open file description
+associated with \fIaiocbp\fP->\fIaio_fildes\fP.
+.sp
+.LP
+\fIThe following sections are informative.\fP
+.SH EXAMPLES
+.LP
+None.
+.SH APPLICATION USAGE
+.LP
+The \fIaio_read\fP() function is part of the Asynchronous Input and
+Output option and need not be available on all
+implementations.
+.SH RATIONALE
+.LP
+None.
+.SH FUTURE DIRECTIONS
+.LP
+None.
+.SH SEE ALSO
+.LP
+\fIaio_cancel\fP(), \fIaio_error\fP(), \fIlio_listio\fP(), \fIaio_return\fP(),
+\fIaio_write\fP(), \fIclose\fP(), \fIexec\fP(), \fIexit\fP(),
+\fIfork\fP(), \fIlseek\fP(), \fIread\fP(), the Base Definitions
+volume of
+IEEE\ Std\ 1003.1-2001, \fI<aio.h>\fP
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of
+Electrical and Electronics Engineers, Inc and The Open Group. In the
+event of any discrepancy between this version and the original IEEE and
+The Open Group Standard, the original IEEE and The Open Group Standard
+is the referee document. The original Standard can be obtained online at
+http://www.opengroup.org/unix/online.html .