mirror of
https://github.com/curl/curl.git
synced 2026-08-24 21:43:32 +03:00
lib: separate scheme info from protocol implementation
This allows builds know about all schemes - but only have the protocol implementations for those actually built-in. It further allows multiple protocols to reuse the same protocol setup and functions for both TLS and non-TLS implementations instead of needing two (or more) structs. The scheme information is now in 'struct Curl_scheme' and all the function pointers for each scheme/protocol implementation are in struct Curl_protocol. The URL API now always work with all known protocols. Closes #20351
This commit is contained in:
parent
63baa10951
commit
8edc0338f3
59 changed files with 831 additions and 1040 deletions
|
|
@ -1,5 +1,5 @@
|
|||
#ifndef HEADER_CURL_SSH_H
|
||||
#define HEADER_CURL_SSH_H
|
||||
#ifndef HEADER_CURL_VSSH_SSH_H
|
||||
#define HEADER_CURL_VSSH_SSH_H
|
||||
/***************************************************************************
|
||||
* _ _ ____ _
|
||||
* Project ___| | | | _ \| |
|
||||
|
|
@ -25,6 +25,12 @@
|
|||
***************************************************************************/
|
||||
#include "../curl_setup.h"
|
||||
|
||||
extern const struct Curl_protocol Curl_protocol_sftp;
|
||||
extern const struct Curl_protocol Curl_protocol_scp;
|
||||
|
||||
extern const struct Curl_scheme Curl_scheme_sftp;
|
||||
extern const struct Curl_scheme Curl_scheme_scp;
|
||||
|
||||
#ifdef USE_LIBSSH2
|
||||
#include <libssh2.h>
|
||||
#include <libssh2_sftp.h>
|
||||
|
|
@ -232,9 +238,6 @@ struct ssh_conn {
|
|||
|
||||
#ifdef USE_SSH
|
||||
|
||||
extern const struct Curl_handler Curl_handler_scp;
|
||||
extern const struct Curl_handler Curl_handler_sftp;
|
||||
|
||||
/* generic SSH backend functions */
|
||||
CURLcode Curl_ssh_init(void);
|
||||
void Curl_ssh_cleanup(void);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue