Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
libssh2_sftp_readdir_ex(3)	libssh2	manual	    libssh2_sftp_readdir_ex(3)

NAME
       libssh2_sftp_readdir_ex - read directory	data from an SFTP handle

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

       int
       libssh2_sftp_readdir_ex(LIBSSH2_SFTP_HANDLE *handle,
			       char *buffer, size_t buffer_maxlen,
			       char *longentry,	size_t longentry_maxlen,
			       LIBSSH2_SFTP_ATTRIBUTES *attrs);

DESCRIPTION
       Reads a block of	data from a LIBSSH2_SFTP_HANDLE	and returns file entry
       information for the next	entry, if any.

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

       buffer -	is a pointer to	 a  pre-allocated  buffer  of  at  least  buf-
       fer_maxlen bytes	to read	data into.

       buffer_maxlen  -	is the length of buffer	in bytes. If the length	of the
       filename	is longer than the space provided by buffer_maxlen it will  be
       truncated to fit.

       longentry  - is a pointer to a pre-allocated buffer of at least longen-
       try_maxlen bytes	to read	data into. The format of the `longname'	 field
       is  unspecified	by  SFTP  protocol. It MUST be suitable	for use	in the
       output of a directory listing command (in fact, the recommended	opera-
       tion for	a directory listing command is to simply display this data).

       longentry_maxlen	 -  is the length of longentry in bytes. If the	length
       of the full directory entry is longer than the space provided  by  lon-
       gentry_maxlen it	will be	truncated to fit.

       attrs  -	 is  a	pointer	to LIBSSH2_SFTP_ATTRIBUTES storage to populate
       statbuf style data into.

RETURN VALUE
       Number of bytes actually	populated into buffer (not counting the	termi-
       nating  zero), or negative on failure.  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.

BUG
       Passing	in a too small buffer for 'buffer' or 'longentry' when receiv-
       ing data	only results in	libssh2	1.2.7 or earlier to not	copy  the  en-
       tire  data  amount,  and	it is not possible for the application to tell
       when it happens!

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 re-
       ceived  on  the	socket,	or an SFTP operation caused an errorcode to be
       returned	by the server.

       From 1.2.8, LIBSSH2_ERROR_BUFFER_TOO_SMALL is returned if  any  of  the
       given  'buffer'	or  'longentry'	 buffers  are too small	to fit the re-
       quested object name.

SEE ALSO
       libssh2_sftp_open_ex(3),	libssh2_sftp_close_handle(3)

libssh2	0.15			  1 Jun	2007	    libssh2_sftp_readdir_ex(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | BUG | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=libssh2_sftp_readdir_ex&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help