$(GEN)(rm -f $(ASCIIPAGE) && @PERL@ $(MANAGEN) -d $(srcdir) -I $(INCDIR) ascii $(DPAGES) > asciipage.tmp.$$$$ && mv asciipage.tmp.$$$$ $(ASCIIPAGE))
listhelp:
- $(MANAGEN) listhelp $(DPAGES) > $(top_builddir)/src/tool_listhelp.c
+ $(MANAGEN) -d $(srcdir) listhelp $(DPAGES) > $(top_builddir)/src/tool_listhelp.c
listcats:
@$(MANAGEN) listcats $(DPAGES)
Long: connect-timeout
Arg: <seconds>
Help: Maximum time allowed to connect
-Category: connection
+Category: connection timeout
Added: 7.7
Multi: single
See-also:
SPDX-License-Identifier: curl
Long: connect-to
Arg: <HOST1:PORT1:HOST2:PORT2>
-Help: Connect to host
+Help: Connect to host2 instead of host1
Added: 7.49.0
-Category: connection
+Category: connection dns
Multi: append
See-also:
- resolve
SPDX-License-Identifier: curl
Long: create-dirs
Help: Create necessary local directory hierarchy
-Category: curl output
+Category: output
Added: 7.10.3
Multi: boolean
See-also:
Arg: <config>
Help: Configure ECH
Added: 8.8.0
-Category: tls ECH
+Category: tls
Protocols: HTTPS
Multi: single
See-also:
Arg: <file>
Help: EGD socket path for random data
Protocols: TLS
-Category: tls
+Category: deprecated
Added: 7.7
Multi: single
See-also:
Help: How long to wait for 100-continue
Protocols: HTTP
Added: 7.47.0
-Category: http
+Category: http timeout
Multi: single
See-also:
- connect-timeout
Long: fail-early
Help: Fail on first transfer error
Added: 7.52.0
-Category: curl
+Category: curl global
Multi: boolean
Scope: global
See-also:
SPDX-License-Identifier: curl
Long: form-escape
Help: Escape form fields using backslash
-Protocols: HTTP
+Protocols: HTTP imap smtp
Added: 7.81.0
-Category: http upload
+Category: http upload post
Multi: single
See-also:
- form
Help: Specify multipart MIME data
Protocols: HTTP SMTP IMAP
Arg: <name=string>
-Category: http upload
+Category: http upload post smtp imap
Added: 7.13.2
Multi: append
See-also:
Help: Specify multipart MIME data
Protocols: HTTP SMTP IMAP
Mutexed: data head upload-file
-Category: http upload
+Category: http upload post imap smtp
Added: 5.0
Multi: append
See-also:
Long: ftp-create-dirs
Protocols: FTP SFTP
Help: Create the remote dirs if not present
-Category: ftp sftp curl
+Category: ftp sftp
Added: 7.10.7
Multi: boolean
See-also:
Short: G
Help: Put the post data in the URL and use GET
Protocols: HTTP
-Category: http upload
+Category: http
Added: 7.8.1
Multi: boolean
See-also:
Arg: <ms>
Help: Time for IPv6 before IPv4
Added: 7.59.0
-Category: connection
+Category: connection timeout
Multi: single
See-also:
- max-time
Help: Gateway for IPFS
Protocols: IPFS
Added: 8.4.0
-Category: ipfs
+Category: curl
Multi: single
See-also:
- help
Arg: <seconds>
Help: Interval time for keepalive probes
Added: 7.18.0
-Category: connection
+Category: connection timeout
Multi: single
See-also:
- no-keepalive
Arg: <file>
Help: Generate libcurl code for this command line
Added: 7.16.1
-Category: curl
+Category: curl global
Multi: single
Scope: global
See-also:
Protocols: IMAP LDAP POP3 SMTP
Help: Server login options
Added: 7.34.0
-Category: imap pop3 smtp auth
+Category: imap pop3 smtp auth ldap
Multi: single
See-also:
- user
Short: m
Arg: <seconds>
Help: Maximum time allowed for transfer
-Category: connection
+Category: connection timeout
Added: 4.0
Multi: single
See-also:
Long: metalink
Help: Process given URLs as metalink XML file
Added: 7.27.0
-Category: misc
+Category: deprecated
Multi: single
See-also:
- parallel
Arg: <filename>
Added: 7.21.5
Mutexed: netrc
-Category: curl
+Category: auth
Multi: single
See-also:
- netrc
Long: netrc-optional
Help: Use either .netrc or URL
Mutexed: netrc
-Category: curl
+Category: auth
Added: 7.9.8
Multi: boolean
See-also:
Long: netrc
Short: n
Help: Must read .netrc for username and password
-Category: curl
+Category: auth
Added: 4.6
Mutexed: netrc-file netrc-optional
Multi: boolean
Long: no-buffer
Short: N
Help: Disable buffering of the output stream
-Category: curl
+Category: output
Added: 6.5
Multi: boolean
See-also:
SPDX-License-Identifier: curl
Long: no-clobber
Help: Do not overwrite files that already exist
-Category: curl output
+Category: output
Added: 7.83.0
Multi: boolean
See-also:
Long: ntlm-wb
Help: HTTP NTLM authentication with winbind
Protocols: HTTP
-Category: auth http
+Category: deprecated
Added: 7.22.0
Multi: mutex
See-also:
Help: OAuth 2 Bearer Token
Arg: <token>
Protocols: IMAP LDAP POP3 SMTP HTTP
-Category: auth
+Category: auth imap pop3 smtp ldap
Added: 7.33.0
Multi: single
See-also:
Arg: <dir>
Help: Directory to save files in
Added: 7.73.0
-Category: curl output
+Category: output
Multi: single
See-also:
- remote-name
Arg: <file>
Short: o
Help: Write to file instead of stdout
-Category: important curl output
+Category: important output
Added: 4.0
Multi: per-URL
See-also:
Long: parallel-immediate
Help: Do not wait for multiplexing
Added: 7.68.0
-Category: connection curl
+Category: connection curl global
Multi: boolean
Scope: global
See-also:
Arg: <num>
Help: Maximum concurrency for parallel transfers
Added: 7.66.0
-Category: connection curl
+Category: connection curl global
Multi: single
Scope: global
See-also:
Long: parallel
Help: Perform transfers in parallel
Added: 7.66.0
-Category: connection curl
+Category: connection curl global
Multi: boolean
Scope: global
See-also:
Short: #
Long: progress-bar
Help: Display transfer progress as a bar
-Category: verbose
+Category: verbose global
Added: 5.10
Multi: boolean
Scope: global
Long: random-file
Arg: <file>
Help: File for reading random data from
-Category: misc
+Category: deprecated
Added: 7.7
Multi: single
See-also:
Long: rate
Arg: <max request rate>
Help: Request rate for serial transfers
-Category: connection
+Category: connection global
Added: 7.84.0
Multi: single
Scope: global
SPDX-License-Identifier: curl
Long: remove-on-error
Help: Remove output file on errors
-Category: curl output
+Category: output
Added: 7.83.0
Multi: boolean
See-also:
Short: X
Arg: <method>
Help: Specify request method to use
-Category: connection
+Category: connection pop3 ftp imap smtp
Added: 6.0
Multi: single
See-also:
Arg: <seconds>
Help: Wait time between retries
Added: 7.12.3
-Category: curl
+Category: curl timeout
Multi: single
See-also:
- retry
Arg: <seconds>
Help: Retry only within this period
Added: 7.12.3
-Category: curl
+Category: curl timeout
Multi: single
See-also:
- retry
Help: SPNEGO service name
Arg: <name>
Added: 7.43.0
-Category: misc
+Category: auth
Multi: single
See-also:
- negotiate
Long: show-error
Short: S
Help: Show error even when -s is used
-Category: curl
+Category: curl global
Added: 5.9
Multi: boolean
Scope: global
connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or
HTTPS proxy.
-This option (as well as --socks4) does not work with IPV6, FTPS or LDAP.
+This option does not work with FTPS or LDAP.
Short: y
Arg: <seconds>
Help: Trigger 'speed-limit' abort after this time
-Category: connection
+Category: connection timeout
Added: 4.7
Multi: single
See-also:
Help: Require SSL/TLS
Protocols: FTP IMAP POP3 SMTP LDAP
Added: 7.20.0
-Category: tls
+Category: tls imap pop3 smtp ldap
Multi: boolean
See-also:
- ssl
Help: Try enabling TLS
Protocols: FTP IMAP POP3 SMTP LDAP
Added: 7.20.0
-Category: tls
+Category: tls imap pop3 smtp ldap
Multi: boolean
See-also:
- ssl-reqd
Long: stderr
Arg: <file>
Help: Where to redirect stderr
-Category: verbose
+Category: verbose global
Added: 6.2
Multi: single
Scope: global
Long: styled-output
Help: Enable styled output for HTTP headers
Added: 7.61.0
-Category: verbose
+Category: verbose global
Multi: boolean
Scope: global
See-also:
Arg: <file>
Help: Like --trace, but without hex output
Mutexed: trace verbose
-Category: verbose
+Category: verbose global
Added: 7.9.7
Multi: single
Scope: global
Long: trace-config
Arg: <string>
Help: Details to log in trace/verbose output
-Category: verbose
+Category: verbose global
Added: 8.3.0
Multi: append
Scope: global
Long: trace-ids
Help: Transfer + connection ids in verbose output
Added: 8.2.0
-Category: verbose
+Category: verbose global
Multi: boolean
Scope: global
See-also:
Long: trace-time
Help: Add time stamps to trace/verbose output
Added: 7.14.0
-Category: verbose
+Category: verbose global
Multi: boolean
Scope: global
See-also:
Arg: <file>
Help: Write a debug trace to FILE
Mutexed: verbose trace-ascii
-Category: verbose
+Category: verbose global
Added: 7.9.7
Multi: single
Scope: global
Long: use-ascii
Help: Use ASCII/text transfer
Protocols: FTP LDAP
-Category: misc
+Category: ftp output ldap
Added: 5.0
Multi: boolean
See-also:
Long: verbose
Mutexed: trace trace-ascii
Help: Make the operation more talkative
-Category: important verbose
+Category: important verbose global
Added: 4.0
Multi: boolean
Scope: global
SPDX-License-Identifier: curl
Long: xattr
Help: Store metadata in extended file attributes
-Category: misc
+Category: output
Added: 7.21.3
Multi: boolean
See-also:
my $pre = $manpage ? "\n": "[1]";
if($scope) {
+ if($category !~ /global/) {
+ print STDERR "$f:$line:1:ERROR: global scope option does not have global category\n";
+ return 2;
+ }
if($scope eq "global") {
push @desc, "\n" if(!$manpage);
push @desc, "${pre}This option is global and does not need to be specified for each use of --next.\n";
printdesc($manpage, 0, @d);
}
+
+sub sourcecategories {
+ my ($dir) = @_;
+ my %cats;
+ open(H, "<$dir/../../src/tool_help.h") ||
+ die "can't find the header file";
+ while(<H>) {
+ if(/^\#define CURLHELP_([A-Z0-9]*)/) {
+ $cats{lc($1)}++;
+ }
+ }
+ close(H);
+ return %cats;
+}
+
sub listhelp {
+ my ($dir) = @_;
+ my %cats = sourcecategories($dir);
+
print <<HEAD
/***************************************************************************
* _ _ ____ _
$opt = " --$long";
}
for my $i (0 .. $#categories) {
+ if(!$cats{ $categories[$i] }) {
+ printf STDERR "$f.md:ERROR: Unknown category '%s'\n",
+ $categories[$i];
+ exit 3;
+ }
+
$bitmask .= 'CURLHELP_' . uc $categories[$i];
# If not last element, append |
if($i < $#categories) {
print $line;
}
print <<FOOT
- { NULL, NULL, CURLHELP_HIDDEN }
+ { NULL, NULL, 0 }
};
FOOT
;
push @categories, $key;
}
@categories = sort @categories;
- unshift @categories, 'hidden';
for my $i (0..$#categories) {
- print '#define ' . 'CURLHELP_' . uc($categories[$i]) . ' ' . "1u << " . $i . "u\n";
+ printf("#define CURLHELP_%-10s (%s)\n",
+ uc($categories[$i]), "1u << ${i}u");
}
}
return;
}
elsif($f eq "listhelp") {
- listhelp();
+ listhelp($dir);
return;
}
elsif($f eq "single") {
struct category_descriptors {
const char *opt;
const char *desc;
- curlhelp_t category;
+ unsigned int category;
};
static const struct category_descriptors categories[] = {
- {"auth", "Different types of authentication methods", CURLHELP_AUTH},
- {"connection", "Low level networking operations",
- CURLHELP_CONNECTION},
- {"curl", "The command line tool itself", CURLHELP_CURL},
- {"dns", "General DNS options", CURLHELP_DNS},
- {"file", "FILE protocol options", CURLHELP_FILE},
- {"ftp", "FTP protocol options", CURLHELP_FTP},
- {"http", "HTTP and HTTPS protocol options", CURLHELP_HTTP},
- {"imap", "IMAP protocol options", CURLHELP_IMAP},
/* important is left out because it is the default help page */
- {"misc", "Options that do not fit into any other category", CURLHELP_MISC},
+ {"auth", "Authentication methods", CURLHELP_AUTH},
+ {"connection", "Manage connections", CURLHELP_CONNECTION},
+ {"curl", "The command line tool itself", CURLHELP_CURL},
+ {"deprecated", "Legacy", CURLHELP_DEPRECATED},
+ {"dns", "Names and resolving", CURLHELP_DNS},
+ {"file", "FILE protocol", CURLHELP_FILE},
+ {"ftp", "FTP protocol", CURLHELP_FTP},
+ {"global", "Global options", CURLHELP_GLOBAL},
+ {"http", "HTTP and HTTPS protocol", CURLHELP_HTTP},
+ {"imap", "IMAP protocol", CURLHELP_IMAP},
+ {"ldap", "LDAP protocol", CURLHELP_LDAP},
{"output", "Filesystem output", CURLHELP_OUTPUT},
- {"pop3", "POP3 protocol options", CURLHELP_POP3},
- {"post", "HTTP Post specific options", CURLHELP_POST},
- {"proxy", "All options related to proxies", CURLHELP_PROXY},
- {"scp", "SCP protocol options", CURLHELP_SCP},
- {"sftp", "SFTP protocol options", CURLHELP_SFTP},
- {"smtp", "SMTP protocol options", CURLHELP_SMTP},
- {"ssh", "SSH protocol options", CURLHELP_SSH},
- {"telnet", "TELNET protocol options", CURLHELP_TELNET},
- {"tftp", "TFTP protocol options", CURLHELP_TFTP},
- {"tls", "All TLS/SSL related options", CURLHELP_TLS},
- {"ech", "All Encrypted Client Hello (ECH) options", CURLHELP_ECH},
- {"upload", "All options for uploads",
- CURLHELP_UPLOAD},
- {"verbose", "Options related to any kind of command line output of curl",
- CURLHELP_VERBOSE},
- {NULL, NULL, CURLHELP_HIDDEN}
+ {"pop3", "POP3 protocol", CURLHELP_POP3},
+ {"post", "HTTP POST specific", CURLHELP_POST},
+ {"proxy", "Options for proxies", CURLHELP_PROXY},
+ {"scp", "SCP protocol", CURLHELP_SCP},
+ {"sftp", "SFTP protocol", CURLHELP_SFTP},
+ {"smtp", "SMTP protocol", CURLHELP_SMTP},
+ {"ssh", "SSH protocol", CURLHELP_SSH},
+ {"telnet", "TELNET protocol", CURLHELP_TELNET},
+ {"tftp", "TFTP protocol", CURLHELP_TFTP},
+ {"timeout", "Timeouts and delays", CURLHELP_TIMEOUT},
+ {"tls", "TLS/SSL related", CURLHELP_TLS},
+ {"upload", "Upload, sending data", CURLHELP_UPLOAD},
+ {"verbose", "Tracing, logging etc", CURLHELP_VERBOSE}
};
-static void print_category(curlhelp_t category, unsigned int cols)
+static void print_category(unsigned int category, unsigned int cols)
{
unsigned int i;
size_t longopt = 5;
static int get_category_content(const char *category, unsigned int cols)
{
unsigned int i;
- for(i = 0; categories[i].opt; ++i)
+ for(i = 0; i < sizeof(categories)/sizeof(categories[0]); ++i)
if(curl_strequal(categories[i].opt, category)) {
printf("%s: %s\n", categories[i].opt, categories[i].desc);
print_category(categories[i].category, cols);
static void get_categories(void)
{
unsigned int i;
- for(i = 0; categories[i].opt; ++i)
+ for(i = 0; i < sizeof(categories)/sizeof(categories[0]); ++i)
printf(" %-11s %s\n", categories[i].opt, categories[i].desc);
}
}
/* Lets print everything if "all" was provided */
else if(curl_strequal(category, "all"))
- /* Print everything except hidden */
- print_category(~(CURLHELP_HIDDEN), cols);
+ /* Print everything */
+ print_category(CURLHELP_ALL, cols);
/* Lets handle the string "category" differently to not print an errormsg */
else if(curl_strequal(category, "category"))
get_categories();
/* Otherwise print category and handle the case if the cat was not found */
else if(get_category_content(category, cols)) {
- puts("Invalid category provided, here is a list of all categories:\n");
+ puts("Unknown category provided, here is a list of all categories:\n");
get_categories();
}
free(category);
void tool_list_engines(void);
void tool_version_info(void);
-typedef unsigned int curlhelp_t;
-
struct helptxt {
const char *opt;
const char *desc;
- curlhelp_t categories;
+ unsigned int categories;
};
/*
make -C docs/cmdline-opts listcats
*/
-#define CURLHELP_HIDDEN 1u << 0u
-#define CURLHELP_AUTH 1u << 1u
-#define CURLHELP_CONNECTION 1u << 2u
-#define CURLHELP_CURL 1u << 3u
-#define CURLHELP_DNS 1u << 4u
-#define CURLHELP_FILE 1u << 5u
-#define CURLHELP_FTP 1u << 6u
-#define CURLHELP_HTTP 1u << 7u
-#define CURLHELP_IMAP 1u << 8u
-#define CURLHELP_IMPORTANT 1u << 9u
-#define CURLHELP_IPFS 1u << 10u
-#define CURLHELP_MISC 1u << 11u
-#define CURLHELP_OUTPUT 1u << 12u
-#define CURLHELP_POP3 1u << 13u
-#define CURLHELP_POST 1u << 14u
-#define CURLHELP_PROXY 1u << 15u
-#define CURLHELP_SCP 1u << 16u
-#define CURLHELP_SFTP 1u << 17u
-#define CURLHELP_SMTP 1u << 18u
-#define CURLHELP_SSH 1u << 19u
-#define CURLHELP_TELNET 1u << 20u
-#define CURLHELP_TFTP 1u << 21u
-#define CURLHELP_TLS 1u << 22u
-#define CURLHELP_UPLOAD 1u << 23u
-#define CURLHELP_VERBOSE 1u << 24u
-#define CURLHELP_ECH 1u << 25u
+#define CURLHELP_AUTH (1u << 0u)
+#define CURLHELP_CONNECTION (1u << 1u)
+#define CURLHELP_CURL (1u << 2u)
+#define CURLHELP_DEPRECATED (1u << 3u)
+#define CURLHELP_DNS (1u << 4u)
+#define CURLHELP_FILE (1u << 5u)
+#define CURLHELP_FTP (1u << 6u)
+#define CURLHELP_GLOBAL (1u << 7u)
+#define CURLHELP_HTTP (1u << 8u)
+#define CURLHELP_IMAP (1u << 9u)
+#define CURLHELP_IMPORTANT (1u << 10u)
+#define CURLHELP_LDAP (1u << 11u)
+#define CURLHELP_OUTPUT (1u << 12u)
+#define CURLHELP_POP3 (1u << 13u)
+#define CURLHELP_POST (1u << 14u)
+#define CURLHELP_PROXY (1u << 15u)
+#define CURLHELP_SCP (1u << 16u)
+#define CURLHELP_SFTP (1u << 17u)
+#define CURLHELP_SMTP (1u << 18u)
+#define CURLHELP_SSH (1u << 19u)
+#define CURLHELP_TELNET (1u << 20u)
+#define CURLHELP_TFTP (1u << 21u)
+#define CURLHELP_TIMEOUT (1u << 22u)
+#define CURLHELP_TLS (1u << 23u)
+#define CURLHELP_UPLOAD (1u << 24u)
+#define CURLHELP_VERBOSE (1u << 25u)
+
+#define CURLHELP_ALL (0xfffffffu)
extern const struct helptxt helptext[];
CURLHELP_CURL},
{" --connect-timeout <seconds>",
"Maximum time allowed to connect",
- CURLHELP_CONNECTION},
+ CURLHELP_CONNECTION | CURLHELP_TIMEOUT},
{" --connect-to <HOST1:PORT1:HOST2:PORT2>",
- "Connect to host",
- CURLHELP_CONNECTION},
+ "Connect to host2 instead of host1",
+ CURLHELP_CONNECTION | CURLHELP_DNS},
{"-C, --continue-at <offset>",
"Resumed transfer offset",
CURLHELP_CONNECTION},
CURLHELP_HTTP},
{" --create-dirs",
"Create necessary local directory hierarchy",
- CURLHELP_CURL | CURLHELP_OUTPUT},
+ CURLHELP_OUTPUT},
{" --create-file-mode <mode>",
"File mode for created files",
CURLHELP_SFTP | CURLHELP_SCP | CURLHELP_FILE | CURLHELP_UPLOAD},
CURLHELP_HTTP | CURLHELP_FTP},
{" --ech <config>",
"Configure ECH",
- CURLHELP_TLS | CURLHELP_ECH},
+ CURLHELP_TLS},
{" --egd-file <file>",
"EGD socket path for random data",
- CURLHELP_TLS},
+ CURLHELP_DEPRECATED},
{" --engine <name>",
"Crypto engine to use",
CURLHELP_TLS},
CURLHELP_HTTP},
{" --expect100-timeout <seconds>",
"How long to wait for 100-continue",
- CURLHELP_HTTP},
+ CURLHELP_HTTP | CURLHELP_TIMEOUT},
{"-f, --fail",
"Fail fast with no output on HTTP errors",
CURLHELP_IMPORTANT | CURLHELP_HTTP},
{" --fail-early",
"Fail on first transfer error",
- CURLHELP_CURL},
+ CURLHELP_CURL | CURLHELP_GLOBAL},
{" --fail-with-body",
"Fail on HTTP errors but save the body",
CURLHELP_HTTP | CURLHELP_OUTPUT},
CURLHELP_TLS},
{"-F, --form <name=content>",
"Specify multipart MIME data",
- CURLHELP_HTTP | CURLHELP_UPLOAD},
+ CURLHELP_HTTP | CURLHELP_UPLOAD | CURLHELP_POST | CURLHELP_IMAP |
+ CURLHELP_SMTP},
{" --form-escape",
"Escape form fields using backslash",
- CURLHELP_HTTP | CURLHELP_UPLOAD},
+ CURLHELP_HTTP | CURLHELP_UPLOAD | CURLHELP_POST},
{" --form-string <name=string>",
"Specify multipart MIME data",
- CURLHELP_HTTP | CURLHELP_UPLOAD},
+ CURLHELP_HTTP | CURLHELP_UPLOAD | CURLHELP_POST | CURLHELP_SMTP |
+ CURLHELP_IMAP},
{" --ftp-account <data>",
"Account data string",
CURLHELP_FTP | CURLHELP_AUTH},
CURLHELP_FTP},
{" --ftp-create-dirs",
"Create the remote dirs if not present",
- CURLHELP_FTP | CURLHELP_SFTP | CURLHELP_CURL},
+ CURLHELP_FTP | CURLHELP_SFTP},
{" --ftp-method <method>",
"Control CWD usage",
CURLHELP_FTP},
CURLHELP_FTP | CURLHELP_TLS},
{"-G, --get",
"Put the post data in the URL and use GET",
- CURLHELP_HTTP | CURLHELP_UPLOAD},
+ CURLHELP_HTTP},
{"-g, --globoff",
"Disable URL globbing with {} and []",
CURLHELP_CURL},
{" --happy-eyeballs-timeout-ms <ms>",
"Time for IPv6 before IPv4",
- CURLHELP_CONNECTION},
+ CURLHELP_CONNECTION | CURLHELP_TIMEOUT},
{" --haproxy-clientip <ip>",
"Set address in HAProxy PROXY",
CURLHELP_HTTP | CURLHELP_PROXY},
CURLHELP_CONNECTION},
{" --ipfs-gateway <URL>",
"Gateway for IPFS",
- CURLHELP_IPFS},
+ CURLHELP_CURL},
{"-4, --ipv4",
"Resolve names to IPv4 addresses",
CURLHELP_CONNECTION | CURLHELP_DNS},
CURLHELP_CONNECTION},
{" --keepalive-time <seconds>",
"Interval time for keepalive probes",
- CURLHELP_CONNECTION},
+ CURLHELP_CONNECTION | CURLHELP_TIMEOUT},
{" --key <key>",
"Private key filename",
CURLHELP_TLS | CURLHELP_SSH},
CURLHELP_FTP},
{" --libcurl <file>",
"Generate libcurl code for this command line",
- CURLHELP_CURL},
+ CURLHELP_CURL | CURLHELP_GLOBAL},
{" --limit-rate <speed>",
"Limit transfer speed to RATE",
CURLHELP_CONNECTION},
CURLHELP_HTTP | CURLHELP_AUTH},
{" --login-options <options>",
"Server login options",
- CURLHELP_IMAP | CURLHELP_POP3 | CURLHELP_SMTP | CURLHELP_AUTH},
+ CURLHELP_IMAP | CURLHELP_POP3 | CURLHELP_SMTP | CURLHELP_AUTH |
+ CURLHELP_LDAP},
{" --mail-auth <address>",
"Originator address of the original email",
CURLHELP_SMTP},
CURLHELP_HTTP},
{"-m, --max-time <seconds>",
"Maximum time allowed for transfer",
- CURLHELP_CONNECTION},
+ CURLHELP_CONNECTION | CURLHELP_TIMEOUT},
{" --metalink",
"Process given URLs as metalink XML file",
- CURLHELP_MISC},
+ CURLHELP_DEPRECATED},
{" --mptcp",
"Enable Multipath TCP",
CURLHELP_CONNECTION},
CURLHELP_AUTH | CURLHELP_HTTP},
{"-n, --netrc",
"Must read .netrc for username and password",
- CURLHELP_CURL},
+ CURLHELP_AUTH},
{" --netrc-file <filename>",
"Specify FILE for netrc",
- CURLHELP_CURL},
+ CURLHELP_AUTH},
{" --netrc-optional",
"Use either .netrc or URL",
- CURLHELP_CURL},
+ CURLHELP_AUTH},
{"-:, --next",
"Make next URL use separate options",
CURLHELP_CURL},
CURLHELP_TLS | CURLHELP_HTTP},
{"-N, --no-buffer",
"Disable buffering of the output stream",
- CURLHELP_CURL},
+ CURLHELP_OUTPUT},
{" --no-clobber",
"Do not overwrite files that already exist",
- CURLHELP_CURL | CURLHELP_OUTPUT},
+ CURLHELP_OUTPUT},
{" --no-keepalive",
"Disable TCP keepalive on the connection",
CURLHELP_CONNECTION},
CURLHELP_AUTH | CURLHELP_HTTP},
{" --ntlm-wb",
"HTTP NTLM authentication with winbind",
- CURLHELP_AUTH | CURLHELP_HTTP},
+ CURLHELP_DEPRECATED},
{" --oauth2-bearer <token>",
"OAuth 2 Bearer Token",
- CURLHELP_AUTH},
+ CURLHELP_AUTH | CURLHELP_IMAP | CURLHELP_POP3 | CURLHELP_SMTP |
+ CURLHELP_LDAP},
{"-o, --output <file>",
"Write to file instead of stdout",
- CURLHELP_IMPORTANT | CURLHELP_CURL | CURLHELP_OUTPUT},
+ CURLHELP_IMPORTANT | CURLHELP_OUTPUT},
{" --output-dir <dir>",
"Directory to save files in",
- CURLHELP_CURL | CURLHELP_OUTPUT},
+ CURLHELP_OUTPUT},
{"-Z, --parallel",
"Perform transfers in parallel",
- CURLHELP_CONNECTION | CURLHELP_CURL},
+ CURLHELP_CONNECTION | CURLHELP_CURL | CURLHELP_GLOBAL},
{" --parallel-immediate",
"Do not wait for multiplexing",
- CURLHELP_CONNECTION | CURLHELP_CURL},
+ CURLHELP_CONNECTION | CURLHELP_CURL | CURLHELP_GLOBAL},
{" --parallel-max <num>",
"Maximum concurrency for parallel transfers",
- CURLHELP_CONNECTION | CURLHELP_CURL},
+ CURLHELP_CONNECTION | CURLHELP_CURL | CURLHELP_GLOBAL},
{" --pass <phrase>",
"Passphrase for the private key",
CURLHELP_SSH | CURLHELP_TLS | CURLHELP_AUTH},
CURLHELP_PROXY},
{"-#, --progress-bar",
"Display transfer progress as a bar",
- CURLHELP_VERBOSE},
+ CURLHELP_VERBOSE | CURLHELP_GLOBAL},
{" --proto <protocols>",
"Enable/disable PROTOCOLS",
CURLHELP_CONNECTION | CURLHELP_CURL},
CURLHELP_FTP | CURLHELP_SFTP},
{" --random-file <file>",
"File for reading random data from",
- CURLHELP_MISC},
+ CURLHELP_DEPRECATED},
{"-r, --range <range>",
"Retrieve only the bytes within RANGE",
CURLHELP_HTTP | CURLHELP_FTP | CURLHELP_SFTP | CURLHELP_FILE},
{" --rate <max request rate>",
"Request rate for serial transfers",
- CURLHELP_CONNECTION},
+ CURLHELP_CONNECTION | CURLHELP_GLOBAL},
{" --raw",
"Do HTTP raw; no transfer decoding",
CURLHELP_HTTP},
CURLHELP_OUTPUT},
{" --remove-on-error",
"Remove output file on errors",
- CURLHELP_CURL | CURLHELP_OUTPUT},
+ CURLHELP_OUTPUT},
{"-X, --request <method>",
"Specify request method to use",
- CURLHELP_CONNECTION},
+ CURLHELP_CONNECTION | CURLHELP_POP3 | CURLHELP_FTP | CURLHELP_IMAP |
+ CURLHELP_SMTP},
{" --request-target <path>",
"Specify the target for this request",
CURLHELP_HTTP},
CURLHELP_CURL},
{" --retry-delay <seconds>",
"Wait time between retries",
- CURLHELP_CURL},
+ CURLHELP_CURL | CURLHELP_TIMEOUT},
{" --retry-max-time <seconds>",
"Retry only within this period",
- CURLHELP_CURL},
+ CURLHELP_CURL | CURLHELP_TIMEOUT},
{" --sasl-authzid <identity>",
"Identity for SASL PLAIN authentication",
CURLHELP_AUTH},
CURLHELP_AUTH},
{" --service-name <name>",
"SPNEGO service name",
- CURLHELP_MISC},
+ CURLHELP_AUTH},
{"-S, --show-error",
"Show error even when -s is used",
- CURLHELP_CURL},
+ CURLHELP_CURL | CURLHELP_GLOBAL},
{"-s, --silent",
"Silent mode",
CURLHELP_IMPORTANT | CURLHELP_VERBOSE},
CURLHELP_CONNECTION},
{"-y, --speed-time <seconds>",
"Trigger 'speed-limit' abort after this time",
- CURLHELP_CONNECTION},
+ CURLHELP_CONNECTION | CURLHELP_TIMEOUT},
{" --ssl",
"Try enabling TLS",
- CURLHELP_TLS},
+ CURLHELP_TLS | CURLHELP_IMAP | CURLHELP_POP3 | CURLHELP_SMTP |
+ CURLHELP_LDAP},
{" --ssl-allow-beast",
"Allow security flaw to improve interop",
CURLHELP_TLS},
CURLHELP_TLS},
{" --ssl-reqd",
"Require SSL/TLS",
- CURLHELP_TLS},
+ CURLHELP_TLS | CURLHELP_IMAP | CURLHELP_POP3 | CURLHELP_SMTP |
+ CURLHELP_LDAP},
{" --ssl-revoke-best-effort",
"Ignore missing cert CRL dist points",
CURLHELP_TLS},
CURLHELP_TLS},
{" --stderr <file>",
"Where to redirect stderr",
- CURLHELP_VERBOSE},
+ CURLHELP_VERBOSE | CURLHELP_GLOBAL},
{" --styled-output",
"Enable styled output for HTTP headers",
- CURLHELP_VERBOSE},
+ CURLHELP_VERBOSE | CURLHELP_GLOBAL},
{" --suppress-connect-headers",
"Suppress proxy CONNECT response headers",
CURLHELP_PROXY},
CURLHELP_HTTP},
{" --trace <file>",
"Write a debug trace to FILE",
- CURLHELP_VERBOSE},
+ CURLHELP_VERBOSE | CURLHELP_GLOBAL},
{" --trace-ascii <file>",
"Like --trace, but without hex output",
- CURLHELP_VERBOSE},
+ CURLHELP_VERBOSE | CURLHELP_GLOBAL},
{" --trace-config <string>",
"Details to log in trace/verbose output",
- CURLHELP_VERBOSE},
+ CURLHELP_VERBOSE | CURLHELP_GLOBAL},
{" --trace-ids",
"Transfer + connection ids in verbose output",
- CURLHELP_VERBOSE},
+ CURLHELP_VERBOSE | CURLHELP_GLOBAL},
{" --trace-time",
"Add time stamps to trace/verbose output",
- CURLHELP_VERBOSE},
+ CURLHELP_VERBOSE | CURLHELP_GLOBAL},
{" --unix-socket <path>",
"Connect through this Unix domain socket",
CURLHELP_CONNECTION},
CURLHELP_HTTP | CURLHELP_POST | CURLHELP_UPLOAD},
{"-B, --use-ascii",
"Use ASCII/text transfer",
- CURLHELP_MISC},
+ CURLHELP_FTP | CURLHELP_OUTPUT | CURLHELP_LDAP},
{"-u, --user <user:password>",
"Server user and password",
CURLHELP_IMPORTANT | CURLHELP_AUTH},
CURLHELP_CURL},
{"-v, --verbose",
"Make the operation more talkative",
- CURLHELP_IMPORTANT | CURLHELP_VERBOSE},
+ CURLHELP_IMPORTANT | CURLHELP_VERBOSE | CURLHELP_GLOBAL},
{"-V, --version",
"Show version number and quit",
CURLHELP_IMPORTANT | CURLHELP_CURL},
CURLHELP_VERBOSE},
{" --xattr",
"Store metadata in extended file attributes",
- CURLHELP_MISC},
- { NULL, NULL, CURLHELP_HIDDEN }
+ CURLHELP_OUTPUT},
+ { NULL, NULL, 0 }
};
</errorcode>
<stdout mode="text">
Usage: curl [options...] <url>
-Invalid category provided, here is a list of all categories:
+Unknown category provided, here is a list of all categories:
- auth Different types of authentication methods
- connection Low level networking operations
+ auth Authentication methods
+ connection Manage connections
curl The command line tool itself
- dns General DNS options
- file FILE protocol options
- ftp FTP protocol options
- http HTTP and HTTPS protocol options
- imap IMAP protocol options
- misc Options that do not fit into any other category
+ deprecated Legacy
+ dns Names and resolving
+ file FILE protocol
+ ftp FTP protocol
+ global Global options
+ http HTTP and HTTPS protocol
+ imap IMAP protocol
+ ldap LDAP protocol
output Filesystem output
- pop3 POP3 protocol options
- post HTTP Post specific options
- proxy All options related to proxies
- scp SCP protocol options
- sftp SFTP protocol options
- smtp SMTP protocol options
- ssh SSH protocol options
- telnet TELNET protocol options
- tftp TFTP protocol options
- tls All TLS/SSL related options
- ech All Encrypted Client Hello (ECH) options
- upload All options for uploads
- verbose Options related to any kind of command line output of curl
+ pop3 POP3 protocol
+ post HTTP POST specific
+ proxy Options for proxies
+ scp SCP protocol
+ sftp SFTP protocol
+ smtp SMTP protocol
+ ssh SSH protocol
+ telnet TELNET protocol
+ tftp TFTP protocol
+ timeout Timeouts and delays
+ tls TLS/SSL related
+ upload Upload, sending data
+ verbose Tracing, logging etc
</stdout>
</verify>
</testcase>
</errorcode>
<stdout mode="text">
Usage: curl [options...] <url>
-file: FILE protocol options
+file: FILE protocol
--create-file-mode <mode> File mode for created files
-I, --head Show document info only
-l, --list-only List only mode
</errorcode>
<stdout mode="text">
Usage: curl [options...] <url>
-file: FILE protocol options
+file: FILE protocol
--create-file-mode <mode> File mode for created files
-I, --head Show document info only
-l, --list-only List only mode
Long: fakeitreal
Mutexed: trace trace-ascii
Help: Make the operation more talkative
-Category: important verbose
+Category: important verbose global
Added: 4.0
Multi: boolean
Scope: global
Long: fakeitreal
Mutexed: trace trace-ascii
Help: Make the operation more talkative
-Category: important verbose
+Category: important verbose global
Added: 4.0
Multi: boolean
Scope: global