diff options
Diffstat (limited to 'upstream/archlinux/man3p/aio_fsync.3p')
-rw-r--r-- | upstream/archlinux/man3p/aio_fsync.3p | 201 |
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 . |