Man Linux: Main Page and Category List

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);

       int
       libssh2_sftp_symlink(LIBSSH2_SFTP *sftp, const char *path, char *target);

       int
       libssh2_sftp_readlink(LIBSSH2_SFTP *sftp, const char *path, char *target,
                             unsigned int target_len);

       int
       libssh2_sftp_realpath(LIBSSH2_SFTP *sftp, const char *path, char *target,
                             unsigned int target_len);

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
       determines the resulting behavior of this function.

       These are convenience macros:

       libssh2_sftp_symlink(3) : Create a symbolic link between two filesystem
       objects.
       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 funtion returns 0 on success or
       negative 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
       terminating 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.

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.

SEE ALSO

       libssh2_sftp_init(3)