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

FreeBSD Manual Pages

  
 
  

home | help
libssh2_session_supported_algs(3)   libssh2  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 -
       Method type. See	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_ses-
       sion_method_pref(3).  If	successful, the	function will allocate the ap-
       propriate amount	of memory. When	not needed anymore, it must be deallo-
       cated 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 be-
       fore 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:\n");
	   for(i = 0; i	< rc; i++)
	       printf("\t%s\n",	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				  23 Oct 2011libssh2_session_supported_algs(3)

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

home | help