mirror of
				https://github.com/libssh2/libssh2.git
				synced 2025-11-03 22:13:11 +03:00 
			
		
		
		
	To render in Git webviews as-is, to make it easier to edit, verify,
and to sync up with curl.
- add options to not build the `.3` man pages:
  - autotools: `--disable-docs`
  - cmake: `LIBSSH2_BUILD_DOCS=OFF`
- building `.3` man pages requires Perl after this patch.
- drop `mansyntax` and the shell / `grep` / GNU `man` tool requirements with it.
- scripts and most logic were copied from curl.
- add `cd2nroff` from curl, with edits to relax curl-specific checks.
- used `nroff2cd` (from curl) to convert from `.3` to `.md`. Then
  manually fixed copyrights, inline function references and a couple
  of other things.
Credits-to: Daniel Stenberg
Ref: eefcc1bda4
Ref: https://github.com/curl/curl/pull/12730
Ref: https://github.com/libssh2/www/issues/25#issuecomment-3289431671
Closes #1660
		
	
		
			
				
	
	
		
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
c: Copyright (C) The libssh2 project and its contributors.
 | 
						|
SPDX-License-Identifier: BSD-3-Clause
 | 
						|
Title: libssh2_session_method_pref
 | 
						|
Section: 3
 | 
						|
Source: libssh2
 | 
						|
See-also:
 | 
						|
  - libssh2_session_handshake(3)
 | 
						|
  - libssh2_session_init_ex(3)
 | 
						|
---
 | 
						|
 | 
						|
# NAME
 | 
						|
 | 
						|
libssh2_session_method_pref - set preferred key exchange method
 | 
						|
 | 
						|
# SYNOPSIS
 | 
						|
 | 
						|
~~~c
 | 
						|
#include <libssh2.h>
 | 
						|
 | 
						|
int
 | 
						|
libssh2_session_method_pref(LIBSSH2_SESSION *session,
 | 
						|
                            int method_type, const char *prefs);
 | 
						|
~~~
 | 
						|
 | 
						|
# DESCRIPTION
 | 
						|
 | 
						|
*session* - Session instance as returned by libssh2_session_init_ex(3)
 | 
						|
 | 
						|
*method_type* - One of the Method Type constants.
 | 
						|
 | 
						|
*prefs* - Coma delimited list of preferred methods to use with
 | 
						|
the most preferred listed first and the least preferred listed last.
 | 
						|
If a method is listed which is not supported by libssh2 it will be
 | 
						|
ignored and not sent to the remote host during protocol negotiation.
 | 
						|
 | 
						|
Set preferred methods to be negotiated. These
 | 
						|
preferences must be set prior to calling libssh2_session_handshake(3)
 | 
						|
as they are used during the protocol initiation phase.
 | 
						|
 | 
						|
# RETURN VALUE
 | 
						|
 | 
						|
Return 0 on success or negative on failure. It returns
 | 
						|
LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
 | 
						|
LIBSSH2_ERROR_EAGAIN is a negative number, it is not really a failure per se.
 | 
						|
 | 
						|
# ERRORS
 | 
						|
 | 
						|
*LIBSSH2_ERROR_INVAL* - The requested method type was invalid.
 | 
						|
 | 
						|
*LIBSSH2_ERROR_ALLOC* - An internal memory allocation call failed.
 | 
						|
 | 
						|
*LIBSSH2_ERROR_METHOD_NOT_SUPPORTED* - The requested method is not supported.
 |