CURLOPT_SSL_ENABLE_ALPN.md (1248B)
1 --- 2 c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 3 SPDX-License-Identifier: curl 4 Title: CURLOPT_SSL_ENABLE_ALPN 5 Section: 3 6 Source: libcurl 7 See-also: 8 - CURLOPT_SSL_ENABLE_NPN (3) 9 - CURLOPT_SSL_OPTIONS (3) 10 Protocol: 11 - TLS 12 TLS-backend: 13 - All 14 Added-in: 7.36.0 15 --- 16 17 # NAME 18 19 CURLOPT_SSL_ENABLE_ALPN - Application Layer Protocol Negotiation 20 21 # SYNOPSIS 22 23 ~~~c 24 #include <curl/curl.h> 25 26 CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_ENABLE_ALPN, long npn); 27 ~~~ 28 29 # DESCRIPTION 30 31 Pass a long as parameter, 0 or 1 where 1 is for enable and 0 for disable. This 32 option enables/disables ALPN in the SSL handshake (if the SSL backend libcurl 33 is built to use supports it), which can be used to negotiate http2. 34 35 # DEFAULT 36 37 1, enabled 38 39 # %PROTOCOLS% 40 41 # EXAMPLE 42 43 ~~~c 44 int main(void) 45 { 46 CURL *curl = curl_easy_init(); 47 if(curl) { 48 CURLcode res; 49 curl_easy_setopt(curl, CURLOPT_URL, "https://example.com/"); 50 curl_easy_setopt(curl, CURLOPT_SSL_ENABLE_ALPN, 0L); 51 res = curl_easy_perform(curl); 52 curl_easy_cleanup(curl); 53 } 54 } 55 ~~~ 56 57 # %AVAILABILITY% 58 59 # RETURN VALUE 60 61 curl_easy_setopt(3) returns a CURLcode indicating success or error. 62 63 CURLE_OK (0) means everything was OK, non-zero means an error occurred, see 64 libcurl-errors(3).