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