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