1*6236dae4SAndroid Build Coastguard Worker--- 2*6236dae4SAndroid Build Coastguard Workerc: Copyright (C) Daniel Stenberg, <[email protected]>, et al. 3*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl 4*6236dae4SAndroid Build Coastguard WorkerTitle: curl_multi_setopt 5*6236dae4SAndroid Build Coastguard WorkerSection: 3 6*6236dae4SAndroid Build Coastguard WorkerSource: libcurl 7*6236dae4SAndroid Build Coastguard WorkerSee-also: 8*6236dae4SAndroid Build Coastguard Worker - curl_multi_cleanup (3) 9*6236dae4SAndroid Build Coastguard Worker - curl_multi_info_read (3) 10*6236dae4SAndroid Build Coastguard Worker - curl_multi_init (3) 11*6236dae4SAndroid Build Coastguard Worker - curl_multi_socket (3) 12*6236dae4SAndroid Build Coastguard WorkerProtocol: 13*6236dae4SAndroid Build Coastguard Worker - All 14*6236dae4SAndroid Build Coastguard WorkerAdded-in: 7.15.4 15*6236dae4SAndroid Build Coastguard Worker--- 16*6236dae4SAndroid Build Coastguard Worker 17*6236dae4SAndroid Build Coastguard Worker# NAME 18*6236dae4SAndroid Build Coastguard Worker 19*6236dae4SAndroid Build Coastguard Workercurl_multi_setopt - set options for a curl multi handle 20*6236dae4SAndroid Build Coastguard Worker 21*6236dae4SAndroid Build Coastguard Worker# SYNOPSIS 22*6236dae4SAndroid Build Coastguard Worker 23*6236dae4SAndroid Build Coastguard Worker~~~c 24*6236dae4SAndroid Build Coastguard Worker#include <curl/curl.h> 25*6236dae4SAndroid Build Coastguard Worker 26*6236dae4SAndroid Build Coastguard WorkerCURLMcode curl_multi_setopt(CURLM *multi, CURLMoption option, parameter); 27*6236dae4SAndroid Build Coastguard Worker~~~ 28*6236dae4SAndroid Build Coastguard Worker 29*6236dae4SAndroid Build Coastguard Worker# DESCRIPTION 30*6236dae4SAndroid Build Coastguard Worker 31*6236dae4SAndroid Build Coastguard Workercurl_multi_setopt(3) is used to tell a libcurl multi handle how to behave. By 32*6236dae4SAndroid Build Coastguard Workerusing the appropriate options to curl_multi_setopt(3), you can change 33*6236dae4SAndroid Build Coastguard Workerlibcurl's behavior when using that multi handle. All options are set with the 34*6236dae4SAndroid Build Coastguard Worker*option* followed by the *parameter*. That parameter can be a **long**, a 35*6236dae4SAndroid Build Coastguard Worker**function pointer**, an **object pointer** or a **curl_off_t** type, 36*6236dae4SAndroid Build Coastguard Workerdepending on what the specific option expects. Read this manual carefully as 37*6236dae4SAndroid Build Coastguard Workerbad input values may cause libcurl to behave badly. You can only set one 38*6236dae4SAndroid Build Coastguard Workeroption in each function call. 39*6236dae4SAndroid Build Coastguard Worker 40*6236dae4SAndroid Build Coastguard Worker# OPTIONS 41*6236dae4SAndroid Build Coastguard Worker 42*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE 43*6236dae4SAndroid Build Coastguard Worker 44*6236dae4SAndroid Build Coastguard Worker**deprecated** See CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE(3) 45*6236dae4SAndroid Build Coastguard Worker 46*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE 47*6236dae4SAndroid Build Coastguard Worker 48*6236dae4SAndroid Build Coastguard Worker**deprecated** See CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE(3) 49*6236dae4SAndroid Build Coastguard Worker 50*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_MAXCONNECTS 51*6236dae4SAndroid Build Coastguard Worker 52*6236dae4SAndroid Build Coastguard WorkerSize of connection cache. See CURLMOPT_MAXCONNECTS(3) 53*6236dae4SAndroid Build Coastguard Worker 54*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_MAX_CONCURRENT_STREAMS 55*6236dae4SAndroid Build Coastguard Worker 56*6236dae4SAndroid Build Coastguard WorkerMax concurrent streams for http2. See CURLMOPT_MAX_CONCURRENT_STREAMS(3) 57*6236dae4SAndroid Build Coastguard Worker 58*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_MAX_HOST_CONNECTIONS 59*6236dae4SAndroid Build Coastguard Worker 60*6236dae4SAndroid Build Coastguard WorkerMax number of connections to a single host. See 61*6236dae4SAndroid Build Coastguard WorkerCURLMOPT_MAX_HOST_CONNECTIONS(3) 62*6236dae4SAndroid Build Coastguard Worker 63*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_MAX_PIPELINE_LENGTH 64*6236dae4SAndroid Build Coastguard Worker 65*6236dae4SAndroid Build Coastguard Worker**deprecated**. See CURLMOPT_MAX_PIPELINE_LENGTH(3) 66*6236dae4SAndroid Build Coastguard Worker 67*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_MAX_TOTAL_CONNECTIONS 68*6236dae4SAndroid Build Coastguard Worker 69*6236dae4SAndroid Build Coastguard WorkerMax simultaneously open connections. See CURLMOPT_MAX_TOTAL_CONNECTIONS(3) 70*6236dae4SAndroid Build Coastguard Worker 71*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_PIPELINING 72*6236dae4SAndroid Build Coastguard Worker 73*6236dae4SAndroid Build Coastguard WorkerEnable HTTP multiplexing. See CURLMOPT_PIPELINING(3) 74*6236dae4SAndroid Build Coastguard Worker 75*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_PIPELINING_SERVER_BL 76*6236dae4SAndroid Build Coastguard Worker 77*6236dae4SAndroid Build Coastguard Worker**deprecated**. See CURLMOPT_PIPELINING_SERVER_BL(3) 78*6236dae4SAndroid Build Coastguard Worker 79*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_PIPELINING_SITE_BL 80*6236dae4SAndroid Build Coastguard Worker 81*6236dae4SAndroid Build Coastguard Worker**deprecated**. See CURLMOPT_PIPELINING_SITE_BL(3) 82*6236dae4SAndroid Build Coastguard Worker 83*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_PUSHDATA 84*6236dae4SAndroid Build Coastguard Worker 85*6236dae4SAndroid Build Coastguard WorkerPointer to pass to push callback. See CURLMOPT_PUSHDATA(3) 86*6236dae4SAndroid Build Coastguard Worker 87*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_PUSHFUNCTION 88*6236dae4SAndroid Build Coastguard Worker 89*6236dae4SAndroid Build Coastguard WorkerCallback that approves or denies server pushes. See CURLMOPT_PUSHFUNCTION(3) 90*6236dae4SAndroid Build Coastguard Worker 91*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_SOCKETDATA 92*6236dae4SAndroid Build Coastguard Worker 93*6236dae4SAndroid Build Coastguard WorkerCustom pointer passed to the socket callback. See CURLMOPT_SOCKETDATA(3) 94*6236dae4SAndroid Build Coastguard Worker 95*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_SOCKETFUNCTION 96*6236dae4SAndroid Build Coastguard Worker 97*6236dae4SAndroid Build Coastguard WorkerCallback informed about what to wait for. See CURLMOPT_SOCKETFUNCTION(3) 98*6236dae4SAndroid Build Coastguard Worker 99*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_TIMERDATA 100*6236dae4SAndroid Build Coastguard Worker 101*6236dae4SAndroid Build Coastguard WorkerCustom pointer to pass to timer callback. See CURLMOPT_TIMERDATA(3) 102*6236dae4SAndroid Build Coastguard Worker 103*6236dae4SAndroid Build Coastguard Worker## CURLMOPT_TIMERFUNCTION 104*6236dae4SAndroid Build Coastguard Worker 105*6236dae4SAndroid Build Coastguard WorkerCallback to receive timeout values. See CURLMOPT_TIMERFUNCTION(3) 106*6236dae4SAndroid Build Coastguard Worker 107*6236dae4SAndroid Build Coastguard Worker# %PROTOCOLS% 108*6236dae4SAndroid Build Coastguard Worker 109*6236dae4SAndroid Build Coastguard Worker# EXAMPLE 110*6236dae4SAndroid Build Coastguard Worker 111*6236dae4SAndroid Build Coastguard Worker~~~c 112*6236dae4SAndroid Build Coastguard Worker 113*6236dae4SAndroid Build Coastguard Worker#define MAX_PARALLEL 45 114*6236dae4SAndroid Build Coastguard Worker 115*6236dae4SAndroid Build Coastguard Workerint main(void) 116*6236dae4SAndroid Build Coastguard Worker{ 117*6236dae4SAndroid Build Coastguard Worker CURLM *multi; 118*6236dae4SAndroid Build Coastguard Worker /* Limit the amount of simultaneous connections curl should allow: */ 119*6236dae4SAndroid Build Coastguard Worker curl_multi_setopt(multi, CURLMOPT_MAXCONNECTS, (long)MAX_PARALLEL); 120*6236dae4SAndroid Build Coastguard Worker} 121*6236dae4SAndroid Build Coastguard Worker~~~ 122*6236dae4SAndroid Build Coastguard Worker 123*6236dae4SAndroid Build Coastguard Worker# %AVAILABILITY% 124*6236dae4SAndroid Build Coastguard Worker 125*6236dae4SAndroid Build Coastguard Worker# RETURN VALUE 126*6236dae4SAndroid Build Coastguard Worker 127*6236dae4SAndroid Build Coastguard WorkerThe standard CURLMcode for multi interface error codes. Note that it returns a 128*6236dae4SAndroid Build Coastguard WorkerCURLM_UNKNOWN_OPTION if you try setting an option that this version of libcurl 129*6236dae4SAndroid Build Coastguard Workerdoes not know of. 130