mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-10-30 12:05:34 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			105 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			105 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
| .TH libssh2_sftp_fstat_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2"
 | |
| .SH NAME
 | |
| libssh2_sftp_fstat_ex - get or set attributes on an SFTP file handle
 | |
| .SH SYNOPSIS
 | |
| .nf
 | |
| #include <libssh2.h>
 | |
| #include <libssh2_sftp.h>
 | |
| 
 | |
| int
 | |
| libssh2_sftp_fstat_ex(LIBSSH2_SFTP_HANDLE *handle,
 | |
|                       LIBSSH2_SFTP_ATTRIBUTES *attrs, int setstat)
 | |
| 
 | |
| #define libssh2_sftp_fstat(handle, attrs) \\
 | |
|     libssh2_sftp_fstat_ex((handle), (attrs), 0)
 | |
| #define libssh2_sftp_fsetstat(handle, attrs) \\
 | |
|     libssh2_sftp_fstat_ex((handle), (attrs), 1)
 | |
| .fi
 | |
| .SH DESCRIPTION
 | |
| \fIhandle\fP - SFTP File Handle as returned by
 | |
| .BR libssh2_sftp_open_ex(3)
 | |
| 
 | |
| \fIattrs\fP - Pointer to an LIBSSH2_SFTP_ATTRIBUTES structure to set file
 | |
| metadata from or into depending on the value of setstat.
 | |
| 
 | |
| \fIsetstat\fP - When non-zero, the file's metadata will be updated
 | |
| with the data found in attrs according to the values of attrs->flags
 | |
| and other relevant member attributes.
 | |
| 
 | |
| Get or Set statbuf type data for a given LIBSSH2_SFTP_HANDLE instance.
 | |
| .SH DATA TYPES
 | |
| LIBSSH2_SFTP_ATTRIBUTES is a typedefed struct that is defined as below
 | |
| 
 | |
| .nf
 | |
| 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;
 | |
| 
 | |
|     /* size of file, in bytes */
 | |
|     libssh2_uint64_t filesize;
 | |
| 
 | |
|     /* numerical representation of the user and group owner of
 | |
|      * the file
 | |
|      */
 | |
|     unsigned long uid, gid;
 | |
| 
 | |
|     /* bitmask of permissions */
 | |
|     unsigned long permissions;
 | |
| 
 | |
|     /* access time and modified time of file */
 | |
|     unsigned long atime, mtime;
 | |
| };
 | |
| .fi
 | |
| 
 | |
| You will find a full set of defines and macros to identify flags and
 | |
| permissions on the \fBlibssh2_sftp.h\fP header file, but some of the
 | |
| most common ones are:
 | |
| 
 | |
| To check for specific user permissions, the set of defines are in the
 | |
| pattern LIBSSH2_SFTP_S_I<action><who> where <action> is R, W or X for
 | |
| read, write and executable and <who> is USR, GRP and OTH for user,
 | |
| group and other. So, you check for a user readable file, use the bit
 | |
| \fILIBSSH2_SFTP_S_IRUSR\fP while you want to see if it is executable
 | |
| for other, you use \fILIBSSH2_SFTP_S_IXOTH\fP and so on.
 | |
| 
 | |
| To check for specific file types, you would previously (before libssh2
 | |
| 1.2.5) use the standard posix S_IS***() macros, but since 1.2.5
 | |
| libssh2 offers its own set of macros for this functionality:
 | |
| .IP LIBSSH2_SFTP_S_ISLNK
 | |
| Test for a symbolic link
 | |
| .IP LIBSSH2_SFTP_S_ISREG
 | |
| Test for a regular file
 | |
| .IP LIBSSH2_SFTP_S_ISDIR
 | |
| Test for a directory
 | |
| .IP LIBSSH2_SFTP_S_ISCHR
 | |
| Test for a character special file
 | |
| .IP LIBSSH2_SFTP_S_ISBLK
 | |
| Test for a block special file
 | |
| .IP LIBSSH2_SFTP_S_ISFIFO
 | |
| Test for a pipe or FIFO special file
 | |
| .IP LIBSSH2_SFTP_S_ISSOCK
 | |
| Test for a socket
 | |
| .SH RETURN VALUE
 | |
| Return 0 on success or negative on failure.  It returns
 | |
| LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
 | |
| LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
 | |
| .SH ERRORS
 | |
| \fILIBSSH2_ERROR_ALLOC\fP -  An internal memory allocation call failed.
 | |
| 
 | |
| \fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
 | |
| 
 | |
| \fILIBSSH2_ERROR_SOCKET_TIMEOUT\fP -
 | |
| 
 | |
| \fILIBSSH2_ERROR_SFTP_PROTOCOL\fP - An invalid SFTP protocol response was
 | |
| received on the socket, or an SFTP operation caused an errorcode to
 | |
| be returned by the server.
 | |
| .SH AVAILABILITY
 | |
| This function has been around since forever, but most of the
 | |
| LIBSSH2_SFTP_S_* defines were introduced in libssh2 0.14 and the
 | |
| LIBSSH2_SFTP_S_IS***() macros were introduced in libssh2 1.2.5.
 | |
| .SH SEE ALSO
 | |
| .BR libssh2_sftp_open_ex(3)
 |