The Open Group Base Specifications Issue 6
IEEE Std 1003.1, 2004 Edition
Copyright © 2001-2004 The IEEE and The Open Group, All Rights reserved.

#### 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 open for writing.
> [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

> None.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> aio_fsync(), fcntl(), fsync(), open(), read(), write(), the Base Definitions volume of IEEE Std 1003.1-2001, <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.

End of informative text.

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
[ Main Index | XBD | XCU | XSH | XRAT ]