summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man3p/aio_fsync.3p
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/archlinux/man3p/aio_fsync.3p')
-rw-r--r--upstream/archlinux/man3p/aio_fsync.3p201
1 files changed, 201 insertions, 0 deletions
diff --git a/upstream/archlinux/man3p/aio_fsync.3p b/upstream/archlinux/man3p/aio_fsync.3p
new file mode 100644
index 00000000..6590e08d
--- /dev/null
+++ b/upstream/archlinux/man3p/aio_fsync.3p
@@ -0,0 +1,201 @@
+'\" et
+.TH AIO_FSYNC "3P" 2017 "IEEE/The Open Group" "POSIX Programmer's Manual"
+.\"
+.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_fsync
+\(em asynchronous file synchronization
+.SH SYNOPSIS
+.LP
+.nf
+#include <aio.h>
+.P
+int aio_fsync(int \fIop\fP, struct aiocb *\fIaiocbp\fP);
+.fi
+.SH DESCRIPTION
+The
+\fIaio_fsync\fR()
+function shall asynchronously perform a file synchronization operation,
+as specified by the
+.IR op
+argument, for I/O operations associated with the file indicated by the
+file descriptor
+.IR aio_fildes
+member of the
+.BR aiocb
+structure referenced by the
+.IR aiocbp
+argument and queued at the time of the call to
+\fIaio_fsync\fR().
+The function call shall return when the synchronization request has been
+initiated or queued to the file or device (even when the data cannot be
+synchronized immediately).
+.P
+If
+.IR op
+is O_DSYNC,
+all currently queued I/O operations shall be completed as if by a call to
+\fIfdatasync\fR();
+that is, as defined for synchronized I/O data integrity completion.
+.P
+If
+.IR op
+is O_SYNC,
+all currently queued I/O operations shall be completed as if by a call to
+\fIfsync\fR();
+that is, as defined for synchronized I/O file integrity completion.
+If the
+\fIaio_fsync\fR()
+function fails, or if the operation queued by
+\fIaio_fsync\fR()
+fails, then outstanding I/O operations are not guaranteed to have been
+completed.
+.P
+If
+\fIaio_fsync\fR()
+succeeds, then it is only the I/O that was queued at the time of the
+call to
+\fIaio_fsync\fR()
+that is guaranteed to be forced to the relevant completion state. The
+completion of subsequent I/O on the file descriptor is not guaranteed
+to be completed in a synchronized fashion.
+.P
+The
+.IR aiocbp
+argument refers to an asynchronous I/O control block. The
+.IR aiocbp
+value may be used as an argument to
+\fIaio_error\fR()
+and
+\fIaio_return\fR()
+in order to determine the error status and return status, respectively,
+of the asynchronous operation while it is proceeding. When the request
+is queued, the error status for the operation is
+.BR [EINPROGRESS] .
+When all data has been successfully transferred, the error status shall
+be reset to reflect the success or failure of the operation. If the
+operation does not complete successfully, the error status for the
+operation shall be set to indicate the error. The
+.IR aio_sigevent
+member determines the asynchronous notification to occur as specified
+in
+.IR "Section 2.4.1" ", " "Signal Generation and Delivery"
+when all operations have achieved synchronized I/O completion. All
+other members of the structure referenced by
+.IR aiocbp
+are ignored. If the control block referenced by
+.IR aiocbp
+becomes an illegal address prior to asynchronous I/O completion, then
+the behavior is undefined.
+.P
+If the
+\fIaio_fsync\fR()
+function fails or
+.IR aiocbp
+indicates an error condition, data is not guaranteed to have been
+successfully transferred.
+.SH "RETURN VALUE"
+The
+\fIaio_fsync\fR()
+function shall return the value 0 if the I/O operation is successfully
+queued; otherwise, the function shall return the value \-1 and set
+.IR errno
+to indicate the error.
+.SH ERRORS
+The
+\fIaio_fsync\fR()
+function shall fail if:
+.TP
+.BR EAGAIN
+The requested asynchronous operation was not queued due to
+temporary resource limitations.
+.TP
+.BR EBADF
+The
+.IR aio_fildes
+member of the
+.BR aiocb
+structure referenced by the
+.IR aiocbp
+argument is not a valid file descriptor.
+.TP
+.BR EINVAL
+This implementation does not support synchronized I/O for this file.
+.TP
+.BR EINVAL
+The
+.IR aio_fildes
+member of the
+.BR aiocb
+structure refers to a file on which an
+\fIfsync\fR()
+operation is not possible.
+.TP
+.BR EINVAL
+A value of
+.IR op
+other than O_DSYNC or O_SYNC was specified, or O_DSYNC was specified and
+the implementation does not provide runtime support for the Synchronized
+Input and Output option, or O_SYNC was specified and the implementation
+does not provide runtime support for the File Synchronization option.
+.P
+In the event that any of the queued I/O operations fail,
+\fIaio_fsync\fR()
+shall return the error condition defined for
+\fIread\fR()
+and
+\fIwrite\fR().
+The error is returned in the error status for the asynchronous operation,
+which can be retrieved using
+\fIaio_error\fR().
+.LP
+.IR "The following sections are informative."
+.SH EXAMPLES
+None.
+.SH "APPLICATION USAGE"
+Note that even if the file descriptor is not open for writing, if
+there are any pending write requests on the underlying file, then
+that I/O will be completed prior to the return of a call to
+\fIaio_error\fR()
+or
+\fIaio_return\fR()
+indicating that the operation has completed.
+.SH RATIONALE
+None.
+.SH "FUTURE DIRECTIONS"
+None.
+.SH "SEE ALSO"
+.IR "\fIaio_error\fR\^(\|)",
+.IR "\fIaio_return\fR\^(\|)",
+.IR "\fIfcntl\fR\^(\|)",
+.IR "\fIfdatasync\fR\^(\|)",
+.IR "\fIfsync\fR\^(\|)",
+.IR "\fIopen\fR\^(\|)",
+.IR "\fIread\fR\^(\|)",
+.IR "\fIwrite\fR\^(\|)"
+.P
+The Base Definitions volume of POSIX.1\(hy2017,
+.IR "\fB<aio.h>\fP"
+.\"
+.SH COPYRIGHT
+Portions of this text are reprinted and reproduced in electronic form
+from IEEE Std 1003.1-2017, Standard for Information Technology
+-- Portable Operating System Interface (POSIX), The Open Group Base
+Specifications Issue 7, 2018 Edition,
+Copyright (C) 2018 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 .
+.PP
+Any typographical or formatting errors that appear
+in this page are most likely
+to have been introduced during the conversion of the source files to
+man page format. To report such errors, see
+https://www.kernel.org/doc/man-pages/reporting_bugs.html .