1*6236dae4SAndroid Build Coastguard Worker #ifndef HEADER_CURL_TOOL_GETPARAM_H 2*6236dae4SAndroid Build Coastguard Worker #define HEADER_CURL_TOOL_GETPARAM_H 3*6236dae4SAndroid Build Coastguard Worker /*************************************************************************** 4*6236dae4SAndroid Build Coastguard Worker * _ _ ____ _ 5*6236dae4SAndroid Build Coastguard Worker * Project ___| | | | _ \| | 6*6236dae4SAndroid Build Coastguard Worker * / __| | | | |_) | | 7*6236dae4SAndroid Build Coastguard Worker * | (__| |_| | _ <| |___ 8*6236dae4SAndroid Build Coastguard Worker * \___|\___/|_| \_\_____| 9*6236dae4SAndroid Build Coastguard Worker * 10*6236dae4SAndroid Build Coastguard Worker * Copyright (C) Daniel Stenberg, <[email protected]>, et al. 11*6236dae4SAndroid Build Coastguard Worker * 12*6236dae4SAndroid Build Coastguard Worker * This software is licensed as described in the file COPYING, which 13*6236dae4SAndroid Build Coastguard Worker * you should have received as part of this distribution. The terms 14*6236dae4SAndroid Build Coastguard Worker * are also available at https://curl.se/docs/copyright.html. 15*6236dae4SAndroid Build Coastguard Worker * 16*6236dae4SAndroid Build Coastguard Worker * You may opt to use, copy, modify, merge, publish, distribute and/or sell 17*6236dae4SAndroid Build Coastguard Worker * copies of the Software, and permit persons to whom the Software is 18*6236dae4SAndroid Build Coastguard Worker * furnished to do so, under the terms of the COPYING file. 19*6236dae4SAndroid Build Coastguard Worker * 20*6236dae4SAndroid Build Coastguard Worker * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY 21*6236dae4SAndroid Build Coastguard Worker * KIND, either express or implied. 22*6236dae4SAndroid Build Coastguard Worker * 23*6236dae4SAndroid Build Coastguard Worker * SPDX-License-Identifier: curl 24*6236dae4SAndroid Build Coastguard Worker * 25*6236dae4SAndroid Build Coastguard Worker ***************************************************************************/ 26*6236dae4SAndroid Build Coastguard Worker #include "tool_setup.h" 27*6236dae4SAndroid Build Coastguard Worker 28*6236dae4SAndroid Build Coastguard Worker /* one enum for every command line option. The name is the verbatim long 29*6236dae4SAndroid Build Coastguard Worker option name, but in uppercase with periods and minuses replaced with 30*6236dae4SAndroid Build Coastguard Worker underscores using a "C_" prefix. */ 31*6236dae4SAndroid Build Coastguard Worker typedef enum { 32*6236dae4SAndroid Build Coastguard Worker C_ABSTRACT_UNIX_SOCKET, 33*6236dae4SAndroid Build Coastguard Worker C_ALPN, 34*6236dae4SAndroid Build Coastguard Worker C_ALT_SVC, 35*6236dae4SAndroid Build Coastguard Worker C_ANYAUTH, 36*6236dae4SAndroid Build Coastguard Worker C_APPEND, 37*6236dae4SAndroid Build Coastguard Worker C_AWS_SIGV4, 38*6236dae4SAndroid Build Coastguard Worker C_BASIC, 39*6236dae4SAndroid Build Coastguard Worker C_BUFFER, 40*6236dae4SAndroid Build Coastguard Worker C_CA_NATIVE, 41*6236dae4SAndroid Build Coastguard Worker C_CACERT, 42*6236dae4SAndroid Build Coastguard Worker C_CAPATH, 43*6236dae4SAndroid Build Coastguard Worker C_CERT, 44*6236dae4SAndroid Build Coastguard Worker C_CERT_STATUS, 45*6236dae4SAndroid Build Coastguard Worker C_CERT_TYPE, 46*6236dae4SAndroid Build Coastguard Worker C_CIPHERS, 47*6236dae4SAndroid Build Coastguard Worker C_CLOBBER, 48*6236dae4SAndroid Build Coastguard Worker C_COMPRESSED, 49*6236dae4SAndroid Build Coastguard Worker C_COMPRESSED_SSH, 50*6236dae4SAndroid Build Coastguard Worker C_CONFIG, 51*6236dae4SAndroid Build Coastguard Worker C_CONNECT_TIMEOUT, 52*6236dae4SAndroid Build Coastguard Worker C_CONNECT_TO, 53*6236dae4SAndroid Build Coastguard Worker C_CONTINUE_AT, 54*6236dae4SAndroid Build Coastguard Worker C_COOKIE, 55*6236dae4SAndroid Build Coastguard Worker C_COOKIE_JAR, 56*6236dae4SAndroid Build Coastguard Worker C_CREATE_DIRS, 57*6236dae4SAndroid Build Coastguard Worker C_CREATE_FILE_MODE, 58*6236dae4SAndroid Build Coastguard Worker C_CRLF, 59*6236dae4SAndroid Build Coastguard Worker C_CRLFILE, 60*6236dae4SAndroid Build Coastguard Worker C_CURVES, 61*6236dae4SAndroid Build Coastguard Worker C_DATA, 62*6236dae4SAndroid Build Coastguard Worker C_DATA_ASCII, 63*6236dae4SAndroid Build Coastguard Worker C_DATA_BINARY, 64*6236dae4SAndroid Build Coastguard Worker C_DATA_RAW, 65*6236dae4SAndroid Build Coastguard Worker C_DATA_URLENCODE, 66*6236dae4SAndroid Build Coastguard Worker C_DELEGATION, 67*6236dae4SAndroid Build Coastguard Worker C_DIGEST, 68*6236dae4SAndroid Build Coastguard Worker C_DISABLE, 69*6236dae4SAndroid Build Coastguard Worker C_DISABLE_EPRT, 70*6236dae4SAndroid Build Coastguard Worker C_DISABLE_EPSV, 71*6236dae4SAndroid Build Coastguard Worker C_DISALLOW_USERNAME_IN_URL, 72*6236dae4SAndroid Build Coastguard Worker C_DNS_INTERFACE, 73*6236dae4SAndroid Build Coastguard Worker C_DNS_IPV4_ADDR, 74*6236dae4SAndroid Build Coastguard Worker C_DNS_IPV6_ADDR, 75*6236dae4SAndroid Build Coastguard Worker C_DNS_SERVERS, 76*6236dae4SAndroid Build Coastguard Worker C_DOH_CERT_STATUS, 77*6236dae4SAndroid Build Coastguard Worker C_DOH_INSECURE, 78*6236dae4SAndroid Build Coastguard Worker C_DOH_URL, 79*6236dae4SAndroid Build Coastguard Worker C_DUMP_CA_EMBED, 80*6236dae4SAndroid Build Coastguard Worker C_DUMP_HEADER, 81*6236dae4SAndroid Build Coastguard Worker C_ECH, 82*6236dae4SAndroid Build Coastguard Worker C_EGD_FILE, 83*6236dae4SAndroid Build Coastguard Worker C_ENGINE, 84*6236dae4SAndroid Build Coastguard Worker C_EPRT, 85*6236dae4SAndroid Build Coastguard Worker C_EPSV, 86*6236dae4SAndroid Build Coastguard Worker C_ETAG_COMPARE, 87*6236dae4SAndroid Build Coastguard Worker C_ETAG_SAVE, 88*6236dae4SAndroid Build Coastguard Worker C_EXPECT100_TIMEOUT, 89*6236dae4SAndroid Build Coastguard Worker C_FAIL, 90*6236dae4SAndroid Build Coastguard Worker C_FAIL_EARLY, 91*6236dae4SAndroid Build Coastguard Worker C_FAIL_WITH_BODY, 92*6236dae4SAndroid Build Coastguard Worker C_FALSE_START, 93*6236dae4SAndroid Build Coastguard Worker C_FORM, 94*6236dae4SAndroid Build Coastguard Worker C_FORM_ESCAPE, 95*6236dae4SAndroid Build Coastguard Worker C_FORM_STRING, 96*6236dae4SAndroid Build Coastguard Worker C_FTP_ACCOUNT, 97*6236dae4SAndroid Build Coastguard Worker C_FTP_ALTERNATIVE_TO_USER, 98*6236dae4SAndroid Build Coastguard Worker C_FTP_CREATE_DIRS, 99*6236dae4SAndroid Build Coastguard Worker C_FTP_METHOD, 100*6236dae4SAndroid Build Coastguard Worker C_FTP_PASV, 101*6236dae4SAndroid Build Coastguard Worker C_FTP_PORT, 102*6236dae4SAndroid Build Coastguard Worker C_FTP_PRET, 103*6236dae4SAndroid Build Coastguard Worker C_FTP_SKIP_PASV_IP, 104*6236dae4SAndroid Build Coastguard Worker C_FTP_SSL, 105*6236dae4SAndroid Build Coastguard Worker C_FTP_SSL_CCC, 106*6236dae4SAndroid Build Coastguard Worker C_FTP_SSL_CCC_MODE, 107*6236dae4SAndroid Build Coastguard Worker C_FTP_SSL_CONTROL, 108*6236dae4SAndroid Build Coastguard Worker C_FTP_SSL_REQD, 109*6236dae4SAndroid Build Coastguard Worker C_GET, 110*6236dae4SAndroid Build Coastguard Worker C_GLOBOFF, 111*6236dae4SAndroid Build Coastguard Worker C_HAPPY_EYEBALLS_TIMEOUT_MS, 112*6236dae4SAndroid Build Coastguard Worker C_HAPROXY_CLIENTIP, 113*6236dae4SAndroid Build Coastguard Worker C_HAPROXY_PROTOCOL, 114*6236dae4SAndroid Build Coastguard Worker C_HEAD, 115*6236dae4SAndroid Build Coastguard Worker C_HEADER, 116*6236dae4SAndroid Build Coastguard Worker C_HELP, 117*6236dae4SAndroid Build Coastguard Worker C_HOSTPUBMD5, 118*6236dae4SAndroid Build Coastguard Worker C_HOSTPUBSHA256, 119*6236dae4SAndroid Build Coastguard Worker C_HSTS, 120*6236dae4SAndroid Build Coastguard Worker C_HTTP0_9, 121*6236dae4SAndroid Build Coastguard Worker C_HTTP1_0, 122*6236dae4SAndroid Build Coastguard Worker C_HTTP1_1, 123*6236dae4SAndroid Build Coastguard Worker C_HTTP2, 124*6236dae4SAndroid Build Coastguard Worker C_HTTP2_PRIOR_KNOWLEDGE, 125*6236dae4SAndroid Build Coastguard Worker C_HTTP3, 126*6236dae4SAndroid Build Coastguard Worker C_HTTP3_ONLY, 127*6236dae4SAndroid Build Coastguard Worker C_IGNORE_CONTENT_LENGTH, 128*6236dae4SAndroid Build Coastguard Worker C_INCLUDE, 129*6236dae4SAndroid Build Coastguard Worker C_INSECURE, 130*6236dae4SAndroid Build Coastguard Worker C_INTERFACE, 131*6236dae4SAndroid Build Coastguard Worker C_IPFS_GATEWAY, 132*6236dae4SAndroid Build Coastguard Worker C_IPV4, 133*6236dae4SAndroid Build Coastguard Worker C_IPV6, 134*6236dae4SAndroid Build Coastguard Worker C_JSON, 135*6236dae4SAndroid Build Coastguard Worker C_JUNK_SESSION_COOKIES, 136*6236dae4SAndroid Build Coastguard Worker C_KEEPALIVE, 137*6236dae4SAndroid Build Coastguard Worker C_KEEPALIVE_CNT, 138*6236dae4SAndroid Build Coastguard Worker C_KEEPALIVE_TIME, 139*6236dae4SAndroid Build Coastguard Worker C_KEY, 140*6236dae4SAndroid Build Coastguard Worker C_KEY_TYPE, 141*6236dae4SAndroid Build Coastguard Worker C_KRB, 142*6236dae4SAndroid Build Coastguard Worker C_KRB4, 143*6236dae4SAndroid Build Coastguard Worker C_LIBCURL, 144*6236dae4SAndroid Build Coastguard Worker C_LIMIT_RATE, 145*6236dae4SAndroid Build Coastguard Worker C_LIST_ONLY, 146*6236dae4SAndroid Build Coastguard Worker C_LOCAL_PORT, 147*6236dae4SAndroid Build Coastguard Worker C_LOCATION, 148*6236dae4SAndroid Build Coastguard Worker C_LOCATION_TRUSTED, 149*6236dae4SAndroid Build Coastguard Worker C_LOGIN_OPTIONS, 150*6236dae4SAndroid Build Coastguard Worker C_MAIL_AUTH, 151*6236dae4SAndroid Build Coastguard Worker C_MAIL_FROM, 152*6236dae4SAndroid Build Coastguard Worker C_MAIL_RCPT, 153*6236dae4SAndroid Build Coastguard Worker C_MAIL_RCPT_ALLOWFAILS, 154*6236dae4SAndroid Build Coastguard Worker C_MANUAL, 155*6236dae4SAndroid Build Coastguard Worker C_MAX_FILESIZE, 156*6236dae4SAndroid Build Coastguard Worker C_MAX_REDIRS, 157*6236dae4SAndroid Build Coastguard Worker C_MAX_TIME, 158*6236dae4SAndroid Build Coastguard Worker C_METALINK, 159*6236dae4SAndroid Build Coastguard Worker C_MPTCP, 160*6236dae4SAndroid Build Coastguard Worker C_NEGOTIATE, 161*6236dae4SAndroid Build Coastguard Worker C_NETRC, 162*6236dae4SAndroid Build Coastguard Worker C_NETRC_FILE, 163*6236dae4SAndroid Build Coastguard Worker C_NETRC_OPTIONAL, 164*6236dae4SAndroid Build Coastguard Worker C_NEXT, 165*6236dae4SAndroid Build Coastguard Worker C_NOPROXY, 166*6236dae4SAndroid Build Coastguard Worker C_NPN, 167*6236dae4SAndroid Build Coastguard Worker C_NTLM, 168*6236dae4SAndroid Build Coastguard Worker C_NTLM_WB, 169*6236dae4SAndroid Build Coastguard Worker C_OAUTH2_BEARER, 170*6236dae4SAndroid Build Coastguard Worker C_OUTPUT, 171*6236dae4SAndroid Build Coastguard Worker C_OUTPUT_DIR, 172*6236dae4SAndroid Build Coastguard Worker C_PARALLEL, 173*6236dae4SAndroid Build Coastguard Worker C_PARALLEL_IMMEDIATE, 174*6236dae4SAndroid Build Coastguard Worker C_PARALLEL_MAX, 175*6236dae4SAndroid Build Coastguard Worker C_PASS, 176*6236dae4SAndroid Build Coastguard Worker C_PATH_AS_IS, 177*6236dae4SAndroid Build Coastguard Worker C_PINNEDPUBKEY, 178*6236dae4SAndroid Build Coastguard Worker C_POST301, 179*6236dae4SAndroid Build Coastguard Worker C_POST302, 180*6236dae4SAndroid Build Coastguard Worker C_POST303, 181*6236dae4SAndroid Build Coastguard Worker C_PREPROXY, 182*6236dae4SAndroid Build Coastguard Worker C_PROGRESS_BAR, 183*6236dae4SAndroid Build Coastguard Worker C_PROGRESS_METER, 184*6236dae4SAndroid Build Coastguard Worker C_PROTO, 185*6236dae4SAndroid Build Coastguard Worker C_PROTO_DEFAULT, 186*6236dae4SAndroid Build Coastguard Worker C_PROTO_REDIR, 187*6236dae4SAndroid Build Coastguard Worker C_PROXY, 188*6236dae4SAndroid Build Coastguard Worker C_PROXY_ANYAUTH, 189*6236dae4SAndroid Build Coastguard Worker C_PROXY_BASIC, 190*6236dae4SAndroid Build Coastguard Worker C_PROXY_CA_NATIVE, 191*6236dae4SAndroid Build Coastguard Worker C_PROXY_CACERT, 192*6236dae4SAndroid Build Coastguard Worker C_PROXY_CAPATH, 193*6236dae4SAndroid Build Coastguard Worker C_PROXY_CERT, 194*6236dae4SAndroid Build Coastguard Worker C_PROXY_CERT_TYPE, 195*6236dae4SAndroid Build Coastguard Worker C_PROXY_CIPHERS, 196*6236dae4SAndroid Build Coastguard Worker C_PROXY_CRLFILE, 197*6236dae4SAndroid Build Coastguard Worker C_PROXY_DIGEST, 198*6236dae4SAndroid Build Coastguard Worker C_PROXY_HEADER, 199*6236dae4SAndroid Build Coastguard Worker C_PROXY_HTTP2, 200*6236dae4SAndroid Build Coastguard Worker C_PROXY_INSECURE, 201*6236dae4SAndroid Build Coastguard Worker C_PROXY_KEY, 202*6236dae4SAndroid Build Coastguard Worker C_PROXY_KEY_TYPE, 203*6236dae4SAndroid Build Coastguard Worker C_PROXY_NEGOTIATE, 204*6236dae4SAndroid Build Coastguard Worker C_PROXY_NTLM, 205*6236dae4SAndroid Build Coastguard Worker C_PROXY_PASS, 206*6236dae4SAndroid Build Coastguard Worker C_PROXY_PINNEDPUBKEY, 207*6236dae4SAndroid Build Coastguard Worker C_PROXY_SERVICE_NAME, 208*6236dae4SAndroid Build Coastguard Worker C_PROXY_SSL_ALLOW_BEAST, 209*6236dae4SAndroid Build Coastguard Worker C_PROXY_SSL_AUTO_CLIENT_CERT, 210*6236dae4SAndroid Build Coastguard Worker C_PROXY_TLS13_CIPHERS, 211*6236dae4SAndroid Build Coastguard Worker C_PROXY_TLSAUTHTYPE, 212*6236dae4SAndroid Build Coastguard Worker C_PROXY_TLSPASSWORD, 213*6236dae4SAndroid Build Coastguard Worker C_PROXY_TLSUSER, 214*6236dae4SAndroid Build Coastguard Worker C_PROXY_TLSV1, 215*6236dae4SAndroid Build Coastguard Worker C_PROXY_USER, 216*6236dae4SAndroid Build Coastguard Worker C_PROXY1_0, 217*6236dae4SAndroid Build Coastguard Worker C_PROXYTUNNEL, 218*6236dae4SAndroid Build Coastguard Worker C_PUBKEY, 219*6236dae4SAndroid Build Coastguard Worker C_QUOTE, 220*6236dae4SAndroid Build Coastguard Worker C_RANDOM_FILE, 221*6236dae4SAndroid Build Coastguard Worker C_RANGE, 222*6236dae4SAndroid Build Coastguard Worker C_RATE, 223*6236dae4SAndroid Build Coastguard Worker C_RAW, 224*6236dae4SAndroid Build Coastguard Worker C_REFERER, 225*6236dae4SAndroid Build Coastguard Worker C_REMOTE_HEADER_NAME, 226*6236dae4SAndroid Build Coastguard Worker C_REMOTE_NAME, 227*6236dae4SAndroid Build Coastguard Worker C_REMOTE_NAME_ALL, 228*6236dae4SAndroid Build Coastguard Worker C_REMOTE_TIME, 229*6236dae4SAndroid Build Coastguard Worker C_REMOVE_ON_ERROR, 230*6236dae4SAndroid Build Coastguard Worker C_REQUEST, 231*6236dae4SAndroid Build Coastguard Worker C_REQUEST_TARGET, 232*6236dae4SAndroid Build Coastguard Worker C_RESOLVE, 233*6236dae4SAndroid Build Coastguard Worker C_RETRY, 234*6236dae4SAndroid Build Coastguard Worker C_RETRY_ALL_ERRORS, 235*6236dae4SAndroid Build Coastguard Worker C_RETRY_CONNREFUSED, 236*6236dae4SAndroid Build Coastguard Worker C_RETRY_DELAY, 237*6236dae4SAndroid Build Coastguard Worker C_RETRY_MAX_TIME, 238*6236dae4SAndroid Build Coastguard Worker C_SASL_AUTHZID, 239*6236dae4SAndroid Build Coastguard Worker C_SASL_IR, 240*6236dae4SAndroid Build Coastguard Worker C_SERVICE_NAME, 241*6236dae4SAndroid Build Coastguard Worker C_SESSIONID, 242*6236dae4SAndroid Build Coastguard Worker C_SHOW_ERROR, 243*6236dae4SAndroid Build Coastguard Worker C_SHOW_HEADERS, 244*6236dae4SAndroid Build Coastguard Worker C_SILENT, 245*6236dae4SAndroid Build Coastguard Worker C_SKIP_EXISTING, 246*6236dae4SAndroid Build Coastguard Worker C_SOCKS4, 247*6236dae4SAndroid Build Coastguard Worker C_SOCKS4A, 248*6236dae4SAndroid Build Coastguard Worker C_SOCKS5, 249*6236dae4SAndroid Build Coastguard Worker C_SOCKS5_BASIC, 250*6236dae4SAndroid Build Coastguard Worker C_SOCKS5_GSSAPI, 251*6236dae4SAndroid Build Coastguard Worker C_SOCKS5_GSSAPI_NEC, 252*6236dae4SAndroid Build Coastguard Worker C_SOCKS5_GSSAPI_SERVICE, 253*6236dae4SAndroid Build Coastguard Worker C_SOCKS5_HOSTNAME, 254*6236dae4SAndroid Build Coastguard Worker C_SPEED_LIMIT, 255*6236dae4SAndroid Build Coastguard Worker C_SPEED_TIME, 256*6236dae4SAndroid Build Coastguard Worker C_SSL, 257*6236dae4SAndroid Build Coastguard Worker C_SSL_ALLOW_BEAST, 258*6236dae4SAndroid Build Coastguard Worker C_SSL_AUTO_CLIENT_CERT, 259*6236dae4SAndroid Build Coastguard Worker C_SSL_NO_REVOKE, 260*6236dae4SAndroid Build Coastguard Worker C_SSL_REQD, 261*6236dae4SAndroid Build Coastguard Worker C_SSL_REVOKE_BEST_EFFORT, 262*6236dae4SAndroid Build Coastguard Worker C_SSLV2, 263*6236dae4SAndroid Build Coastguard Worker C_SSLV3, 264*6236dae4SAndroid Build Coastguard Worker C_STDERR, 265*6236dae4SAndroid Build Coastguard Worker C_STYLED_OUTPUT, 266*6236dae4SAndroid Build Coastguard Worker C_SUPPRESS_CONNECT_HEADERS, 267*6236dae4SAndroid Build Coastguard Worker C_TCP_FASTOPEN, 268*6236dae4SAndroid Build Coastguard Worker C_TCP_NODELAY, 269*6236dae4SAndroid Build Coastguard Worker C_TELNET_OPTION, 270*6236dae4SAndroid Build Coastguard Worker C_TEST_EVENT, 271*6236dae4SAndroid Build Coastguard Worker C_TFTP_BLKSIZE, 272*6236dae4SAndroid Build Coastguard Worker C_TFTP_NO_OPTIONS, 273*6236dae4SAndroid Build Coastguard Worker C_TIME_COND, 274*6236dae4SAndroid Build Coastguard Worker C_TLS_EARLYDATA, 275*6236dae4SAndroid Build Coastguard Worker C_TLS_MAX, 276*6236dae4SAndroid Build Coastguard Worker C_TLS13_CIPHERS, 277*6236dae4SAndroid Build Coastguard Worker C_TLSAUTHTYPE, 278*6236dae4SAndroid Build Coastguard Worker C_TLSPASSWORD, 279*6236dae4SAndroid Build Coastguard Worker C_TLSUSER, 280*6236dae4SAndroid Build Coastguard Worker C_TLSV1, 281*6236dae4SAndroid Build Coastguard Worker C_TLSV1_0, 282*6236dae4SAndroid Build Coastguard Worker C_TLSV1_1, 283*6236dae4SAndroid Build Coastguard Worker C_TLSV1_2, 284*6236dae4SAndroid Build Coastguard Worker C_TLSV1_3, 285*6236dae4SAndroid Build Coastguard Worker C_TR_ENCODING, 286*6236dae4SAndroid Build Coastguard Worker C_TRACE, 287*6236dae4SAndroid Build Coastguard Worker C_TRACE_ASCII, 288*6236dae4SAndroid Build Coastguard Worker C_TRACE_CONFIG, 289*6236dae4SAndroid Build Coastguard Worker C_TRACE_IDS, 290*6236dae4SAndroid Build Coastguard Worker C_TRACE_TIME, 291*6236dae4SAndroid Build Coastguard Worker C_IP_TOS, 292*6236dae4SAndroid Build Coastguard Worker C_UNIX_SOCKET, 293*6236dae4SAndroid Build Coastguard Worker C_UPLOAD_FILE, 294*6236dae4SAndroid Build Coastguard Worker C_URL, 295*6236dae4SAndroid Build Coastguard Worker C_URL_QUERY, 296*6236dae4SAndroid Build Coastguard Worker C_USE_ASCII, 297*6236dae4SAndroid Build Coastguard Worker C_USER, 298*6236dae4SAndroid Build Coastguard Worker C_USER_AGENT, 299*6236dae4SAndroid Build Coastguard Worker C_VARIABLE, 300*6236dae4SAndroid Build Coastguard Worker C_VERBOSE, 301*6236dae4SAndroid Build Coastguard Worker C_VERSION, 302*6236dae4SAndroid Build Coastguard Worker C_VLAN_PRIORITY, 303*6236dae4SAndroid Build Coastguard Worker C_WDEBUG, 304*6236dae4SAndroid Build Coastguard Worker C_WRITE_OUT, 305*6236dae4SAndroid Build Coastguard Worker C_XATTR 306*6236dae4SAndroid Build Coastguard Worker } cmdline_t; 307*6236dae4SAndroid Build Coastguard Worker 308*6236dae4SAndroid Build Coastguard Worker #define ARG_NONE 0 /* stand-alone but not a boolean */ 309*6236dae4SAndroid Build Coastguard Worker #define ARG_BOOL 1 /* accepts a --no-[name] prefix */ 310*6236dae4SAndroid Build Coastguard Worker #define ARG_STRG 2 /* requires an argument */ 311*6236dae4SAndroid Build Coastguard Worker #define ARG_FILE 3 /* requires an argument, usually a filename */ 312*6236dae4SAndroid Build Coastguard Worker 313*6236dae4SAndroid Build Coastguard Worker #define ARG_TYPEMASK 0x03 314*6236dae4SAndroid Build Coastguard Worker #define ARGTYPE(x) ((x) & ARG_TYPEMASK) 315*6236dae4SAndroid Build Coastguard Worker 316*6236dae4SAndroid Build Coastguard Worker #define ARG_NO 0x80 /* set if the option is documented as --no-* */ 317*6236dae4SAndroid Build Coastguard Worker 318*6236dae4SAndroid Build Coastguard Worker struct LongShort { 319*6236dae4SAndroid Build Coastguard Worker const char *lname; /* long name option */ 320*6236dae4SAndroid Build Coastguard Worker unsigned char desc; /* type, see ARG_* */ 321*6236dae4SAndroid Build Coastguard Worker char letter; /* short name option or ' ' */ 322*6236dae4SAndroid Build Coastguard Worker unsigned short cmd; 323*6236dae4SAndroid Build Coastguard Worker }; 324*6236dae4SAndroid Build Coastguard Worker 325*6236dae4SAndroid Build Coastguard Worker typedef enum { 326*6236dae4SAndroid Build Coastguard Worker PARAM_OK = 0, 327*6236dae4SAndroid Build Coastguard Worker PARAM_OPTION_AMBIGUOUS, 328*6236dae4SAndroid Build Coastguard Worker PARAM_OPTION_UNKNOWN, 329*6236dae4SAndroid Build Coastguard Worker PARAM_REQUIRES_PARAMETER, 330*6236dae4SAndroid Build Coastguard Worker PARAM_BAD_USE, 331*6236dae4SAndroid Build Coastguard Worker PARAM_HELP_REQUESTED, 332*6236dae4SAndroid Build Coastguard Worker PARAM_MANUAL_REQUESTED, 333*6236dae4SAndroid Build Coastguard Worker PARAM_VERSION_INFO_REQUESTED, 334*6236dae4SAndroid Build Coastguard Worker PARAM_ENGINES_REQUESTED, 335*6236dae4SAndroid Build Coastguard Worker PARAM_CA_EMBED_REQUESTED, 336*6236dae4SAndroid Build Coastguard Worker PARAM_GOT_EXTRA_PARAMETER, 337*6236dae4SAndroid Build Coastguard Worker PARAM_BAD_NUMERIC, 338*6236dae4SAndroid Build Coastguard Worker PARAM_NEGATIVE_NUMERIC, 339*6236dae4SAndroid Build Coastguard Worker PARAM_LIBCURL_DOESNT_SUPPORT, 340*6236dae4SAndroid Build Coastguard Worker PARAM_LIBCURL_UNSUPPORTED_PROTOCOL, 341*6236dae4SAndroid Build Coastguard Worker PARAM_NO_MEM, 342*6236dae4SAndroid Build Coastguard Worker PARAM_NEXT_OPERATION, 343*6236dae4SAndroid Build Coastguard Worker PARAM_NO_PREFIX, 344*6236dae4SAndroid Build Coastguard Worker PARAM_NUMBER_TOO_LARGE, 345*6236dae4SAndroid Build Coastguard Worker PARAM_NO_NOT_BOOLEAN, 346*6236dae4SAndroid Build Coastguard Worker PARAM_CONTDISP_RESUME_FROM, /* --continue-at and --remote-header-name */ 347*6236dae4SAndroid Build Coastguard Worker PARAM_READ_ERROR, 348*6236dae4SAndroid Build Coastguard Worker PARAM_EXPAND_ERROR, /* --expand problem */ 349*6236dae4SAndroid Build Coastguard Worker PARAM_BLANK_STRING, 350*6236dae4SAndroid Build Coastguard Worker PARAM_LAST 351*6236dae4SAndroid Build Coastguard Worker } ParameterError; 352*6236dae4SAndroid Build Coastguard Worker 353*6236dae4SAndroid Build Coastguard Worker struct GlobalConfig; 354*6236dae4SAndroid Build Coastguard Worker struct OperationConfig; 355*6236dae4SAndroid Build Coastguard Worker 356*6236dae4SAndroid Build Coastguard Worker const struct LongShort *findlongopt(const char *opt); 357*6236dae4SAndroid Build Coastguard Worker const struct LongShort *findshortopt(char letter); 358*6236dae4SAndroid Build Coastguard Worker 359*6236dae4SAndroid Build Coastguard Worker ParameterError getparameter(const char *flag, char *nextarg, 360*6236dae4SAndroid Build Coastguard Worker argv_item_t cleararg, 361*6236dae4SAndroid Build Coastguard Worker bool *usedarg, 362*6236dae4SAndroid Build Coastguard Worker struct GlobalConfig *global, 363*6236dae4SAndroid Build Coastguard Worker struct OperationConfig *operation); 364*6236dae4SAndroid Build Coastguard Worker 365*6236dae4SAndroid Build Coastguard Worker #ifdef UNITTESTS 366*6236dae4SAndroid Build Coastguard Worker void parse_cert_parameter(const char *cert_parameter, 367*6236dae4SAndroid Build Coastguard Worker char **certname, 368*6236dae4SAndroid Build Coastguard Worker char **passphrase); 369*6236dae4SAndroid Build Coastguard Worker #endif 370*6236dae4SAndroid Build Coastguard Worker 371*6236dae4SAndroid Build Coastguard Worker ParameterError parse_args(struct GlobalConfig *config, int argc, 372*6236dae4SAndroid Build Coastguard Worker argv_item_t argv[]); 373*6236dae4SAndroid Build Coastguard Worker 374*6236dae4SAndroid Build Coastguard Worker #endif /* HEADER_CURL_TOOL_GETPARAM_H */ 375