libssh2_sftp_stat_ex - get status about an SFTP file
#include <libssh2.h> #include <libssh2_sftp.h> int libssh2_sftp_stat_ex(LIBSSH2_SFTP *sftp, const char *path, unsigned int path_len, int stat_type, LIBSSH2_SFTP_ATTRIBUTES *attrs);
libssh2 manual libssh2_sftp_stat_ex(3ssh2)
NAME
libssh2_sftp_stat_ex - get status about an SFTP file
SYNOPSIS
#include <libssh2.h>
#include <libssh2_sftp.h>
int libssh2_sftp_stat_ex(LIBSSH2_SFTP *sftp, const char *path,
unsigned int path_len, int stat_type,
LIBSSH2_SFTP_ATTRIBUTES *attrs);
DESCRIPTION
sftp - SFTP instance as returned by libssh2_sftp_init(3)
path - Remote filesystem object to stat/lstat/setstat.
path_len - Length of the name of the remote filesystem object to
stat/lstat/setstat.
stat_type - One of the three constants specifying the type of stat
operation to perform:
LIBSSH2_SFTP_STAT: performs stat(2) operation
LIBSSH2_SFTP_LSTAT: performs lstat(2) operation
LIBSSH2_SFTP_SETSTAT: performs operation to set stat info on file
attrs - Pointer to a LIBSSH2_SFTP_ATTRIBUTES structure to set file
metadata from or into depending on the value of stat_type.
Get or Set statbuf type data on a remote filesystem object. When get-
ting statbuf data, libssh2_sftp_stat(3) will follow all symlinks, while
libssh2_sftp_lstat(3) will return data about the object encountered,
even if that object happens to be a symlink.
The LIBSSH2_SFTP_ATTRIBUTES struct looks like this:
struct LIBSSH2_SFTP_ATTRIBUTES {
/* If flags & ATTR_* bit is set, then the value in this struct will be
* meaningful Otherwise it should be ignored
*/
unsigned long flags;
libssh2_uint64_t filesize;
unsigned long uid;
unsigned long gid;
unsigned long permissions;
unsigned long atime;
unsigned long mtime;
};
RETURN VALUE
Returns 0 on success or negative on failure. It returns LIB-
SSH2_ERROR_EAGAIN when it would otherwise block. While LIB-
SSH2_ERROR_EAGAIN is a negative number, it isn't really a failure per
se.
ERRORS
LIBSSH2_ERROR_ALLOC - An internal memory allocation call failed.
LIBSSH2_ERROR_SOCKET_SEND - Unable to send data on socket.
LIBSSH2_ERROR_SOCKET_TIMEOUT -
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.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
+---------------+------------------+
|ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+---------------+------------------+
|Availability | library/libssh2 |
+---------------+------------------+
|Stability | Uncommitted |
+---------------+------------------+
SEE ALSO
libssh2_sftp_init(3)
NOTES
Source code for open source software components in Oracle Solaris can
be found at https://www.oracle.com/downloads/opensource/solaris-source-
code-downloads.html.
This software was built from source available at
https://github.com/oracle/solaris-userland. The original community
source was downloaded from https://www.libssh2.org/download/lib-
ssh2-1.10.0.tar.gz.
Further information about this software can be found on the open source
community website at https://www.libssh2.org/.
libssh2 0.15 1 Jun 2007
libssh2_sftp_stat_ex(3ssh2)