libssh2\_sftp\_fsync(3) libssh2 libssh2\_sftp\_fsync(3)

# [NAME](#NAME)

libssh2\_sftp\_fsync - synchronize file to disk

# [SYNOPSIS](#SYNOPSIS)

```
#include <libssh2.h>
#include <libssh2_sftp.h>
int
libssh2_sftp_fsync(LIBSSH2_SFTP_HANDLE *handle)
```

# [DESCRIPTION](#DESCRIPTION)

This function causes the remote server to synchronize the file data and metadata to disk (like [fsync(2)](/man/os/libssh2/fsync.2)).

For this to work requires fsync@openssh.com support on the server.

*handle* - SFTP File Handle as returned by [**libssh2\_sftp\_open\_ex(3)**](/man/os/libssh2/libssh2_sftp_open_ex.3)

# [RETURN VALUE](#RETURN_VALUE)

Returns 0 on success or negative on failure. If used in non-blocking mode, it returns LIBSSH2\_ERROR\_EAGAIN when it would otherwise block. While LIBSSH2\_ERROR\_EAGAIN is a negative number, it is not really a failure per se.

# [ERRORS](#ERRORS)

*LIBSSH2\_ERROR\_ALLOC* - An internal memory allocation call failed.

*LIBSSH2\_ERROR\_SOCKET\_SEND* - Unable to send data on socket.

*LIBSSH2\_ERROR\_SFTP\_PROTOCOL* - An invalid SFTP protocol response was received on the socket, or an SFTP operation caused an errorcode to be returned by the server. In particular, this can be returned if the SSH server does not support the fsync operation: the SFTP subcode *LIBSSH2\_FX\_OP\_UNSUPPORTED* will be returned in this case.

# [AVAILABILITY](#AVAILABILITY)

Added in libssh2 1.4.4 and OpenSSH 6.3.

# [SEE ALSO](#SEE_ALSO)

[**fsync(2)**](/man/os/libssh2/fsync.2)

8 Apr 2013 libssh2

---

Document: libssh2_sftp_fsync(3) from libssh2 1.11.1-r11 (Chainguard OS)
Source: https://github.com/libssh2/libssh2.git
