Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

libssh2_sftp_fstatvfs (3ssh2)

Name

libssh2_sftp_fstatvfs - tics

Synopsis

#include <libssh2.h>
#include <libssh2_sftp.h>

int
libssh2_sftp_statvfs(LIBSSH2_SFTP *sftp, const char *path,
size_t path_len, LIBSSH2_SFTP_STATVFS *st);

int
libssh2_sftp_fstatvfs(LIBSSH2_SFTP_HANDLE *handle,
LIBSSH2_SFTP_STATVFS *st)

Description

libssh2 manual                                     libssh2_sftp_statvfs(3ssh2)



NAME
       libssh2_sftp_statvfs,  libssh2_sftp_fstatvfs  - get file system statis-
       tics

SYNOPSIS
       #include <libssh2.h>
       #include <libssh2_sftp.h>

       int
       libssh2_sftp_statvfs(LIBSSH2_SFTP *sftp, const char *path,
                            size_t path_len, LIBSSH2_SFTP_STATVFS *st);

       int
       libssh2_sftp_fstatvfs(LIBSSH2_SFTP_HANDLE *handle,
                             LIBSSH2_SFTP_STATVFS *st)

DESCRIPTION
       These  functions  provide  statvfs(2)-like   operations   and   require
       statvfs@openssh.com  and  fstatvfs@openssh.com extension support on the
       server.

       sftp - SFTP instance as returned by libssh2_sftp_init(3)

       handle - SFTP File Handle as returned by libssh2_sftp_open_ex(3)

       path - full path of any file within the mounted file system.

       path_len - length of the full path.

       st - Pointer to a LIBSSH2_SFTP_STATVFS structure to place  file  system
       statistics into.


DATA TYPES
       LIBSSH2_SFTP_STATVFS is a typedefed struct that is defined as below

       struct _LIBSSH2_SFTP_STATVFS {
           libssh2_uint64_t  f_bsize;    /* file system block size */
           libssh2_uint64_t  f_frsize;   /* fragment size */
           libssh2_uint64_t  f_blocks;   /* size of fs in f_frsize units */
           libssh2_uint64_t  f_bfree;    /* # free blocks */
           libssh2_uint64_t  f_bavail;   /* # free blocks for non-root */
           libssh2_uint64_t  f_files;    /* # inodes */
           libssh2_uint64_t  f_ffree;    /* # free inodes */
           libssh2_uint64_t  f_favail;   /* # free inodes for non-root */
           libssh2_uint64_t  f_fsid;     /* file system ID */
           libssh2_uint64_t  f_flag;     /* mount flags */
           libssh2_uint64_t  f_namemax;  /* maximum filename length */
       };

       It is unspecified whether all members of the returned struct have mean-
       ingful values on all file systems.

       The field f_flag is a bit mask. Bits are defined as follows:

       LIBSSH2_SFTP_ST_RDONLY
              Read-only file system.

       LIBSSH2_SFTP_ST_NOSUID
              Set-user-ID/set-group-ID bits are ignored by exec(3).


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  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.

AVAILABILITY
       Added in libssh2 1.2.6


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | library/libssh2  |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       libssh2_sftp_open_ex(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 1.2.6                     22 May 2010
                                                   libssh2_sftp_statvfs(3ssh2)