.\" $Id: libssh2_sftp_readdir.3,v 1.4 2007/06/07 16:01:12 jehousley Exp $
.\"
.TH libssh2_sftp_readdir 3 "16 Apr 2007" "libssh2 0.15" "libssh2 manual"
.SH NAME
libssh2_sftp_readdir - read directory data from an SFTP handle
.SH SYNOPSIS
#include <libssh2.h>
#include <libssh2_sftp.h>

int libssh2_sftp_readdir(LIBSSH2_SFTP_HANDLE *handle, char *buffer, 
                         size_t buffer_maxlen, LIBSSH2_SFTP_ATTRIBUTES *attrs);

.SH DESCRIPTION
Read a block of data from a LIBSSH2_SFTP_HANDLE. This method is modeled 
after the POSIX \fIreaddir(3)\fP however, it uses a variable sized directory 
entry (filename) buffer and returns statbuf type data in the same call.

\fIhandle\fP is the SFTP File Handle as returned by 
\fIlibssh2_sftp_diropen(3)\fP.

\fIbuffer\fP is a pointer to a pre-allocated buffer of at least
\fIbuffer_maxlen\fP bytes to read data into.

\fIbuffer_maxlen\fP 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.

\fIattrs\fP is a pointer to LIBSSH2_SFTP_ATTRIBUTES storage to populate 
statbuf style data into.

.SH RETURN VALUE
Number of bytes actually populated into buffer, or -1 on failure.  It returns
LIBSSH2SFTP_EAGAIN when it would otherwise block. While
LIBSSH2SFTP_EAGAIN is a negative number, it isn't really a failure per se.
.SH "SEE ALSO"
.BR libssh2_sftp_opendir(3)
.BR libssh2_sftp_readdirnb(3)