mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-11-03 22:13:11 +03:00 
			
		
		
		
	- `- ` -> `- ` - `. ` -> `. ` - `\- ` -> `- ` - `-1` -> `\-1` - fold long lines along the way This makes the minus sign come out as a Unicode minus sign (0x2212), and title separator dashes as Unicode hyphen (0x2010), with `groff -Tutf8` v1.23.0. Ref: https://lwn.net/Articles/947941/ Closes #1210
		
			
				
	
	
		
			80 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.\" Copyright (C) The libssh2 project and its contributors.
 | 
						|
.\" SPDX-License-Identifier: BSD-3-Clause
 | 
						|
.TH libssh2_session_supported_algs 3 "23 Oct 2011" "libssh2" "libssh2"
 | 
						|
.SH NAME
 | 
						|
libssh2_session_supported_algs - get list of supported algorithms
 | 
						|
.SH SYNOPSIS
 | 
						|
.nf
 | 
						|
#include <libssh2.h>
 | 
						|
 | 
						|
int
 | 
						|
libssh2_session_supported_algs(LIBSSH2_SESSION* session,
 | 
						|
                               int method_type,
 | 
						|
                               const char*** algs);
 | 
						|
.fi
 | 
						|
.SH DESCRIPTION
 | 
						|
\fIsession\fP - An instance of initialized LIBSSH2_SESSION (the function will
 | 
						|
use its pointer to the memory allocation function). \fImethod_type\fP -
 | 
						|
Method type. See \fIlibssh2_session_method_pref(3)\fP. \fIalgs\fP - Address
 | 
						|
of a pointer that will point to an array of returned algorithms
 | 
						|
 | 
						|
Get a list of supported algorithms for the given \fImethod_type\fP. The
 | 
						|
method_type parameter is equivalent to method_type in
 | 
						|
\fIlibssh2_session_method_pref(3)\fP. If successful, the function will
 | 
						|
allocate the appropriate amount of memory. When not needed anymore, it must be
 | 
						|
deallocated by calling \fIlibssh2_free(3)\fP. When this function is
 | 
						|
unsuccessful, this must not be done.
 | 
						|
 | 
						|
In order to get a list of all supported compression algorithms,
 | 
						|
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.
 | 
						|
.SH EXAMPLE
 | 
						|
.nf
 | 
						|
#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 */
 | 
						|
}
 | 
						|
.fi
 | 
						|
.SH 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.
 | 
						|
.SH ERRORS
 | 
						|
\fILIBSSH2_ERROR_BAD_USE\fP - Invalid address of algs.
 | 
						|
 | 
						|
\fILIBSSH2_ERROR_METHOD_NOT_SUPPORTED\fP - Unknown method type.
 | 
						|
 | 
						|
\fILIBSSH2_ERROR_INVAL\fP - Internal error (normally should not occur).
 | 
						|
 | 
						|
\fILIBSSH2_ERROR_ALLOC\fP - Allocation of memory failed.
 | 
						|
.SH AVAILABILITY
 | 
						|
Added in 1.4.0
 | 
						|
.SH SEE ALSO
 | 
						|
.BR libssh2_session_methods(3),
 | 
						|
.BR libssh2_session_method_pref(3)
 | 
						|
.BR libssh2_free(3)
 |