Return to curl_global_sslset.3 CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / curl / docs / libcurl |
1.1 ! misho 1: .\" ************************************************************************** ! 2: .\" * _ _ ____ _ ! 3: .\" * Project ___| | | | _ \| | ! 4: .\" * / __| | | | |_) | | ! 5: .\" * | (__| |_| | _ <| |___ ! 6: .\" * \___|\___/|_| \_\_____| ! 7: .\" * ! 8: .\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al. ! 9: .\" * ! 10: .\" * This software is licensed as described in the file COPYING, which ! 11: .\" * you should have received as part of this distribution. The terms ! 12: .\" * are also available at https://curl.haxx.se/docs/copyright.html. ! 13: .\" * ! 14: .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell ! 15: .\" * copies of the Software, and permit persons to whom the Software is ! 16: .\" * furnished to do so, under the terms of the COPYING file. ! 17: .\" * ! 18: .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY ! 19: .\" * KIND, either express or implied. ! 20: .\" * ! 21: .\" ************************************************************************** ! 22: .TH curl_global_sslset 3 "March 04, 2020" "libcurl 7.70.0" "libcurl Manual" ! 23: ! 24: .SH NAME ! 25: curl_global_sslset - Select SSL backend to use with libcurl ! 26: .SH SYNOPSIS ! 27: .B #include <curl/curl.h> ! 28: .nf ! 29: ! 30: typedef struct { ! 31: curl_sslbackend id; ! 32: const char *name; ! 33: } curl_ssl_backend; ! 34: ! 35: typedef enum { ! 36: CURLSSLBACKEND_NONE = 0, ! 37: CURLSSLBACKEND_OPENSSL = 1, ! 38: CURLSSLBACKEND_GNUTLS = 2, ! 39: CURLSSLBACKEND_NSS = 3, ! 40: CURLSSLBACKEND_GSKIT = 5, ! 41: CURLSSLBACKEND_POLARSSL = 6, /* deprecated */ ! 42: CURLSSLBACKEND_WOLFSSL = 7, ! 43: CURLSSLBACKEND_SCHANNEL = 8, ! 44: CURLSSLBACKEND_DARWINSSL = 9, ! 45: CURLSSLBACKEND_AXTLS = 10, /* deprecated */ ! 46: CURLSSLBACKEND_MBEDTLS = 11, ! 47: CURLSSLBACKEND_MESALINK = 12, ! 48: CURLSSLBACKEND_BEARSSL = 13 ! 49: } curl_sslbackend; ! 50: ! 51: .B "CURLsslset curl_global_sslset(curl_sslbackend " id, ! 52: .B " const char *" name, ! 53: .B " curl_ssl_backend ***" avail ");" ! 54: .fi ! 55: .SH DESCRIPTION ! 56: This function configures at runtime which SSL backend to use with ! 57: libcurl. This function can only be used to select an SSL backend once, and it ! 58: must be called \fBbefore\fP \fIcurl_global_init(3)\fP. ! 59: ! 60: The backend can be identified by the \fIid\fP ! 61: (e.g. \fBCURLSSLBACKEND_OPENSSL\fP). The backend can also be specified via the ! 62: \fIname\fP parameter for a case insensitive match (passing -1 as \fIid\fP). If ! 63: both \fIid\fP and \fIname\fP are specified, the \fIname\fP will be ignored. ! 64: ! 65: If neither \fIid\fP nor \fPname\fP are specified, the function will fail with ! 66: CURLSSLSET_UNKNOWN_BACKEND and set the \fIavail\fP pointer to the ! 67: NULL-terminated list of available backends. The available backends are those ! 68: that this particular build of libcurl supports. ! 69: ! 70: Since libcurl 7.60.0, the \fIavail\fP pointer will always be set to the list ! 71: of alternatives if non-NULL. ! 72: ! 73: Upon success, the function returns CURLSSLSET_OK. ! 74: ! 75: If the specified SSL backend is not available, the function returns ! 76: CURLSSLSET_UNKNOWN_BACKEND and sets the \fIavail\fP pointer to a ! 77: NULL-terminated list of available SSL backends. In this case, you may call the ! 78: function again to try to select a different backend. ! 79: ! 80: The SSL backend can be set only once. If it has already been set, a subsequent ! 81: attempt to change it will result in a \fBCURLSSLSET_TOO_LATE\fP. ! 82: ! 83: \fBThis function is not thread safe.\fP You must not call it when any other ! 84: thread in the program (i.e. a thread sharing the same memory) is running. ! 85: This doesn't just mean no other thread that is using libcurl. ! 86: ! 87: .SH AVAILABILITY ! 88: This function was added in libcurl 7.56.0. Before this version, there was no ! 89: support for choosing SSL backends at runtime. ! 90: .SH RETURN VALUE ! 91: If this function returns CURLSSLSET_OK, the backend was successfully selected. ! 92: ! 93: If the chosen backend is unknown (or support for the chosen backend has not ! 94: been compiled into libcurl), the function returns \fICURLSSLSET_UNKNOWN_BACKEND\fP. ! 95: ! 96: If the backend had been configured previously, or if \fIcurl_global_init(3)\fP ! 97: has already been called, the function returns \fICURLSSLSET_TOO_LATE\fP. ! 98: ! 99: If this libcurl was built completely without SSL support, with no backends at ! 100: all, this function returns \fICURLSSLSET_NO_BACKENDS\fP. ! 101: .SH "SEE ALSO" ! 102: .BR curl_global_init "(3), " ! 103: .BR libcurl "(3) "