The Open Group Base Specifications Issue 7, 2018 edition
IEEE Std 1003.1-2017 (Revision of IEEE Std 1003.1-2008)
Copyright © 2001-2018 IEEE and The Open Group
A newer edition of this document exists here

#### NAME

> fdatasync - synchronize the data of a file (REALTIME)

#### SYNOPSIS

> ``[SIO] #include <unistd.h>
> int fdatasync(int` fildes`);``
> `
> `

#### DESCRIPTION

> The fdatasync() function shall force all currently queued I/O operations associated with the file indicated by file descriptor fildes to the synchronized I/O completion state.

> The functionality shall be equivalent to fsync() with the symbol _POSIX_SYNCHRONIZED_IO defined, with the exception that all I/O operations shall be completed as defined for synchronized I/O data integrity completion.

#### RETURN VALUE

> If successful, the fdatasync() function shall return the value 0; otherwise, the function shall return the value -1 and set errno to indicate the error. If the fdatasync() function fails, outstanding I/O operations are not guaranteed to have been completed.

#### ERRORS

> The fdatasync() function shall fail if:

> [EBADF]
>   The fildes argument is not a valid file descriptor.
> [EINVAL]
>   This implementation does not support synchronized I/O for this file.

> In the event that any of the queued I/O operations fail, fdatasync() shall return the error conditions defined for read() and write().

The following sections are informative.

#### EXAMPLES

> None.

#### 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 fdatasync().

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> aio_fsync, fcntl, fsync, open, read, write

> XBD <unistd.h>

#### CHANGE HISTORY

> First released in Issue 5. Included for alignment with the POSIX Realtime Extension.

#### Issue 6

> The [ENOSYS] error condition has been removed as stubs need not be provided if an implementation does not support the Synchronized Input and Output option.

> The fdatasync() function is marked as part of the Synchronized Input and Output option.

#### Issue 7

> POSIX.1-2008, Technical Corrigendum 2, XSH/TC2-2008/0110 [501] is applied.

End of informative text.

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ™ is a Trademark of The IEEE.
Copyright © 2001-2018 IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]