Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

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

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)