1--- 2c: Copyright (C) Daniel Stenberg, <daniel.se>, et al. 3SPDX-License-Identifier: curl 4Title: CURLOPT_SSL_FALSESTART 5Section: 3 6Source: libcurl 7See-also: 8 - CURLOPT_TCP_FASTOPEN (3) 9--- 10 11# NAME 12 13CURLOPT_SSL_FALSESTART - TLS false start 14 15# SYNOPSIS 16 17~~~c 18#include <curl/curl.h> 19 20CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSL_FALSESTART, long enable); 21~~~ 22 23# DESCRIPTION 24 25Pass a long as parameter set to 1L to enable or 0 to disable. 26 27This option determines whether libcurl should use false start during the TLS 28handshake. False start is a mode where a TLS client starts sending application 29data before verifying the server's Finished message, thus saving a round trip 30when performing a full handshake. 31 32# DEFAULT 33 340 35 36# PROTOCOLS 37 38All TLS based protocols: HTTPS, FTPS, IMAPS, POP3S, SMTPS etc. 39 40# EXAMPLE 41 42~~~c 43int main(void) 44{ 45 CURL *curl = curl_easy_init(); 46 if(curl) { 47 curl_easy_setopt(curl, CURLOPT_URL, "https://example.com"); 48 curl_easy_setopt(curl, CURLOPT_SSL_FALSESTART, 1L); 49 curl_easy_perform(curl); 50 } 51} 52~~~ 53 54# AVAILABILITY 55 56Added in 7.42.0. This option is currently only supported by the Secure 57Transport (on iOS 7.0 or later, or OS X 10.9 or later) TLS backend. 58 59# RETURN VALUE 60 61Returns CURLE_OK if false start is supported by the SSL backend, otherwise 62returns CURLE_NOT_BUILT_IN. 63