Revert "Update to 7.40.1"
[platform/upstream/curl.git] / docs / libcurl / curl_easy_setopt.3
1 .\" **************************************************************************
2 .\" *                                  _   _ ____  _
3 .\" *  Project                     ___| | | |  _ \| |
4 .\" *                             / __| | | | |_) | |
5 .\" *                            | (__| |_| |  _ <| |___
6 .\" *                             \___|\___/|_| \_\_____|
7 .\" *
8 .\" * Copyright (C) 1998 - 2014, 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 http://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 .\"
23 .TH curl_easy_setopt 3 "25 Jun 2014" "libcurl 7.38.0" "libcurl Manual"
24 .SH NAME
25 curl_easy_setopt \- set options for a curl easy handle
26 .SH SYNOPSIS
27 #include <curl/curl.h>
28
29 CURLcode curl_easy_setopt(CURL *handle, CURLoption option, parameter);
30 .SH DESCRIPTION
31 curl_easy_setopt() is used to tell libcurl how to behave. By using the
32 appropriate options to \fIcurl_easy_setopt\fP, you can change libcurl's
33 behavior.  All options are set with the \fIoption\fP followed by a
34 \fIparameter\fP. That parameter can be a \fBlong\fP, a \fBfunction pointer\fP,
35 an \fBobject pointer\fP or a \fBcurl_off_t\fP, depending on what the specific
36 option expects. Read this manual carefully as bad input values may cause
37 libcurl to behave badly!  You can only set one option in each function call. A
38 typical application uses many curl_easy_setopt() calls in the setup phase.
39
40 Options set with this function call are valid for all forthcoming transfers
41 performed using this \fIhandle\fP.  The options are not in any way reset
42 between transfers, so if you want subsequent transfers with different options,
43 you must change them between the transfers. You can optionally reset all
44 options back to internal default with \fIcurl_easy_reset(3)\fP.
45
46 Strings passed to libcurl as 'char *' arguments, are copied by the library;
47 thus the string storage associated to the pointer argument may be overwritten
48 after curl_easy_setopt() returns. The only exception to this rule is really
49 \fICURLOPT_POSTFIELDS(3)\fP, but the alternative that copies the string
50 \fICURLOPT_COPYPOSTFIELDS(3)\fP has some usage characteristics you need to
51 read up on.
52
53 Before version 7.17.0, strings were not copied. Instead the user was forced
54 keep them available until libcurl no longer needed them.
55
56 The \fIhandle\fP is the return code from a \fIcurl_easy_init(3)\fP or
57 \fIcurl_easy_duphandle(3)\fP call.
58 .SH BEHAVIOR OPTIONS
59 .IP CURLOPT_VERBOSE
60 Display verbose information. See \fICURLOPT_VERBOSE(3)\fP
61 .IP CURLOPT_HEADER
62 Include the header in the body output. See \fICURLOPT_HEADER(3)\fP
63 .IP CURLOPT_NOPROGRESS
64 Shut off the progress meter. See \fICURLOPT_NOPROGRESS(3)\fP
65 .IP CURLOPT_NOSIGNAL
66 Do not install signal handlers. See \fICURLOPT_NOSIGNAL(3)\fP
67 .IP CURLOPT_WILDCARDMATCH
68 Transfer multiple files according to a file name pattern. See \fICURLOPT_WILDCARDMATCH(3)\fP
69 .SH CALLBACK OPTIONS
70 .IP CURLOPT_WRITEFUNCTION
71 Callback for writing data. See \fICURLOPT_WRITEFUNCTION(3)\fP
72 .IP CURLOPT_WRITEDATA
73 Data pointer to pass to the write callback. See \fICURLOPT_WRITEDATA(3)\fP
74 .IP CURLOPT_READFUNCTION
75 Callback for reading data. See \fICURLOPT_READFUNCTION(3)\fP
76 .IP CURLOPT_READDATA
77 Data pointer to pass to the read callback. See \fICURLOPT_READDATA(3)\fP
78 .IP CURLOPT_IOCTLFUNCTION
79 Callback for I/O operations. See \fICURLOPT_IOCTLFUNCTION(3)\fP
80 .IP CURLOPT_IOCTLDATA
81 Data pointer to pass to the i/o callback. See \fICURLOPT_IOCTLDATA(3)\fP
82 .IP CURLOPT_SEEKFUNCTION
83 Callback for seek operations. See \fICURLOPT_SEEKFUNCTION(3)\fP
84 .IP CURLOPT_SEEKDATA
85 Data pointer to pass to the seek callback. See \fICURLOPT_SEEKDATA(3)\fP
86 .IP CURLOPT_SOCKOPTFUNCTION
87 Callback for sockopt operations. See \fICURLOPT_SOCKOPTFUNCTION(3)\fP
88 .IP CURLOPT_SOCKOPTDATA
89 Data pointer to pass to the sockopt callback. See \fICURLOPT_SOCKOPTDATA(3)\fP
90 .IP CURLOPT_OPENSOCKETFUNCTION
91 Callback for socket creation. See \fICURLOPT_OPENSOCKETFUNCTION(3)\fP
92 .IP CURLOPT_OPENSOCKETDATA
93 Data pointer to pass to the open socket callback. See \fICURLOPT_OPENSOCKETDATA(3)\fP
94 .IP CURLOPT_CLOSESOCKETFUNCTION
95 Callback for closing socket. See \fICURLOPT_CLOSESOCKETFUNCTION(3)\fP
96 .IP CURLOPT_CLOSESOCKETDATA
97 Data pointer to pass to the close socket callback. See \fICURLOPT_CLOSESOCKETDATA(3)\fP
98 .IP CURLOPT_PROGRESSFUNCTION
99 OBSOLETE callback for progress meter. See \fICURLOPT_PROGRESSFUNCTION(3)\fP
100 .IP CURLOPT_PROGRESSDATA
101 Data pointer to pass to the progress meter callback. See \fICURLOPT_PROGRESSDATA(3)\fP
102 .IP CURLOPT_XFERINFOFUNCTION
103 Callback for progress meter. See \fICURLOPT_XFERINFOFUNCTION(3)\fP
104 .IP CURLOPT_XFERINFODATA
105 Data pointer to pass to the progress meter callback. See \fICURLOPT_XFERINFODATA(3)\fP
106 .IP CURLOPT_HEADERFUNCTION
107 Callback for writing received headers. See \fICURLOPT_HEADERFUNCTION(3)\fP
108 .IP CURLOPT_HEADERDATA
109 Data pointer to pass to the header callback. See \fICURLOPT_HEADERDATA(3)\fP
110 .IP CURLOPT_DEBUGFUNCTION
111 Callback for debug information. See \fICURLOPT_DEBUGFUNCTION(3)\fP
112 .IP CURLOPT_DEBUGDATA
113 Data pointer to pass to the debug callback. See \fICURLOPT_DEBUGDATA(3)\fP
114 .IP CURLOPT_SSL_CTX_FUNCTION
115 Callback for SSL CTX logic. See \fICURLOPT_SSL_CTX_FUNCTION(3)\fP
116 .IP CURLOPT_SSL_CTX_DATA
117 Data pointer to pass to the ssl context callback. See \fICURLOPT_SSL_CTX_DATA(3)\fP
118 .IP CURLOPT_CONV_TO_NETWORK_FUNCTION
119 Callback for code base conversion. See \fICURLOPT_CONV_TO_NETWORK_FUNCTION(3)\fP
120 .IP CURLOPT_CONV_FROM_NETWORK_FUNCTION
121 Callback for code base conversion. See \fICURLOPT_CONV_FROM_NETWORK_FUNCTION(3)\fP
122 .IP CURLOPT_CONV_FROM_UTF8_FUNCTION
123 Callback for code base conversion. See \fICURLOPT_CONV_FROM_UTF8_FUNCTION(3)\fP
124 .IP CURLOPT_INTERLEAVEFUNCTION
125 Callback for RTSP interleaved data. See \fICURLOPT_INTERLEAVEFUNCTION(3)\fP
126 .IP CURLOPT_INTERLEAVEDATA
127 Data pointer to pass to the interleave callback. See \fICURLOPT_INTERLEAVEDATA(3)\fP
128 .IP CURLOPT_CHUNK_BGN_FUNCTION
129 Callback for wildcard download start of chunk. See \fICURLOPT_CHUNK_BGN_FUNCTION(3)\fP
130 .IP CURLOPT_CHUNK_END_FUNCTION
131 Callback for wildcard download end of chunk. See \fICURLOPT_CHUNK_END_FUNCTION(3)\fP
132 .IP CURLOPT_CHUNK_DATA
133 Data pointer to pass to the chunk callbacks. See \fICURLOPT_CHUNK_DATA(3)\fP
134 .IP CURLOPT_FNMATCH_FUNCTION
135 Callback for wildcard matching. See \fICURLOPT_FNMATCH_FUNCTION(3)\fP
136 .IP CURLOPT_FNMATCH_DATA
137 Data pointer to pass to the fnmatch callback. See \fICURLOPT_FNMATCH_DATA(3)\fP
138 .SH ERROR OPTIONS
139 .IP CURLOPT_ERRORBUFFER
140 Error message buffer. See \fICURLOPT_ERRORBUFFER(3)\fP
141 .IP CURLOPT_STDERR
142 stderr replacement stream. See \fICURLOPT_STDERR(3)\fP
143 .IP CURLOPT_FAILONERROR
144 Fail on HTTP 4xx errors. \fICURLOPT_FAILONERROR(3)\fP
145 .SH NETWORK OPTIONS
146 .IP CURLOPT_URL
147 URL to work on. See \fICURLOPT_URL(3)\fP
148 .IP CURLOPT_PROTOCOLS
149 Allowed protocols. See \fICURLOPT_PROTOCOLS(3)\fP
150 .IP CURLOPT_REDIR_PROTOCOLS
151 Protocols to allow redirects to. See \fICURLOPT_REDIR_PROTOCOLS(3)\fP
152 .IP CURLOPT_PROXY
153 Proxy to use. See \fICURLOPT_PROXY(3)\fP
154 .IP CURLOPT_PROXYPORT
155 Proxy port to use. See \fICURLOPT_PROXYPORT(3)\fP
156 .IP CURLOPT_PROXYTYPE
157 Proxy type. See \fICURLOPT_PROXYTYPE(3)\fP
158 .IP CURLOPT_NOPROXY
159 Filter out hosts from proxy use. \fICURLOPT_NOPROXY(3)\fP
160 .IP CURLOPT_HTTPPROXYTUNNEL
161 Tunnel through the HTTP proxy. \fICURLOPT_HTTPPROXYTUNNEL(3)\fP
162 .IP CURLOPT_SOCKS5_GSSAPI_SERVICE
163 Socks5 gassapi service name. \fICURLOPT_SOCKS5_GSSAPI_SERVICE(3)\fP
164 .IP CURLOPT_SOCKS5_GSSAPI_NEC
165 Socks5 gssapi NEC mode. See \fICURLOPT_SOCKS5_GSSAPI_NEC(3)\fP
166 .IP CURLOPT_INTERFACE
167 Bind connection locally to this. See \fICURLOPT_INTERFACE(3)\fP
168 .IP CURLOPT_LOCALPORT
169 Bind connection locally to this port. See \fICURLOPT_LOCALPORT(3)\fP
170 .IP CURLOPT_LOCALPORTRANGE
171 Bind connection locally to port range. See \fICURLOPT_LOCALPORTRANGE(3)\fP
172 .IP CURLOPT_DNS_CACHE_TIMEOUT
173 Timeout for DNS cache. See \fICURLOPT_DNS_CACHE_TIMEOUT(3)\fP
174 .IP CURLOPT_DNS_USE_GLOBAL_CACHE
175 OBSOLETE Enable global DNS cache. See \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP
176 .IP CURLOPT_BUFFERSIZE
177 Ask for smaller buffer size. See \fICURLOPT_BUFFERSIZE(3)\fP
178 .IP CURLOPT_PORT
179 Port number to connect to. See \fICURLOPT_PORT(3)\fP
180 .IP CURLOPT_TCP_NODELAY
181 Disable the Nagle algorithm. See \fICURLOPT_TCP_NODELAY(3)\fP
182 .IP CURLOPT_ADDRESS_SCOPE
183 IPv6 scope for local addresses. See \fICURLOPT_ADDRESS_SCOPE(3)\fP
184 .IP CURLOPT_TCP_KEEPALIVE
185 Enable TCP keep-alive. See \fICURLOPT_TCP_KEEPALIVE(3)\fP
186 .IP CURLOPT_TCP_KEEPIDLE
187 Idle time before sending keep-alive. See \fICURLOPT_TCP_KEEPIDLE(3)\fP
188 .IP CURLOPT_TCP_KEEPINTVL
189 Interval between keep-alive probes. See \fICURLOPT_TCP_KEEPINTVL(3)\fP
190 .SH NAMES and PASSWORDS OPTIONS (Authentication)
191 .IP CURLOPT_NETRC
192 Enable .netrc parsing. See \fICURLOPT_NETRC(3)\fP
193 .IP CURLOPT_NETRC_FILE
194 \&.netrc file name. See \fICURLOPT_NETRC_FILE(3)\fP
195 .IP CURLOPT_USERPWD
196 User and password. See \fICURLOPT_USERPWD(3)\fP
197 .IP CURLOPT_PROXYUSERPWD
198 Proxy user and password. See \fICURLOPT_PROXYUSERPWD(3)\fP
199 .IP CURLOPT_USERNAME
200 Username. See \fICURLOPT_USERNAME(3)\fP
201 .IP CURLOPT_PASSWORD
202 Password. See \fICURLOPT_PASSWORD(3)\fP
203 .IP CURLOPT_LOGIN_OPTIONS
204 Login options. See \fICURLOPT_LOGIN_OPTIONS(3)\fP
205 .IP CURLOPT_PROXYUSERNAME
206 Proxy user name. See \fICURLOPT_PROXYUSERNAME(3)\fP
207 .IP CURLOPT_PROXYPASSWORD
208 Proxy password. See \fICURLOPT_PROXYPASSWORD(3)\fP
209 .IP CURLOPT_HTTPAUTH
210 HTTP server authentication methods. See \fICURLOPT_HTTPAUTH(3)\fP
211 .IP CURLOPT_TLSAUTH_USERNAME
212 TLS authentication user name. See \fICURLOPT_TLSAUTH_USERNAME(3)\fP
213 .IP CURLOPT_TLSAUTH_PASSWORD
214 TLS authentication password. See \fICURLOPT_TLSAUTH_PASSWORD(3)\fP
215 .IP CURLOPT_PROXYAUTH
216 HTTP proxy authentication methods. See \fICURLOPT_PROXYAUTH(3)\fP
217 .IP CURLOPT_SASL_IR
218 Enable SASL initial response. See \fICURLOPT_SASL_IR(3)\fP
219 .IP CURLOPT_XOAUTH2_BEARER
220 XOAuth2 bearer token. See \fICURLOPT_XOAUTH2_BEARER(3)\fP
221 .SH HTTP OPTIONS
222 .IP CURLOPT_AUTOREFERER
223 Automatically set Referer: header. See \fICURLOPT_AUTOREFERER(3)\fP
224 .IP CURLOPT_ACCEPT_ENCODING
225 Accept-Encoding and automatic decompressing data. See \fICURLOPT_ACCEPT_ENCODING(3)\fP
226 .IP CURLOPT_TRANSFER_ENCODING
227 Request Transfer-Encoding. See \fICURLOPT_TRANSFER_ENCODING(3)\fP
228 .IP CURLOPT_FOLLOWLOCATION
229 Follow HTTP redirects. See \fICURLOPT_FOLLOWLOCATION(3)\fP
230 .IP CURLOPT_UNRESTRICTED_AUTH
231 Do not restrict auth to original host. \fICURLOPT_UNRESTRICTED_AUTH(3)\fP
232 .IP CURLOPT_MAXREDIRS
233 Maximum number of redirects to follow. See \fICURLOPT_MAXREDIRS(3)\fP
234 .IP CURLOPT_POSTREDIR
235 How to act on redirects after POST. See \fICURLOPT_POSTREDIR(3)\fP
236 .IP CURLOPT_PUT
237 Issue a HTTP PUT request. See \fICURLOPT_PUT(3)\fP
238 .IP CURLOPT_POST
239 Issue a HTTP POST request. See \fICURLOPT_POST(3)\fP
240 .IP CURLOPT_POSTFIELDS
241 Send a POST with this data. See \fICURLOPT_POSTFIELDS(3)\fP
242 .IP CURLOPT_POSTFIELDSIZE
243 The POST data is this big. See \fICURLOPT_POSTFIELDSIZE(3)\fP
244 .IP CURLOPT_POSTFIELDSIZE_LARGE
245 The POST data is this big. See \fICURLOPT_POSTFIELDSIZE_LARGE(3)\fP
246 .IP CURLOPT_COPYPOSTFIELDS
247 Send a POST with this data - and copy it. See \fICURLOPT_COPYPOSTFIELDS(3)\fP
248 .IP CURLOPT_HTTPPOST
249 Multipart formpost HTTP POST. See \fICURLOPT_HTTPPOST(3)\fP
250 .IP CURLOPT_REFERER
251 Referer: header. See \fICURLOPT_REFERER(3)\fP
252 .IP CURLOPT_USERAGENT
253 User-Agent: header. See \fICURLOPT_USERAGENT(3)\fP
254 .IP CURLOPT_HTTPHEADER
255 Custom HTTP headers. See \fICURLOPT_HTTPHEADER(3)\fP
256 .IP CURLOPT_HEADEROPT
257 Control custom headers. See \fICURLOPT_HEADEROPT(3)\fP
258 .IP CURLOPT_PROXYHEADER
259 Custom HTTP headers sent to proxy. See \fICURLOPT_PROXYHEADER(3)\fP
260 .IP CURLOPT_HTTP200ALIASES
261 Alternative versions of 200 OK. See \fICURLOPT_HTTP200ALIASES(3)\fP
262 .IP CURLOPT_COOKIE
263 Cookie(s) to send. See \fICURLOPT_COOKIE(3)\fP
264 .IP CURLOPT_COOKIEFILE
265 File to read cookies from. See \fICURLOPT_COOKIEFILE(3)\fP
266 .IP CURLOPT_COOKIEJAR
267 File to write cookies to. See \fICURLOPT_COOKIEJAR(3)\fP
268 .IP CURLOPT_COOKIESESSION
269 Start a new cookie session. See \fICURLOPT_COOKIESESSION(3)\fP
270 .IP CURLOPT_COOKIELIST
271 Add or control cookies. See \fICURLOPT_COOKIELIST(3)\fP
272 .IP CURLOPT_HTTPGET
273 Do a HTTP GET request. See \fICURLOPT_HTTPGET(3)\fP
274 .IP CURLOPT_HTTP_VERSION
275 HTTP version to use. \fICURLOPT_HTTP_VERSION(3)\fP
276 .IP CURLOPT_IGNORE_CONTENT_LENGTH
277 Ignore Content-Length. See \fICURLOPT_IGNORE_CONTENT_LENGTH(3)\fP
278 .IP CURLOPT_HTTP_CONTENT_DECODING
279 Disable Content decoding. See \fICURLOPT_HTTP_CONTENT_DECODING(3)\fP
280 .IP CURLOPT_HTTP_TRANSFER_DECODING
281 Disable Transfer decoding. See \fICURLOPT_HTTP_TRANSFER_DECODING(3)\fP
282 .IP CURLOPT_EXPECT_100_TIMEOUT_MS
283 100-continue timeout. See \fICURLOPT_EXPECT_100_TIMEOUT_MS(3)\fP
284 .SH SMTP OPTIONS
285 .IP CURLOPT_MAIL_FROM
286 Address of the sender. See \fICURLOPT_MAIL_FROM(3)\fP
287 .IP CURLOPT_MAIL_RCPT
288 Address of the recipients. See \fICURLOPT_MAIL_RCPT(3)\fP
289 .IP CURLOPT_MAIL_AUTH
290 Authentication address. See \fICURLOPT_MAIL_AUTH(3)\fP
291 .SH TFTP OPTIONS
292 .IP CURLOPT_TFTP_BLKSIZE
293 TFTP block size. See \fICURLOPT_TFTP_BLKSIZE(3)\fP
294 .SH FTP OPTIONS
295 .IP CURLOPT_FTPPORT
296 Use active FTP. See \fICURLOPT_FTPPORT(3)\fP
297 .IP CURLOPT_QUOTE
298 Commands to run before transfer. See \fICURLOPT_QUOTE(3)\fP
299 .IP CURLOPT_POSTQUOTE
300 Commands to run after transfer. See \fICURLOPT_POSTQUOTE(3)\fP
301 .IP CURLOPT_PREQUOTE
302 Commands to run just before transfer. See \fICURLOPT_PREQUOTE(3)\fP
303 .IP CURLOPT_DIRLISTONLY
304 List only. See \fICURLOPT_DIRLISTONLY(3)\fP
305 .IP CURLOPT_APPEND
306 Append to remote file. See \fICURLOPT_APPEND(3)\fP
307 .IP CURLOPT_FTP_USE_EPRT
308 Use EPTR. See \fICURLOPT_FTP_USE_EPRT(3)\fP
309 .IP CURLOPT_FTP_USE_EPSV
310 Use EPSV. See \fICURLOPT_FTP_USE_EPSV(3)\fP
311 .IP CURLOPT_FTP_USE_PRET
312 Use PRET. See \fICURLOPT_FTP_USE_PRET(3)\fP
313 .IP CURLOPT_FTP_CREATE_MISSING_DIRS
314 Create missing dirs on the remote server. See \fICURLOPT_FTP_CREATE_MISSING_DIRS(3)\fP
315 .IP CURLOPT_FTP_RESPONSE_TIMEOUT
316 Timeout for FTP responses. See \fICURLOPT_FTP_RESPONSE_TIMEOUT(3)\fP
317 .IP CURLOPT_FTP_ALTERNATIVE_TO_USER
318 Alternative to USER. See \fICURLOPT_FTP_ALTERNATIVE_TO_USER(3)\fP
319 .IP CURLOPT_FTP_SKIP_PASV_IP
320 Ignore the IP address in the PASV response. See \fICURLOPT_FTP_SKIP_PASV_IP(3)\fP
321 .IP CURLOPT_FTPSSLAUTH
322 Control how to do TLS. See \fICURLOPT_FTPSSLAUTH(3)\fP
323 .IP CURLOPT_FTP_SSL_CCC
324 Back to non-TLS again after authentication. See \fICURLOPT_FTP_SSL_CCC(3)\fP
325 .IP CURLOPT_FTP_ACCOUNT
326 Send ACCT command. See \fICURLOPT_FTP_ACCOUNT(3)\fP
327 .IP CURLOPT_FTP_FILEMETHOD
328 Specify how to reach files. See \fICURLOPT_FTP_FILEMETHOD(3)\fP
329 .SH RTSP OPTIONS
330 .IP CURLOPT_RTSP_REQUEST
331 RTSP request. See \fICURLOPT_RTSP_REQUEST(3)\fP
332 .IP CURLOPT_RTSP_SESSION_ID
333 RTSP session-id. See \fICURLOPT_RTSP_SESSION_ID(3)\fP
334 .IP CURLOPT_RTSP_STREAM_URI
335 RTSP stream URI. See \fICURLOPT_RTSP_STREAM_URI(3)\fP
336 .IP CURLOPT_RTSP_TRANSPORT
337 RTSP Transport: header. See \fICURLOPT_RTSP_TRANSPORT(3)\fP
338 .IP CURLOPT_RTSP_CLIENT_CSEQ
339 Client CSEQ number. See \fICURLOPT_RTSP_CLIENT_CSEQ(3)\fP
340 .IP CURLOPT_RTSP_SERVER_CSEQ
341 CSEQ number for RTSP Server->Client request. See \fICURLOPT_RTSP_SERVER_CSEQ(3)\fP
342 .SH PROTOCOL OPTIONS
343 .IP CURLOPT_TRANSFERTEXT
344 Use text transfer. See \fICURLOPT_TRANSFERTEXT(3)\fP
345 .IP CURLOPT_PROXY_TRANSFER_MODE
346 Add transfer mode to URL over proxy. See \fICURLOPT_PROXY_TRANSFER_MODE(3)\fP
347 .IP CURLOPT_CRLF
348 Convert newlines. See \fICURLOPT_CRLF(3)\fP
349 .IP CURLOPT_RANGE
350 Range requests. See \fICURLOPT_RANGE(3)\fP
351 .IP CURLOPT_RESUME_FROM
352 Resume a transfer. See \fICURLOPT_RESUME_FROM(3)\fP
353 .IP CURLOPT_RESUME_FROM_LARGE
354 Resume a transfer. See \fICURLOPT_RESUME_FROM_LARGE(3)\fP
355 .IP CURLOPT_CUSTOMREQUEST
356 Custom request/method. See \fICURLOPT_CUSTOMREQUEST(3)\fP
357 .IP CURLOPT_FILETIME
358 Request file modification date and time. See \fICURLOPT_FILETIME(3)\fP
359 .IP CURLOPT_NOBODY
360 Do not get the body contents. See \fICURLOPT_NOBODY(3)\fP
361 .IP CURLOPT_INFILESIZE
362 Size of file to send. \fICURLOPT_INFILESIZE(3)\fP
363 .IP CURLOPT_INFILESIZE_LARGE
364 Size of file to send. \fICURLOPT_INFILESIZE_LARGE(3)\fP
365 .IP CURLOPT_UPLOAD
366 Upload data. See \fICURLOPT_UPLOAD(3)\fP
367 .IP CURLOPT_MAXFILESIZE
368 Maximum file size to get. See \fICURLOPT_MAXFILESIZE(3)\fP
369 .IP CURLOPT_MAXFILESIZE_LARGE
370 Maximum file size to get. See \fICURLOPT_MAXFILESIZE_LARGE(3)\fP
371 .IP CURLOPT_TIMECONDITION
372 Make a time conditional request. See \fICURLOPT_TIMECONDITION(3)\fP
373 .IP CURLOPT_TIMEVALUE
374 Time value for the time conditional request. See \fICURLOPT_TIMEVALUE(3)\fP
375 .SH CONNECTION OPTIONS
376 .IP CURLOPT_TIMEOUT
377 Timeout for the entire request. See \fICURLOPT_TIMEOUT(3)\fP
378 .IP CURLOPT_TIMEOUT_MS
379 Millisecond timeout for the entire request. See \fICURLOPT_TIMEOUT_MS(3)\fP
380 .IP CURLOPT_LOW_SPEED_LIMIT
381 Low speed limit to abort transfer. See \fICURLOPT_LOW_SPEED_LIMIT(3)\fP
382 .IP CURLOPT_LOW_SPEED_TIME
383 Time to be below the speed to trigger low speed abort. See \fICURLOPT_LOW_SPEED_TIME(3)\fP
384 .IP CURLOPT_MAX_SEND_SPEED_LARGE
385 Cap upload speed to this. See \fICURLOPT_MAX_SEND_SPEED_LARGE(3)\fP
386 .IP CURLOPT_MAX_RECV_SPEED_LARGE
387 Cap download speed to this. See \fICURLOPT_MAX_RECV_SPEED_LARGE(3)\fP
388 .IP CURLOPT_MAXCONNECTS
389 Max number of connection is connection pool. See \fICURLOPT_MAXCONNECTS(3)\fP
390 .IP CURLOPT_FRESH_CONNECT
391 Use a new connection. \fICURLOPT_FRESH_CONNECT(3)\fP
392 .IP CURLOPT_FORBID_REUSE
393 Prevent subsequent connections from re-using this. See \fICURLOPT_FORBID_REUSE(3)\fP
394 .IP CURLOPT_CONNECTTIMEOUT
395 Timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT(3)\fP
396 .IP CURLOPT_CONNECTTIMEOUT_MS
397 Millisecond timeout for the connection phase. See \fICURLOPT_CONNECTTIMEOUT_MS(3)\fP
398 .IP CURLOPT_IPRESOLVE
399 IP version to resolve to. See \fICURLOPT_IPRESOLVE(3)\fP
400 .IP CURLOPT_CONNECT_ONLY
401 Only connect, nothing else. See \fICURLOPT_CONNECT_ONLY(3)\fP
402 .IP CURLOPT_USE_SSL
403 Use TLS/SSL. See \fICURLOPT_USE_SSL(3)\fP
404 .IP CURLOPT_RESOLVE
405 Provide fixed/fake name resolves. See \fICURLOPT_RESOLVE(3)\fP
406 .IP CURLOPT_DNS_INTERFACE
407 Bind name resolves to this interface. See \fICURLOPT_DNS_INTERFACE(3)\fP
408 .IP CURLOPT_DNS_LOCAL_IP4
409 Bind name resolves to this IP4 address. See \fICURLOPT_DNS_LOCAL_IP4(3)\fP
410 .IP CURLOPT_DNS_LOCAL_IP6
411 Bind name resolves to this IP6 address. See \fICURLOPT_DNS_LOCAL_IP6(3)\fP
412 .IP CURLOPT_ACCEPTTIMEOUT_MS
413 Timeout for waiting for the server's connect back to be accepted. See \fICURLOPT_ACCEPTTIMEOUT_MS(3)\fP
414 .SH SSL and SECURITY OPTIONS
415 .IP CURLOPT_SSLCERT
416 Client cert. See \fICURLOPT_SSLCERT(3)\fP
417 .IP CURLOPT_SSLCERTTYPE
418 Client cert type.  See \fICURLOPT_SSLCERTTYPE(3)\fP
419 .IP CURLOPT_SSLKEY
420 Client key. See \fICURLOPT_SSLKEY(3)\fP
421 .IP CURLOPT_SSLKEYTYPE
422 Client key type. See \fICURLOPT_SSLKEYTYPE(3)\fP
423 .IP CURLOPT_KEYPASSWD
424 Client key password. See \fICURLOPT_KEYPASSWD(3)\fP
425 .IP CURLOPT_SSL_ENABLE_ALPN
426 Enable use of ALPN. See \fICURLOPT_SSL_ENABLE_ALPN(3)\fP
427 .IP CURLOPT_SSL_ENABLE_NPN
428 )Enable use of NPN. See \fICURLOPT_SSL_ENABLE_NPN(3)\fP
429 .IP CURLOPT_SSLENGINE
430 Use identifier with SSL engine. See \fICURLOPT_SSLENGINE(3)\fP
431 .IP CURLOPT_SSLENGINE_DEFAULT
432 Default SSL engine. See \fICURLOPT_SSLENGINE_DEFAULT(3)\fP
433 .IP CURLOPT_SSLVERSION
434 SSL version to use. See \fICURLOPT_SSLVERSION(3)\fP
435 .IP CURLOPT_SSL_VERIFYPEER
436 Verify the SSL certificate. See \fICURLOPT_SSL_VERIFYPEER(3)\fP
437 .IP CURLOPT_CAINFO
438 CA cert bundle. See \fICURLOPT_CAINFO(3)\fP
439 .IP CURLOPT_ISSUERCERT
440 Issuer certificate. See \fICURLOPT_ISSUERCERT(3)\fP
441 .IP CURLOPT_CAPATH
442 Path to CA cert bundle. See \fICURLOPT_CAPATH(3)\fP
443 .IP CURLOPT_CRLFILE
444 Certificate Revocation List. See \fICURLOPT_CRLFILE(3)\fP
445 .IP CURLOPT_SSL_VERIFYHOST
446 Verify the host name in the SSL certificate. See \fICURLOPT_SSL_VERIFYHOST(3)\fP
447 .IP CURLOPT_CERTINFO
448 Extract certificate info. See \fICURLOPT_CERTINFO(3)\fP
449 .IP CURLOPT_RANDOM_FILE
450 Provide source for entropy random data. See \fICURLOPT_RANDOM_FILE(3)\fP
451 .IP CURLOPT_EGDSOCKET
452 Identify EGD socket for entropy. See \fICURLOPT_EGDSOCKET(3)\fP
453 .IP CURLOPT_SSL_CIPHER_LIST
454 Ciphers to use. See \fICURLOPT_SSL_CIPHER_LIST(3)\fP
455 .IP CURLOPT_SSL_SESSIONID_CACHE
456 Disable SSL session-id cache. See \fICURLOPT_SSL_SESSIONID_CACHE(3)\fP
457 .IP CURLOPT_SSL_OPTIONS
458 Control SSL behavior. See \fICURLOPT_SSL_OPTIONS(3)\fP
459 .IP CURLOPT_KRBLEVEL
460 Kerberos security level. See \fICURLOPT_KRBLEVEL(3)\fP
461 .IP CURLOPT_GSSAPI_DELEGATION
462 Disable GSS-API delegation. See \fICURLOPT_GSSAPI_DELEGATION(3)\fP
463 .SH SSH OPTIONS
464 .IP CURLOPT_SSH_AUTH_TYPES
465 SSH authentication types. See \fICURLOPT_SSH_AUTH_TYPES(3)\fP
466 .IP CURLOPT_SSH_HOST_PUBLIC_KEY_MD5
467 MD5 of host's public key. See \fICURLOPT_SSH_HOST_PUBLIC_KEY_MD5(3)\fP
468 .IP CURLOPT_SSH_PUBLIC_KEYFILE
469 File name of public key. See \fICURLOPT_SSH_PUBLIC_KEYFILE(3)\fP
470 .IP CURLOPT_SSH_PRIVATE_KEYFILE
471 File name of private key. See \fICURLOPT_SSH_PRIVATE_KEYFILE(3)\fP
472 .IP CURLOPT_SSH_KNOWNHOSTS
473 File name with known hosts. See \fICURLOPT_SSH_KNOWNHOSTS(3)\fP
474 .IP CURLOPT_SSH_KEYFUNCTION
475 Callback for known hosts handling. See \fICURLOPT_SSH_KEYFUNCTION(3)\fP
476 .IP CURLOPT_SSH_KEYDATA
477 Custom pointer to pass to ssh key callback. See \fICURLOPT_SSH_KEYDATA(3)\fP
478 .SH OTHER OPTIONS
479 .IP CURLOPT_PRIVATE
480 Private pointer to store. See \fICURLOPT_PRIVATE(3)\fP
481 .IP CURLOPT_SHARE
482 Share object to use. See \fICURLOPT_SHARE(3)\fP
483 .IP CURLOPT_NEW_FILE_PERMS
484 Mode for creating new remote files. See \fICURLOPT_NEW_FILE_PERMS(3)\fP
485 .IP CURLOPT_NEW_DIRECTORY_PERMS
486 Mode for creating new remote dirs. See \fICURLOPT_NEW_DIRECTORY_PERMS(3)\fP
487 .SH TELNET OPTIONS
488 .IP CURLOPT_TELNETOPTIONS
489 TELNET options. See \fICURLOPT_TELNETOPTIONS(3)\fP
490 .SH RETURN VALUE
491 \fICURLE_OK\fP (zero) means that the option was set properly, non-zero means an
492 error occurred as \fI<curl/curl.h>\fP defines. See the \fIlibcurl-errors(3)\fP
493 man page for the full list with descriptions.
494
495 If you try to set an option that libcurl doesn't know about, perhaps because
496 the library is too old to support it or the option was removed in a recent
497 version, this function will return \fICURLE_UNKNOWN_OPTION\fP. If support for
498 the option was disabled at compile-time, it will return
499 \fICURLE_NOT_BUILT_IN\fP.
500 .SH "SEE ALSO"
501 .BR curl_easy_init "(3), " curl_easy_cleanup "(3), " curl_easy_reset "(3)"