1 /***************************************************************************
2  *                                  _   _ ____  _
3  *  Project                     ___| | | |  _ \| |
4  *                             / __| | | | |_) | |
5  *                            | (__| |_| |  _ <| |___
6  *                             \___|\___/|_| \_\_____|
7  *
8  * Copyright (C) 1998 - 2021, Daniel Stenberg, <daniel.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.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 #include "tool_setup.h"
23 #include "tool_help.h"
24 
25 /*
26  * DO NOT edit tool_listhelp.c manually.
27  * This source file is generated with the following command:
28 
29   cd $srcroot/docs/cmdline-opts
30   ./gen.pl listhelp *.d > $srcroot/src/tool_listhelp.c
31  */
32 
33 const struct helptxt helptext[] = {
34   {"    --abstract-unix-socket <path>",
35    "Connect via abstract Unix domain socket",
36    CURLHELP_CONNECTION},
37   {"    --alt-svc <file name>",
38    "Enable alt-svc with this cache file",
39    CURLHELP_HTTP},
40   {"    --anyauth",
41    "Pick any authentication method",
42    CURLHELP_HTTP | CURLHELP_PROXY | CURLHELP_AUTH},
43   {"-a, --append",
44    "Append to target file when uploading",
45    CURLHELP_FTP | CURLHELP_SFTP},
46   {"    --aws-sigv4 <provider1[:provider2[:region[:service]]]>",
47    "Use AWS V4 signature authentication",
48    CURLHELP_AUTH | CURLHELP_HTTP},
49   {"    --basic",
50    "Use HTTP Basic Authentication",
51    CURLHELP_AUTH},
52   {"    --cacert <file>",
53    "CA certificate to verify peer against",
54    CURLHELP_TLS},
55   {"    --capath <dir>",
56    "CA directory to verify peer against",
57    CURLHELP_TLS},
58   {"-E, --cert <certificate[:password]>",
59    "Client certificate file and password",
60    CURLHELP_TLS},
61   {"    --cert-status",
62    "Verify the status of the server cert via OCSP-staple",
63    CURLHELP_TLS},
64   {"    --cert-type <type>",
65    "Certificate type (DER/PEM/ENG)",
66    CURLHELP_TLS},
67   {"    --ciphers <list of ciphers>",
68    "SSL ciphers to use",
69    CURLHELP_TLS},
70   {"    --compressed",
71    "Request compressed response",
72    CURLHELP_HTTP},
73   {"    --compressed-ssh",
74    "Enable SSH compression",
75    CURLHELP_SCP | CURLHELP_SSH},
76   {"-K, --config <file>",
77    "Read config from a file",
78    CURLHELP_CURL},
79   {"    --connect-timeout <fractional seconds>",
80    "Maximum time allowed for connection",
81    CURLHELP_CONNECTION},
82   {"    --connect-to <HOST1:PORT1:HOST2:PORT2>",
83    "Connect to host",
84    CURLHELP_CONNECTION},
85   {"-C, --continue-at <offset>",
86    "Resumed transfer offset",
87    CURLHELP_CONNECTION},
88   {"-b, --cookie <data|filename>",
89    "Send cookies from string/file",
90    CURLHELP_HTTP},
91   {"-c, --cookie-jar <filename>",
92    "Write cookies to <filename> after operation",
93    CURLHELP_HTTP},
94   {"    --create-dirs",
95    "Create necessary local directory hierarchy",
96    CURLHELP_CURL},
97   {"    --create-file-mode <mode>",
98    "File mode for created files",
99    CURLHELP_SFTP | CURLHELP_SCP | CURLHELP_FILE | CURLHELP_UPLOAD},
100   {"    --crlf",
101    "Convert LF to CRLF in upload",
102    CURLHELP_FTP | CURLHELP_SMTP},
103   {"    --crlfile <file>",
104    "Use this CRL list",
105    CURLHELP_TLS},
106   {"    --curves <algorithm list>",
107    "(EC) TLS key exchange algorithm(s) to request",
108    CURLHELP_TLS},
109   {"-d, --data <data>",
110    "HTTP POST data",
111    CURLHELP_IMPORTANT | CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
112   {"    --data-ascii <data>",
113    "HTTP POST ASCII data",
114    CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
115   {"    --data-binary <data>",
116    "HTTP POST binary data",
117    CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
118   {"    --data-raw <data>",
119    "HTTP POST data, '@' allowed",
120    CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
121   {"    --data-urlencode <data>",
122    "HTTP POST data url encoded",
123    CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
124   {"    --delegation <LEVEL>",
125    "GSS-API delegation permission",
126    CURLHELP_AUTH},
127   {"    --digest",
128    "Use HTTP Digest Authentication",
129    CURLHELP_PROXY | CURLHELP_AUTH | CURLHELP_HTTP},
130   {"-q, --disable",
131    "Disable .curlrc",
132    CURLHELP_CURL},
133   {"    --disable-eprt",
134    "Inhibit using EPRT or LPRT",
135    CURLHELP_FTP},
136   {"    --disable-epsv",
137    "Inhibit using EPSV",
138    CURLHELP_FTP},
139   {"    --disallow-username-in-url",
140    "Disallow username in url",
141    CURLHELP_CURL | CURLHELP_HTTP},
142   {"    --dns-interface <interface>",
143    "Interface to use for DNS requests",
144    CURLHELP_DNS},
145   {"    --dns-ipv4-addr <address>",
146    "IPv4 address to use for DNS requests",
147    CURLHELP_DNS},
148   {"    --dns-ipv6-addr <address>",
149    "IPv6 address to use for DNS requests",
150    CURLHELP_DNS},
151   {"    --dns-servers <addresses>",
152    "DNS server addrs to use",
153    CURLHELP_DNS},
154   {"    --doh-cert-status",
155    "Verify the status of the DoH server cert via OCSP-staple",
156    CURLHELP_DNS | CURLHELP_TLS},
157   {"    --doh-insecure",
158    "Allow insecure DoH server connections",
159    CURLHELP_DNS | CURLHELP_TLS},
160   {"    --doh-url <URL>",
161    "Resolve host names over DoH",
162    CURLHELP_DNS},
163   {"-D, --dump-header <filename>",
164    "Write the received headers to <filename>",
165    CURLHELP_HTTP | CURLHELP_FTP},
166   {"    --egd-file <file>",
167    "EGD socket path for random data",
168    CURLHELP_TLS},
169   {"    --engine <name>",
170    "Crypto engine to use",
171    CURLHELP_TLS},
172   {"    --etag-compare <file>",
173    "Pass an ETag from a file as a custom header",
174    CURLHELP_HTTP},
175   {"    --etag-save <file>",
176    "Parse ETag from a request and save it to a file",
177    CURLHELP_HTTP},
178   {"    --expect100-timeout <seconds>",
179    "How long to wait for 100-continue",
180    CURLHELP_HTTP},
181   {"-f, --fail",
182    "Fail silently (no output at all) on HTTP errors",
183    CURLHELP_IMPORTANT | CURLHELP_HTTP},
184   {"    --fail-early",
185    "Fail on first transfer error, do not continue",
186    CURLHELP_CURL},
187   {"    --fail-with-body",
188    "Fail on HTTP errors but save the body",
189    CURLHELP_HTTP | CURLHELP_OUTPUT},
190   {"    --false-start",
191    "Enable TLS False Start",
192    CURLHELP_TLS},
193   {"-F, --form <name=content>",
194    "Specify multipart MIME data",
195    CURLHELP_HTTP | CURLHELP_UPLOAD},
196   {"    --form-string <name=string>",
197    "Specify multipart MIME data",
198    CURLHELP_HTTP | CURLHELP_UPLOAD},
199   {"    --ftp-account <data>",
200    "Account data string",
201    CURLHELP_FTP | CURLHELP_AUTH},
202   {"    --ftp-alternative-to-user <command>",
203    "String to replace USER [name]",
204    CURLHELP_FTP},
205   {"    --ftp-create-dirs",
206    "Create the remote dirs if not present",
207    CURLHELP_FTP | CURLHELP_SFTP | CURLHELP_CURL},
208   {"    --ftp-method <method>",
209    "Control CWD usage",
210    CURLHELP_FTP},
211   {"    --ftp-pasv",
212    "Use PASV/EPSV instead of PORT",
213    CURLHELP_FTP},
214   {"-P, --ftp-port <address>",
215    "Use PORT instead of PASV",
216    CURLHELP_FTP},
217   {"    --ftp-pret",
218    "Send PRET before PASV",
219    CURLHELP_FTP},
220   {"    --ftp-skip-pasv-ip",
221    "Skip the IP address for PASV",
222    CURLHELP_FTP},
223   {"    --ftp-ssl-ccc",
224    "Send CCC after authenticating",
225    CURLHELP_FTP | CURLHELP_TLS},
226   {"    --ftp-ssl-ccc-mode <active/passive>",
227    "Set CCC mode",
228    CURLHELP_FTP | CURLHELP_TLS},
229   {"    --ftp-ssl-control",
230    "Require SSL/TLS for FTP login, clear for transfer",
231    CURLHELP_FTP | CURLHELP_TLS},
232   {"-G, --get",
233    "Put the post data in the URL and use GET",
234    CURLHELP_HTTP | CURLHELP_UPLOAD},
235   {"-g, --globoff",
236    "Disable URL sequences and ranges using {} and []",
237    CURLHELP_CURL},
238   {"    --happy-eyeballs-timeout-ms <milliseconds>",
239    "Time for IPv6 before trying IPv4",
240    CURLHELP_CONNECTION},
241   {"    --haproxy-protocol",
242    "Send HAProxy PROXY protocol v1 header",
243    CURLHELP_HTTP | CURLHELP_PROXY},
244   {"-I, --head",
245    "Show document info only",
246    CURLHELP_HTTP | CURLHELP_FTP | CURLHELP_FILE},
247   {"-H, --header <header/@file>",
248    "Pass custom header(s) to server",
249    CURLHELP_HTTP},
250   {"-h, --help <category>",
251    "Get help for commands",
252    CURLHELP_IMPORTANT | CURLHELP_CURL},
253   {"    --hostpubmd5 <md5>",
254    "Acceptable MD5 hash of the host public key",
255    CURLHELP_SFTP | CURLHELP_SCP},
256   {"    --hostpubsha256 <sha256>",
257    "Acceptable SHA256 hash of the host public key",
258    CURLHELP_SFTP | CURLHELP_SCP},
259   {"    --hsts <file name>",
260    "Enable HSTS with this cache file",
261    CURLHELP_HTTP},
262   {"    --http0.9",
263    "Allow HTTP 0.9 responses",
264    CURLHELP_HTTP},
265   {"-0, --http1.0",
266    "Use HTTP 1.0",
267    CURLHELP_HTTP},
268   {"    --http1.1",
269    "Use HTTP 1.1",
270    CURLHELP_HTTP},
271   {"    --http2",
272    "Use HTTP 2",
273    CURLHELP_HTTP},
274   {"    --http2-prior-knowledge",
275    "Use HTTP 2 without HTTP/1.1 Upgrade",
276    CURLHELP_HTTP},
277   {"    --http3",
278    "Use HTTP v3",
279    CURLHELP_HTTP},
280   {"    --ignore-content-length",
281    "Ignore the size of the remote resource",
282    CURLHELP_HTTP | CURLHELP_FTP},
283   {"-i, --include",
284    "Include protocol response headers in the output",
285    CURLHELP_IMPORTANT | CURLHELP_VERBOSE},
286   {"-k, --insecure",
287    "Allow insecure server connections when using SSL",
288    CURLHELP_TLS},
289   {"    --interface <name>",
290    "Use network INTERFACE (or address)",
291    CURLHELP_CONNECTION},
292   {"-4, --ipv4",
293    "Resolve names to IPv4 addresses",
294    CURLHELP_CONNECTION | CURLHELP_DNS},
295   {"-6, --ipv6",
296    "Resolve names to IPv6 addresses",
297    CURLHELP_CONNECTION | CURLHELP_DNS},
298   {"-j, --junk-session-cookies",
299    "Ignore session cookies read from file",
300    CURLHELP_HTTP},
301   {"    --keepalive-time <seconds>",
302    "Interval time for keepalive probes",
303    CURLHELP_CONNECTION},
304   {"    --key <key>",
305    "Private key file name",
306    CURLHELP_TLS | CURLHELP_SSH},
307   {"    --key-type <type>",
308    "Private key file type (DER/PEM/ENG)",
309    CURLHELP_TLS},
310   {"    --krb <level>",
311    "Enable Kerberos with security <level>",
312    CURLHELP_FTP},
313   {"    --libcurl <file>",
314    "Dump libcurl equivalent code of this command line",
315    CURLHELP_CURL},
316   {"    --limit-rate <speed>",
317    "Limit transfer speed to RATE",
318    CURLHELP_CONNECTION},
319   {"-l, --list-only",
320    "List only mode",
321    CURLHELP_FTP | CURLHELP_POP3},
322   {"    --local-port <num/range>",
323    "Force use of RANGE for local port numbers",
324    CURLHELP_CONNECTION},
325   {"-L, --location",
326    "Follow redirects",
327    CURLHELP_HTTP},
328   {"    --location-trusted",
329    "Like --location, and send auth to other hosts",
330    CURLHELP_HTTP | CURLHELP_AUTH},
331   {"    --login-options <options>",
332    "Server login options",
333    CURLHELP_IMAP | CURLHELP_POP3 | CURLHELP_SMTP | CURLHELP_AUTH},
334   {"    --mail-auth <address>",
335    "Originator address of the original email",
336    CURLHELP_SMTP},
337   {"    --mail-from <address>",
338    "Mail from this address",
339    CURLHELP_SMTP},
340   {"    --mail-rcpt <address>",
341    "Mail to this address",
342    CURLHELP_SMTP},
343   {"    --mail-rcpt-allowfails",
344    "Allow RCPT TO command to fail for some recipients",
345    CURLHELP_SMTP},
346   {"-M, --manual",
347    "Display the full manual",
348    CURLHELP_CURL},
349   {"    --max-filesize <bytes>",
350    "Maximum file size to download",
351    CURLHELP_CONNECTION},
352   {"    --max-redirs <num>",
353    "Maximum number of redirects allowed",
354    CURLHELP_HTTP},
355   {"-m, --max-time <fractional seconds>",
356    "Maximum time allowed for transfer",
357    CURLHELP_CONNECTION},
358   {"    --metalink",
359    "Process given URLs as metalink XML file",
360    CURLHELP_MISC},
361   {"    --negotiate",
362    "Use HTTP Negotiate (SPNEGO) authentication",
363    CURLHELP_AUTH | CURLHELP_HTTP},
364   {"-n, --netrc",
365    "Must read .netrc for user name and password",
366    CURLHELP_CURL},
367   {"    --netrc-file <filename>",
368    "Specify FILE for netrc",
369    CURLHELP_CURL},
370   {"    --netrc-optional",
371    "Use either .netrc or URL",
372    CURLHELP_CURL},
373   {"-:, --next",
374    "Make next URL use its separate set of options",
375    CURLHELP_CURL},
376   {"    --no-alpn",
377    "Disable the ALPN TLS extension",
378    CURLHELP_TLS | CURLHELP_HTTP},
379   {"-N, --no-buffer",
380    "Disable buffering of the output stream",
381    CURLHELP_CURL},
382   {"    --no-keepalive",
383    "Disable TCP keepalive on the connection",
384    CURLHELP_CONNECTION},
385   {"    --no-npn",
386    "Disable the NPN TLS extension",
387    CURLHELP_TLS | CURLHELP_HTTP},
388   {"    --no-progress-meter",
389    "Do not show the progress meter",
390    CURLHELP_VERBOSE},
391   {"    --no-sessionid",
392    "Disable SSL session-ID reusing",
393    CURLHELP_TLS},
394   {"    --noproxy <no-proxy-list>",
395    "List of hosts which do not use proxy",
396    CURLHELP_PROXY},
397   {"    --ntlm",
398    "Use HTTP NTLM authentication",
399    CURLHELP_AUTH | CURLHELP_HTTP},
400   {"    --ntlm-wb",
401    "Use HTTP NTLM authentication with winbind",
402    CURLHELP_AUTH | CURLHELP_HTTP},
403   {"    --oauth2-bearer <token>",
404    "OAuth 2 Bearer Token",
405    CURLHELP_AUTH},
406   {"-o, --output <file>",
407    "Write to file instead of stdout",
408    CURLHELP_IMPORTANT | CURLHELP_CURL},
409   {"    --output-dir <dir>",
410    "Directory to save files in",
411    CURLHELP_CURL},
412   {"-Z, --parallel",
413    "Perform transfers in parallel",
414    CURLHELP_CONNECTION | CURLHELP_CURL},
415   {"    --parallel-immediate",
416    "Do not wait for multiplexing (with --parallel)",
417    CURLHELP_CONNECTION | CURLHELP_CURL},
418   {"    --parallel-max <num>",
419    "Maximum concurrency for parallel transfers",
420    CURLHELP_CONNECTION | CURLHELP_CURL},
421   {"    --pass <phrase>",
422    "Pass phrase for the private key",
423    CURLHELP_SSH | CURLHELP_TLS | CURLHELP_AUTH},
424   {"    --path-as-is",
425    "Do not squash .. sequences in URL path",
426    CURLHELP_CURL},
427   {"    --pinnedpubkey <hashes>",
428    "FILE/HASHES Public key to verify peer against",
429    CURLHELP_TLS},
430   {"    --post301",
431    "Do not switch to GET after following a 301",
432    CURLHELP_HTTP | CURLHELP_POST},
433   {"    --post302",
434    "Do not switch to GET after following a 302",
435    CURLHELP_HTTP | CURLHELP_POST},
436   {"    --post303",
437    "Do not switch to GET after following a 303",
438    CURLHELP_HTTP | CURLHELP_POST},
439   {"    --preproxy [protocol://]host[:port]",
440    "Use this proxy first",
441    CURLHELP_PROXY},
442   {"-#, --progress-bar",
443    "Display transfer progress as a bar",
444    CURLHELP_VERBOSE},
445   {"    --proto <protocols>",
446    "Enable/disable PROTOCOLS",
447    CURLHELP_CONNECTION | CURLHELP_CURL},
448   {"    --proto-default <protocol>",
449    "Use PROTOCOL for any URL missing a scheme",
450    CURLHELP_CONNECTION | CURLHELP_CURL},
451   {"    --proto-redir <protocols>",
452    "Enable/disable PROTOCOLS on redirect",
453    CURLHELP_CONNECTION | CURLHELP_CURL},
454   {"-x, --proxy [protocol://]host[:port]",
455    "Use this proxy",
456    CURLHELP_PROXY},
457   {"    --proxy-anyauth",
458    "Pick any proxy authentication method",
459    CURLHELP_PROXY | CURLHELP_AUTH},
460   {"    --proxy-basic",
461    "Use Basic authentication on the proxy",
462    CURLHELP_PROXY | CURLHELP_AUTH},
463   {"    --proxy-cacert <file>",
464    "CA certificate to verify peer against for proxy",
465    CURLHELP_PROXY | CURLHELP_TLS},
466   {"    --proxy-capath <dir>",
467    "CA directory to verify peer against for proxy",
468    CURLHELP_PROXY | CURLHELP_TLS},
469   {"    --proxy-cert <cert[:passwd]>",
470    "Set client certificate for proxy",
471    CURLHELP_PROXY | CURLHELP_TLS},
472   {"    --proxy-cert-type <type>",
473    "Client certificate type for HTTPS proxy",
474    CURLHELP_PROXY | CURLHELP_TLS},
475   {"    --proxy-ciphers <list>",
476    "SSL ciphers to use for proxy",
477    CURLHELP_PROXY | CURLHELP_TLS},
478   {"    --proxy-crlfile <file>",
479    "Set a CRL list for proxy",
480    CURLHELP_PROXY | CURLHELP_TLS},
481   {"    --proxy-digest",
482    "Use Digest authentication on the proxy",
483    CURLHELP_PROXY | CURLHELP_TLS},
484   {"    --proxy-header <header/@file>",
485    "Pass custom header(s) to proxy",
486    CURLHELP_PROXY},
487   {"    --proxy-insecure",
488    "Do HTTPS proxy connections without verifying the proxy",
489    CURLHELP_PROXY | CURLHELP_TLS},
490   {"    --proxy-key <key>",
491    "Private key for HTTPS proxy",
492    CURLHELP_PROXY | CURLHELP_TLS},
493   {"    --proxy-key-type <type>",
494    "Private key file type for proxy",
495    CURLHELP_PROXY | CURLHELP_TLS},
496   {"    --proxy-negotiate",
497    "Use HTTP Negotiate (SPNEGO) authentication on the proxy",
498    CURLHELP_PROXY | CURLHELP_AUTH},
499   {"    --proxy-ntlm",
500    "Use NTLM authentication on the proxy",
501    CURLHELP_PROXY | CURLHELP_AUTH},
502   {"    --proxy-pass <phrase>",
503    "Pass phrase for the private key for HTTPS proxy",
504    CURLHELP_PROXY | CURLHELP_TLS | CURLHELP_AUTH},
505   {"    --proxy-pinnedpubkey <hashes>",
506    "FILE/HASHES public key to verify proxy with",
507    CURLHELP_PROXY | CURLHELP_TLS},
508   {"    --proxy-service-name <name>",
509    "SPNEGO proxy service name",
510    CURLHELP_PROXY | CURLHELP_TLS},
511   {"    --proxy-ssl-allow-beast",
512    "Allow security flaw for interop for HTTPS proxy",
513    CURLHELP_PROXY | CURLHELP_TLS},
514   {"    --proxy-ssl-auto-client-cert",
515    "Use auto client certificate for proxy (Schannel)",
516    CURLHELP_PROXY | CURLHELP_TLS},
517   {"    --proxy-tls13-ciphers <ciphersuite list>",
518    "TLS 1.3 proxy cipher suites",
519    CURLHELP_PROXY | CURLHELP_TLS},
520   {"    --proxy-tlsauthtype <type>",
521    "TLS authentication type for HTTPS proxy",
522    CURLHELP_PROXY | CURLHELP_TLS | CURLHELP_AUTH},
523   {"    --proxy-tlspassword <string>",
524    "TLS password for HTTPS proxy",
525    CURLHELP_PROXY | CURLHELP_TLS | CURLHELP_AUTH},
526   {"    --proxy-tlsuser <name>",
527    "TLS username for HTTPS proxy",
528    CURLHELP_PROXY | CURLHELP_TLS | CURLHELP_AUTH},
529   {"    --proxy-tlsv1",
530    "Use TLSv1 for HTTPS proxy",
531    CURLHELP_PROXY | CURLHELP_TLS | CURLHELP_AUTH},
532   {"-U, --proxy-user <user:password>",
533    "Proxy user and password",
534    CURLHELP_PROXY | CURLHELP_AUTH},
535   {"    --proxy1.0 <host[:port]>",
536    "Use HTTP/1.0 proxy on given port",
537    CURLHELP_PROXY},
538   {"-p, --proxytunnel",
539    "Operate through an HTTP proxy tunnel (using CONNECT)",
540    CURLHELP_PROXY},
541   {"    --pubkey <key>",
542    "SSH Public key file name",
543    CURLHELP_SFTP | CURLHELP_SCP | CURLHELP_AUTH},
544   {"-Q, --quote <command>",
545    "Send command(s) to server before transfer",
546    CURLHELP_FTP | CURLHELP_SFTP},
547   {"    --random-file <file>",
548    "File for reading random data from",
549    CURLHELP_MISC},
550   {"-r, --range <range>",
551    "Retrieve only the bytes within RANGE",
552    CURLHELP_HTTP | CURLHELP_FTP | CURLHELP_SFTP | CURLHELP_FILE},
553   {"    --raw",
554    "Do HTTP \"raw\"; no transfer decoding",
555    CURLHELP_HTTP},
556   {"-e, --referer <URL>",
557    "Referrer URL",
558    CURLHELP_HTTP},
559   {"-J, --remote-header-name",
560    "Use the header-provided filename",
561    CURLHELP_OUTPUT},
562   {"-O, --remote-name",
563    "Write output to a file named as the remote file",
564    CURLHELP_IMPORTANT | CURLHELP_OUTPUT},
565   {"    --remote-name-all",
566    "Use the remote file name for all URLs",
567    CURLHELP_OUTPUT},
568   {"-R, --remote-time",
569    "Set the remote file's time on the local output",
570    CURLHELP_OUTPUT},
571   {"-X, --request <command>",
572    "Specify request command to use",
573    CURLHELP_CONNECTION},
574   {"    --request-target <path>",
575    "Specify the target for this request",
576    CURLHELP_HTTP},
577   {"    --resolve <[+]host:port:addr[,addr]...>",
578    "Resolve the host+port to this address",
579    CURLHELP_CONNECTION},
580   {"    --retry <num>",
581    "Retry request if transient problems occur",
582    CURLHELP_CURL},
583   {"    --retry-all-errors",
584    "Retry all errors (use with --retry)",
585    CURLHELP_CURL},
586   {"    --retry-connrefused",
587    "Retry on connection refused (use with --retry)",
588    CURLHELP_CURL},
589   {"    --retry-delay <seconds>",
590    "Wait time between retries",
591    CURLHELP_CURL},
592   {"    --retry-max-time <seconds>",
593    "Retry only within this period",
594    CURLHELP_CURL},
595   {"    --sasl-authzid <identity>",
596    "Identity for SASL PLAIN authentication",
597    CURLHELP_AUTH},
598   {"    --sasl-ir",
599    "Enable initial response in SASL authentication",
600    CURLHELP_AUTH},
601   {"    --service-name <name>",
602    "SPNEGO service name",
603    CURLHELP_MISC},
604   {"-S, --show-error",
605    "Show error even when -s is used",
606    CURLHELP_CURL},
607   {"-s, --silent",
608    "Silent mode",
609    CURLHELP_IMPORTANT | CURLHELP_VERBOSE},
610   {"    --socks4 <host[:port]>",
611    "SOCKS4 proxy on given host + port",
612    CURLHELP_PROXY},
613   {"    --socks4a <host[:port]>",
614    "SOCKS4a proxy on given host + port",
615    CURLHELP_PROXY},
616   {"    --socks5 <host[:port]>",
617    "SOCKS5 proxy on given host + port",
618    CURLHELP_PROXY},
619   {"    --socks5-basic",
620    "Enable username/password auth for SOCKS5 proxies",
621    CURLHELP_PROXY | CURLHELP_AUTH},
622   {"    --socks5-gssapi",
623    "Enable GSS-API auth for SOCKS5 proxies",
624    CURLHELP_PROXY | CURLHELP_AUTH},
625   {"    --socks5-gssapi-nec",
626    "Compatibility with NEC SOCKS5 server",
627    CURLHELP_PROXY | CURLHELP_AUTH},
628   {"    --socks5-gssapi-service <name>",
629    "SOCKS5 proxy service name for GSS-API",
630    CURLHELP_PROXY | CURLHELP_AUTH},
631   {"    --socks5-hostname <host[:port]>",
632    "SOCKS5 proxy, pass host name to proxy",
633    CURLHELP_PROXY},
634   {"-Y, --speed-limit <speed>",
635    "Stop transfers slower than this",
636    CURLHELP_CONNECTION},
637   {"-y, --speed-time <seconds>",
638    "Trigger 'speed-limit' abort after this time",
639    CURLHELP_CONNECTION},
640   {"    --ssl",
641    "Try SSL/TLS",
642    CURLHELP_TLS},
643   {"    --ssl-allow-beast",
644    "Allow security flaw to improve interop",
645    CURLHELP_TLS},
646   {"    --ssl-auto-client-cert",
647    "Use auto client certificate (Schannel)",
648    CURLHELP_TLS},
649   {"    --ssl-no-revoke",
650    "Disable cert revocation checks (Schannel)",
651    CURLHELP_TLS},
652   {"    --ssl-reqd",
653    "Require SSL/TLS",
654    CURLHELP_TLS},
655   {"    --ssl-revoke-best-effort",
656    "Ignore missing/offline cert CRL dist points",
657    CURLHELP_TLS},
658   {"-2, --sslv2",
659    "Use SSLv2",
660    CURLHELP_TLS},
661   {"-3, --sslv3",
662    "Use SSLv3",
663    CURLHELP_TLS},
664   {"    --stderr <file>",
665    "Where to redirect stderr",
666    CURLHELP_VERBOSE},
667   {"    --styled-output",
668    "Enable styled output for HTTP headers",
669    CURLHELP_VERBOSE},
670   {"    --suppress-connect-headers",
671    "Suppress proxy CONNECT response headers",
672    CURLHELP_PROXY},
673   {"    --tcp-fastopen",
674    "Use TCP Fast Open",
675    CURLHELP_CONNECTION},
676   {"    --tcp-nodelay",
677    "Use the TCP_NODELAY option",
678    CURLHELP_CONNECTION},
679   {"-t, --telnet-option <opt=val>",
680    "Set telnet option",
681    CURLHELP_TELNET},
682   {"    --tftp-blksize <value>",
683    "Set TFTP BLKSIZE option",
684    CURLHELP_TFTP},
685   {"    --tftp-no-options",
686    "Do not send any TFTP options",
687    CURLHELP_TFTP},
688   {"-z, --time-cond <time>",
689    "Transfer based on a time condition",
690    CURLHELP_HTTP | CURLHELP_FTP},
691   {"    --tls-max <VERSION>",
692    "Set maximum allowed TLS version",
693    CURLHELP_TLS},
694   {"    --tls13-ciphers <ciphersuite list>",
695    "TLS 1.3 cipher suites to use",
696    CURLHELP_TLS},
697   {"    --tlsauthtype <type>",
698    "TLS authentication type",
699    CURLHELP_TLS | CURLHELP_AUTH},
700   {"    --tlspassword <string>",
701    "TLS password",
702    CURLHELP_TLS | CURLHELP_AUTH},
703   {"    --tlsuser <name>",
704    "TLS user name",
705    CURLHELP_TLS | CURLHELP_AUTH},
706   {"-1, --tlsv1",
707    "Use TLSv1.0 or greater",
708    CURLHELP_TLS},
709   {"    --tlsv1.0",
710    "Use TLSv1.0 or greater",
711    CURLHELP_TLS},
712   {"    --tlsv1.1",
713    "Use TLSv1.1 or greater",
714    CURLHELP_TLS},
715   {"    --tlsv1.2",
716    "Use TLSv1.2 or greater",
717    CURLHELP_TLS},
718   {"    --tlsv1.3",
719    "Use TLSv1.3 or greater",
720    CURLHELP_TLS},
721   {"    --tr-encoding",
722    "Request compressed transfer encoding",
723    CURLHELP_HTTP},
724   {"    --trace <file>",
725    "Write a debug trace to FILE",
726    CURLHELP_VERBOSE},
727   {"    --trace-ascii <file>",
728    "Like --trace, but without hex output",
729    CURLHELP_VERBOSE},
730   {"    --trace-time",
731    "Add time stamps to trace/verbose output",
732    CURLHELP_VERBOSE},
733   {"    --unix-socket <path>",
734    "Connect through this Unix domain socket",
735    CURLHELP_CONNECTION},
736   {"-T, --upload-file <file>",
737    "Transfer local FILE to destination",
738    CURLHELP_IMPORTANT | CURLHELP_UPLOAD},
739   {"    --url <url>",
740    "URL to work with",
741    CURLHELP_CURL},
742   {"-B, --use-ascii",
743    "Use ASCII/text transfer",
744    CURLHELP_MISC},
745   {"-u, --user <user:password>",
746    "Server user and password",
747    CURLHELP_IMPORTANT | CURLHELP_AUTH},
748   {"-A, --user-agent <name>",
749    "Send User-Agent <name> to server",
750    CURLHELP_IMPORTANT | CURLHELP_HTTP},
751   {"-v, --verbose",
752    "Make the operation more talkative",
753    CURLHELP_IMPORTANT | CURLHELP_VERBOSE},
754   {"-V, --version",
755    "Show version number and quit",
756    CURLHELP_IMPORTANT | CURLHELP_CURL},
757   {"-w, --write-out <format>",
758    "Use output FORMAT after completion",
759    CURLHELP_VERBOSE},
760   {"    --xattr",
761    "Store metadata in extended file attributes",
762    CURLHELP_MISC},
763   { NULL, NULL, CURLHELP_HIDDEN }
764 };
765