DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

libssh2_session_supported_algs(3)





libssh2_session_supported_algs(3libssh2 manualibssh2_session_supported_algs(3)



NAME

     libssh2_session_supported_algs - get list of supported algo-
     rithms


SYNOPSIS

     #include <libssh2.h>

     int libssh2_session_supported_algs(LIBSSH2_SESSION* session,
                                        int method_type,
                                        const char*** algs);


DESCRIPTION

     session - An instance of  initialized  LIBSSH2_SESSION  (the
     function will use its pointer to the memory allocation func-
     tion).     method_type    -    Method    type.    See    .BR
     libssh2_session_method_pref(3).  algs - Address of a pointer
     that will point to an array of returned algorithms

     Get  a  list  of  supported   algorithms   for   the   given
     method_type.  The  method_type  parameter  is  equivalent to
     method_type in libssh2_session_method_pref(3).  If  success-
     ful,  the  function  will allocate the appropriate amount of
     memory. When not needed anymore, it must be  deallocated  by
     calling libssh2_free(3). When this function is unsuccessful,
     this must not be done.

     In order to get a list of all  supported  compression  algo-
     rithms, libssh2_session_flag(session, LIBSSH2_FLAG_COMPRESS,
     1) must be called before calling  this  function,  otherwise
     only "none" will be returned.

     If successful, the function will allocate and fill the array
     with  supported algorithms (the same names as defined in RFC
     4253).  The array is not NULL terminated.


EXAMPLE

     #include "libssh2.h"

     const char **algorithms;
     int rc, i;
     LIBSSH2_SESSION *session;

     /* initialize session */
     session = libssh2_session_init();
     rc = libssh2_session_supported_algs(session,
                                         LIBSSH2_METHOD_CRYPT_CS,
                                         &algorithms);
     if (rc>0) {
         /* the call succeeded, do sth. with the list of algorithms
            (e.g. list them)... */
         printf("Supported symmetric algorithms:0);
         for ( i=0; i<rc; i++ )

libssh2 1.4.0       Last change: 23 Oct 2011                    1


libssh2_session_supported_algs(3libssh2 manualibssh2_session_supported_algs(3)


             printf("%s0, algorithms[i]);

         /* ... and free the allocated memory when not needed anymore */
         libssh2_free(session, algorithms);
     }
     else {
         /* call failed, error handling */
     }


RETURN VALUE

     On success, a number of returned algorithms (i.e a  positive
     number  will  be  returned).  In case of a failure, an error
     code (a negative number, see below) is returned.   0  should
     never be returned.


ERRORS

     LIBSSH2_ERROR_BAD_USE - Invalid address of algs.

     LIBSSH2_ERROR_METHOD_NOT_SUPPORTED -  Unknown method type.

     LIBSSH2_ERROR_INVAL - Internal error  (normally  should  not
     occur).

     LIBSSH2_ERROR_ALLOC - Allocation of memory failed.


AVAILABILITY

     Added in 1.4.0


SEE ALSO

     libssh2_session_methods(3),   libssh2_session_method_pref(3)
     libssh2_free(3)

libssh2 1.4.0       Last change: 23 Oct 2011                    2


Man(1) output converted with man2html