manpagez: man pages & more
man libssh2_session_supported_algs(3)
Home | html | info | man
libssh2_session_supported_algs(3)



NAME

       libssh2_session_supported_algs - get list of supported algorithms


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  function).   method_type  -
       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 deal-
       libssh2_free(3). If successful,  the  function  will  allocate  the
       appropriate amount of memory. When not needed anymore, it must be deal-
       located 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 algorithms, lib-
       ssh2_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 sup-
       ported 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++ )
               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),    lib-
       ssh2_free(3)



libssh2 1.4.0                     23 Oct libssh2_session_supported_algs(3)

libssh2 1.7.0 - Generated Wed May 25 16:37:33 CDT 2016
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.