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

FreeBSD Manual Pages

  
 
  

home | help
libssh2_sftp_symlink_ex(3)	     libssh2	      libssh2_sftp_symlink_ex(3)

NAME
     libssh2_sftp_symlink_ex - read or set a symbolic link

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

     int
     libssh2_sftp_symlink_ex(LIBSSH2_SFTP *sftp, const char *path,
			     unsigned int path_len, char *target,
			     unsigned int target_len, int link_type);

DESCRIPTION
     Create a symlink or read out symlink information from the remote side.

     sftp - SFTP instance as returned by libssh2_sftp_init(3)

     path - Remote filesystem object to create a symlink from or resolve.

     path_len  -  Length of the name of the remote filesystem object to create a
     symlink from or resolve.

     target - a pointer to a buffer. The buffer  has  different  uses  depending
     what the link_type argument is set to.
     LIBSSH2_SFTP_SYMLINK: Remote filesystem object to link to.
     LIBSSH2_SFTP_READLINK: Pre-allocated buffer to resolve symlink target into.
     LIBSSH2_SFTP_REALPATH:  Pre-allocated  buffer  to	resolve  realpath target
     into.

     target_len - Length of the name of the remote filesystem target object.

     link_type - One of the three previously mentioned	constants  which  deter-
     mines the resulting behavior of this function.

     These are convenience macros:

     libssh2_sftp_symlink(3) : Create a symbolic link between two filesystem ob-
     jects.
     libssh2_sftp_readlink(3) : Resolve a symbolic link filesystem object to its
     next target.
     libssh2_sftp_realpath(3)  :  Resolve  a  complex,	relative,  or  symlinked
     filepath to its effective target.

RETURN VALUE
     When using LIBSSH2_SFTP_SYMLINK, this function returns 0 on success or neg-
     ative on failure.

     When using LIBSSH2_SFTP_READLINK or LIBSSH2_SFTP_REALPATH, it  returns  the
     number of bytes it copied to the target buffer (not including the terminat-
     ing zero) or negative on failure.

     It  returns  LIBSSH2_ERROR_EAGAIN when it would otherwise block. While LIB-
     SSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.

     From 1.2.8, LIBSSH2_ERROR_BUFFER_TOO_SMALL is returned if the  given  'tar-
     get' buffer is too small to fit the requested object name.

BUG
     Passing  in  a too small buffer when receiving data only results in libssh2
     1.2.7 or earlier to not copy the entire 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 re-
     turned by the server.

SEE ALSO
     libssh2_sftp_init(3)

libssh2 0.15			   1 Jun 2007	      libssh2_sftp_symlink_ex(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libssh2_sftp_symlink_ex&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help