Created
October 12, 2010 07:13
-
-
Save mala/621797 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
static int | |
constant(const char *name) | |
{ | |
errno = 0; | |
if (strncmp(name, "CURLE_", 6) == 0) { | |
name += 6; | |
switch (*name) { | |
case 'A': | |
if (strEQ(name, "ABORTED_BY_CALLBACK")) return CURLE_ABORTED_BY_CALLBACK; | |
if (strEQ(name, "AGAIN")) return CURLE_AGAIN; | |
break; | |
case 'B': | |
if (strEQ(name, "BAD_CONTENT_ENCODING")) return CURLE_BAD_CONTENT_ENCODING; | |
if (strEQ(name, "BAD_DOWNLOAD_RESUME")) return CURLE_BAD_DOWNLOAD_RESUME; | |
if (strEQ(name, "BAD_FUNCTION_ARGUMENT")) return CURLE_BAD_FUNCTION_ARGUMENT; | |
break; | |
case 'C': | |
if (strEQ(name, "CONV_FAILED")) return CURLE_CONV_FAILED; | |
if (strEQ(name, "CONV_REQD")) return CURLE_CONV_REQD; | |
if (strEQ(name, "COULDNT_CONNECT")) return CURLE_COULDNT_CONNECT; | |
if (strEQ(name, "COULDNT_RESOLVE_HOST")) return CURLE_COULDNT_RESOLVE_HOST; | |
if (strEQ(name, "COULDNT_RESOLVE_PROXY")) return CURLE_COULDNT_RESOLVE_PROXY; | |
break; | |
case 'D': | |
case 'E': | |
case 'F': | |
if (strEQ(name, "FAILED_INIT")) return CURLE_FAILED_INIT; | |
if (strEQ(name, "FILESIZE_EXCEEDED")) return CURLE_FILESIZE_EXCEEDED; | |
if (strEQ(name, "FILE_COULDNT_READ_FILE")) return CURLE_FILE_COULDNT_READ_FILE; | |
if (strEQ(name, "FTP_CANT_GET_HOST")) return CURLE_FTP_CANT_GET_HOST; | |
if (strEQ(name, "FTP_COULDNT_RETR_FILE")) return CURLE_FTP_COULDNT_RETR_FILE; | |
if (strEQ(name, "FTP_COULDNT_SET_TYPE")) return CURLE_FTP_COULDNT_SET_TYPE; | |
if (strEQ(name, "FTP_COULDNT_USE_REST")) return CURLE_FTP_COULDNT_USE_REST; | |
if (strEQ(name, "FTP_PORT_FAILED")) return CURLE_FTP_PORT_FAILED; | |
if (strEQ(name, "FTP_PRET_FAILED")) return CURLE_FTP_PRET_FAILED; | |
if (strEQ(name, "FTP_WEIRD_227_FORMAT")) return CURLE_FTP_WEIRD_227_FORMAT; | |
if (strEQ(name, "FTP_WEIRD_PASS_REPLY")) return CURLE_FTP_WEIRD_PASS_REPLY; | |
if (strEQ(name, "FTP_WEIRD_PASV_REPLY")) return CURLE_FTP_WEIRD_PASV_REPLY; | |
if (strEQ(name, "FTP_WEIRD_SERVER_REPLY")) return CURLE_FTP_WEIRD_SERVER_REPLY; | |
if (strEQ(name, "FUNCTION_NOT_FOUND")) return CURLE_FUNCTION_NOT_FOUND; | |
break; | |
case 'G': | |
if (strEQ(name, "GOT_NOTHING")) return CURLE_GOT_NOTHING; | |
break; | |
case 'H': | |
if (strEQ(name, "HTTP_POST_ERROR")) return CURLE_HTTP_POST_ERROR; | |
if (strEQ(name, "HTTP_RETURNED_ERROR")) return CURLE_HTTP_RETURNED_ERROR; | |
break; | |
case 'I': | |
if (strEQ(name, "INTERFACE_FAILED")) return CURLE_INTERFACE_FAILED; | |
break; | |
case 'J': | |
case 'K': | |
case 'L': | |
if (strEQ(name, "LDAP_CANNOT_BIND")) return CURLE_LDAP_CANNOT_BIND; | |
if (strEQ(name, "LDAP_INVALID_URL")) return CURLE_LDAP_INVALID_URL; | |
if (strEQ(name, "LDAP_SEARCH_FAILED")) return CURLE_LDAP_SEARCH_FAILED; | |
if (strEQ(name, "LOGIN_DENIED")) return CURLE_LOGIN_DENIED; | |
break; | |
case 'M': | |
case 'N': | |
case 'O': | |
if (strEQ(name, "OBSOLETE10")) return CURLE_OBSOLETE10; | |
if (strEQ(name, "OBSOLETE12")) return CURLE_OBSOLETE12; | |
if (strEQ(name, "OBSOLETE16")) return CURLE_OBSOLETE16; | |
if (strEQ(name, "OBSOLETE20")) return CURLE_OBSOLETE20; | |
if (strEQ(name, "OBSOLETE24")) return CURLE_OBSOLETE24; | |
if (strEQ(name, "OBSOLETE29")) return CURLE_OBSOLETE29; | |
if (strEQ(name, "OBSOLETE32")) return CURLE_OBSOLETE32; | |
if (strEQ(name, "OBSOLETE4")) return CURLE_OBSOLETE4; | |
if (strEQ(name, "OBSOLETE40")) return CURLE_OBSOLETE40; | |
if (strEQ(name, "OBSOLETE44")) return CURLE_OBSOLETE44; | |
if (strEQ(name, "OBSOLETE46")) return CURLE_OBSOLETE46; | |
if (strEQ(name, "OBSOLETE50")) return CURLE_OBSOLETE50; | |
if (strEQ(name, "OBSOLETE57")) return CURLE_OBSOLETE57; | |
if (strEQ(name, "OK")) return CURLE_OK; | |
if (strEQ(name, "OPERATION_TIMEDOUT")) return CURLE_OPERATION_TIMEDOUT; | |
if (strEQ(name, "OUT_OF_MEMORY")) return CURLE_OUT_OF_MEMORY; | |
break; | |
case 'P': | |
if (strEQ(name, "PARTIAL_FILE")) return CURLE_PARTIAL_FILE; | |
if (strEQ(name, "PEER_FAILED_VERIFICATION")) return CURLE_PEER_FAILED_VERIFICATION; | |
break; | |
case 'Q': | |
if (strEQ(name, "QUOTE_ERROR")) return CURLE_QUOTE_ERROR; | |
break; | |
case 'R': | |
if (strEQ(name, "RANGE_ERROR")) return CURLE_RANGE_ERROR; | |
if (strEQ(name, "READ_ERROR")) return CURLE_READ_ERROR; | |
if (strEQ(name, "RECV_ERROR")) return CURLE_RECV_ERROR; | |
if (strEQ(name, "REMOTE_ACCESS_DENIED")) return CURLE_REMOTE_ACCESS_DENIED; | |
if (strEQ(name, "REMOTE_DISK_FULL")) return CURLE_REMOTE_DISK_FULL; | |
if (strEQ(name, "REMOTE_FILE_EXISTS")) return CURLE_REMOTE_FILE_EXISTS; | |
if (strEQ(name, "REMOTE_FILE_NOT_FOUND")) return CURLE_REMOTE_FILE_NOT_FOUND; | |
if (strEQ(name, "RTSP_CSEQ_ERROR")) return CURLE_RTSP_CSEQ_ERROR; | |
if (strEQ(name, "RTSP_SESSION_ERROR")) return CURLE_RTSP_SESSION_ERROR; | |
break; | |
case 'S': | |
if (strEQ(name, "SEND_ERROR")) return CURLE_SEND_ERROR; | |
if (strEQ(name, "SEND_FAIL_REWIND")) return CURLE_SEND_FAIL_REWIND; | |
if (strEQ(name, "SSH")) return CURLE_SSH; | |
if (strEQ(name, "SSL_CACERT")) return CURLE_SSL_CACERT; | |
if (strEQ(name, "SSL_CACERT_BADFILE")) return CURLE_SSL_CACERT_BADFILE; | |
if (strEQ(name, "SSL_CERTPROBLEM")) return CURLE_SSL_CERTPROBLEM; | |
if (strEQ(name, "SSL_CIPHER")) return CURLE_SSL_CIPHER; | |
if (strEQ(name, "SSL_CONNECT_ERROR")) return CURLE_SSL_CONNECT_ERROR; | |
if (strEQ(name, "SSL_CRL_BADFILE")) return CURLE_SSL_CRL_BADFILE; | |
if (strEQ(name, "SSL_ENGINE_INITFAILED")) return CURLE_SSL_ENGINE_INITFAILED; | |
if (strEQ(name, "SSL_ENGINE_NOTFOUND")) return CURLE_SSL_ENGINE_NOTFOUND; | |
if (strEQ(name, "SSL_ENGINE_SETFAILED")) return CURLE_SSL_ENGINE_SETFAILED; | |
if (strEQ(name, "SSL_ISSUER_ERROR")) return CURLE_SSL_ISSUER_ERROR; | |
if (strEQ(name, "SSL_SHUTDOWN_FAILED")) return CURLE_SSL_SHUTDOWN_FAILED; | |
break; | |
case 'T': | |
if (strEQ(name, "TELNET_OPTION_SYNTAX")) return CURLE_TELNET_OPTION_SYNTAX; | |
if (strEQ(name, "TFTP_ILLEGAL")) return CURLE_TFTP_ILLEGAL; | |
if (strEQ(name, "TFTP_NOSUCHUSER")) return CURLE_TFTP_NOSUCHUSER; | |
if (strEQ(name, "TFTP_NOTFOUND")) return CURLE_TFTP_NOTFOUND; | |
if (strEQ(name, "TFTP_PERM")) return CURLE_TFTP_PERM; | |
if (strEQ(name, "TFTP_UNKNOWNID")) return CURLE_TFTP_UNKNOWNID; | |
if (strEQ(name, "TOO_MANY_REDIRECTS")) return CURLE_TOO_MANY_REDIRECTS; | |
break; | |
case 'U': | |
if (strEQ(name, "UNKNOWN_TELNET_OPTION")) return CURLE_UNKNOWN_TELNET_OPTION; | |
if (strEQ(name, "UNSUPPORTED_PROTOCOL")) return CURLE_UNSUPPORTED_PROTOCOL; | |
if (strEQ(name, "UPLOAD_FAILED")) return CURLE_UPLOAD_FAILED; | |
if (strEQ(name, "URL_MALFORMAT")) return CURLE_URL_MALFORMAT; | |
if (strEQ(name, "USE_SSL_FAILED")) return CURLE_USE_SSL_FAILED; | |
break; | |
case 'V': | |
case 'W': | |
if (strEQ(name, "WRITE_ERROR")) return CURLE_WRITE_ERROR; | |
break; | |
case 'X': | |
case 'Y': | |
case 'Z': | |
break; | |
}; | |
} | |
if (strncmp(name, "CURLINFO_", 9) == 0) { | |
name += 9; | |
switch (*name) { | |
case 'A': | |
if (strEQ(name, "APPCONNECT_TIME")) return CURLINFO_APPCONNECT_TIME; | |
break; | |
case 'B': | |
case 'C': | |
if (strEQ(name, "CERTINFO")) return CURLINFO_CERTINFO; | |
if (strEQ(name, "CONDITION_UNMET")) return CURLINFO_CONDITION_UNMET; | |
if (strEQ(name, "CONNECT_TIME")) return CURLINFO_CONNECT_TIME; | |
if (strEQ(name, "CONTENT_LENGTH_DOWNLOAD")) return CURLINFO_CONTENT_LENGTH_DOWNLOAD; | |
if (strEQ(name, "CONTENT_LENGTH_UPLOAD")) return CURLINFO_CONTENT_LENGTH_UPLOAD; | |
if (strEQ(name, "CONTENT_TYPE")) return CURLINFO_CONTENT_TYPE; | |
if (strEQ(name, "COOKIELIST")) return CURLINFO_COOKIELIST; | |
break; | |
case 'D': | |
if (strEQ(name, "DATA_IN")) return CURLINFO_DATA_IN; | |
if (strEQ(name, "DATA_OUT")) return CURLINFO_DATA_OUT; | |
break; | |
case 'E': | |
if (strEQ(name, "EFFECTIVE_URL")) return CURLINFO_EFFECTIVE_URL; | |
if (strEQ(name, "END")) return CURLINFO_END; | |
break; | |
case 'F': | |
if (strEQ(name, "FILETIME")) return CURLINFO_FILETIME; | |
if (strEQ(name, "FTP_ENTRY_PATH")) return CURLINFO_FTP_ENTRY_PATH; | |
break; | |
case 'G': | |
case 'H': | |
if (strEQ(name, "HEADER_IN")) return CURLINFO_HEADER_IN; | |
if (strEQ(name, "HEADER_OUT")) return CURLINFO_HEADER_OUT; | |
if (strEQ(name, "HEADER_SIZE")) return CURLINFO_HEADER_SIZE; | |
if (strEQ(name, "HTTPAUTH_AVAIL")) return CURLINFO_HTTPAUTH_AVAIL; | |
if (strEQ(name, "HTTP_CODE")) return CURLINFO_HTTP_CODE; | |
if (strEQ(name, "HTTP_CONNECTCODE")) return CURLINFO_HTTP_CONNECTCODE; | |
break; | |
case 'I': | |
case 'J': | |
case 'K': | |
case 'L': | |
if (strEQ(name, "LASTONE")) return CURLINFO_LASTONE; | |
if (strEQ(name, "LASTSOCKET")) return CURLINFO_LASTSOCKET; | |
break; | |
case 'M': | |
case 'N': | |
if (strEQ(name, "NAMELOOKUP_TIME")) return CURLINFO_NAMELOOKUP_TIME; | |
if (strEQ(name, "NONE")) return CURLINFO_NONE; | |
if (strEQ(name, "NUM_CONNECTS")) return CURLINFO_NUM_CONNECTS; | |
break; | |
case 'O': | |
if (strEQ(name, "OS_ERRNO")) return CURLINFO_OS_ERRNO; | |
break; | |
case 'P': | |
if (strEQ(name, "PRETRANSFER_TIME")) return CURLINFO_PRETRANSFER_TIME; | |
if (strEQ(name, "PRIMARY_IP")) return CURLINFO_PRIMARY_IP; | |
if (strEQ(name, "PRIVATE")) return CURLINFO_PRIVATE; | |
if (strEQ(name, "PROXYAUTH_AVAIL")) return CURLINFO_PROXYAUTH_AVAIL; | |
break; | |
case 'Q': | |
case 'R': | |
if (strEQ(name, "REDIRECT_COUNT")) return CURLINFO_REDIRECT_COUNT; | |
if (strEQ(name, "REDIRECT_TIME")) return CURLINFO_REDIRECT_TIME; | |
if (strEQ(name, "REDIRECT_URL")) return CURLINFO_REDIRECT_URL; | |
if (strEQ(name, "REQUEST_SIZE")) return CURLINFO_REQUEST_SIZE; | |
if (strEQ(name, "RESPONSE_CODE")) return CURLINFO_RESPONSE_CODE; | |
if (strEQ(name, "RTSP_CLIENT_CSEQ")) return CURLINFO_RTSP_CLIENT_CSEQ; | |
if (strEQ(name, "RTSP_CSEQ_RECV")) return CURLINFO_RTSP_CSEQ_RECV; | |
if (strEQ(name, "RTSP_SERVER_CSEQ")) return CURLINFO_RTSP_SERVER_CSEQ; | |
if (strEQ(name, "RTSP_SESSION_ID")) return CURLINFO_RTSP_SESSION_ID; | |
break; | |
case 'S': | |
if (strEQ(name, "SIZE_DOWNLOAD")) return CURLINFO_SIZE_DOWNLOAD; | |
if (strEQ(name, "SIZE_UPLOAD")) return CURLINFO_SIZE_UPLOAD; | |
if (strEQ(name, "SPEED_DOWNLOAD")) return CURLINFO_SPEED_DOWNLOAD; | |
if (strEQ(name, "SPEED_UPLOAD")) return CURLINFO_SPEED_UPLOAD; | |
if (strEQ(name, "SSL_DATA_IN")) return CURLINFO_SSL_DATA_IN; | |
if (strEQ(name, "SSL_DATA_OUT")) return CURLINFO_SSL_DATA_OUT; | |
if (strEQ(name, "SSL_ENGINES")) return CURLINFO_SSL_ENGINES; | |
if (strEQ(name, "SSL_VERIFYRESULT")) return CURLINFO_SSL_VERIFYRESULT; | |
if (strEQ(name, "STARTTRANSFER_TIME")) return CURLINFO_STARTTRANSFER_TIME; | |
break; | |
case 'T': | |
if (strEQ(name, "TEXT")) return CURLINFO_TEXT; | |
if (strEQ(name, "TOTAL_TIME")) return CURLINFO_TOTAL_TIME; | |
break; | |
case 'U': | |
case 'V': | |
case 'W': | |
case 'X': | |
case 'Y': | |
case 'Z': | |
break; | |
}; | |
} | |
if (strncmp(name, "CURLOPT_", 8) == 0) { | |
name += 8; | |
switch (*name) { | |
case 'A': | |
if (strEQ(name, "ADDRESS_SCOPE")) return CURLOPT_ADDRESS_SCOPE; | |
if (strEQ(name, "APPEND")) return CURLOPT_APPEND; | |
if (strEQ(name, "AUTOREFERER")) return CURLOPT_AUTOREFERER; | |
break; | |
case 'B': | |
if (strEQ(name, "BUFFERSIZE")) return CURLOPT_BUFFERSIZE; | |
break; | |
case 'C': | |
if (strEQ(name, "CAINFO")) return CURLOPT_CAINFO; | |
if (strEQ(name, "CAPATH")) return CURLOPT_CAPATH; | |
if (strEQ(name, "CERTINFO")) return CURLOPT_CERTINFO; | |
if (strEQ(name, "CLOSEPOLICY")) return CURLOPT_CLOSEPOLICY; | |
if (strEQ(name, "CONNECTTIMEOUT")) return CURLOPT_CONNECTTIMEOUT; | |
if (strEQ(name, "CONNECTTIMEOUT_MS")) return CURLOPT_CONNECTTIMEOUT_MS; | |
if (strEQ(name, "CONNECT_ONLY")) return CURLOPT_CONNECT_ONLY; | |
if (strEQ(name, "CONV_FROM_NETWORK_FUNCTION")) return CURLOPT_CONV_FROM_NETWORK_FUNCTION; | |
if (strEQ(name, "CONV_FROM_UTF8_FUNCTION")) return CURLOPT_CONV_FROM_UTF8_FUNCTION; | |
if (strEQ(name, "CONV_TO_NETWORK_FUNCTION")) return CURLOPT_CONV_TO_NETWORK_FUNCTION; | |
if (strEQ(name, "COOKIE")) return CURLOPT_COOKIE; | |
if (strEQ(name, "COOKIEFILE")) return CURLOPT_COOKIEFILE; | |
if (strEQ(name, "COOKIEJAR")) return CURLOPT_COOKIEJAR; | |
if (strEQ(name, "COOKIELIST")) return CURLOPT_COOKIELIST; | |
if (strEQ(name, "COOKIESESSION")) return CURLOPT_COOKIESESSION; | |
if (strEQ(name, "COPYPOSTFIELDS")) return CURLOPT_COPYPOSTFIELDS; | |
if (strEQ(name, "CRLF")) return CURLOPT_CRLF; | |
if (strEQ(name, "CRLFILE")) return CURLOPT_CRLFILE; | |
if (strEQ(name, "CUSTOMREQUEST")) return CURLOPT_CUSTOMREQUEST; | |
break; | |
case 'D': | |
if (strEQ(name, "DEBUGDATA")) return CURLOPT_DEBUGDATA; | |
if (strEQ(name, "DEBUGFUNCTION")) return CURLOPT_DEBUGFUNCTION; | |
if (strEQ(name, "DIRLISTONLY")) return CURLOPT_DIRLISTONLY; | |
if (strEQ(name, "DNS_CACHE_TIMEOUT")) return CURLOPT_DNS_CACHE_TIMEOUT; | |
if (strEQ(name, "DNS_USE_GLOBAL_CACHE")) return CURLOPT_DNS_USE_GLOBAL_CACHE; | |
break; | |
case 'E': | |
if (strEQ(name, "EGDSOCKET")) return CURLOPT_EGDSOCKET; | |
if (strEQ(name, "ENCODING")) return CURLOPT_ENCODING; | |
if (strEQ(name, "ERRORBUFFER")) return CURLOPT_ERRORBUFFER; | |
break; | |
case 'F': | |
if (strEQ(name, "FAILONERROR")) return CURLOPT_FAILONERROR; | |
if (strEQ(name, "FILE")) return CURLOPT_FILE; | |
if (strEQ(name, "FILETIME")) return CURLOPT_FILETIME; | |
if (strEQ(name, "FOLLOWLOCATION")) return CURLOPT_FOLLOWLOCATION; | |
if (strEQ(name, "FORBID_REUSE")) return CURLOPT_FORBID_REUSE; | |
if (strEQ(name, "FRESH_CONNECT")) return CURLOPT_FRESH_CONNECT; | |
if (strEQ(name, "FTPAPPEND")) return CURLOPT_APPEND; | |
if (strEQ(name, "FTPLISTONLY")) return CURLOPT_DIRLISTONLY; | |
if (strEQ(name, "FTPPORT")) return CURLOPT_FTPPORT; | |
if (strEQ(name, "FTPSSLAUTH")) return CURLOPT_FTPSSLAUTH; | |
if (strEQ(name, "FTP_ACCOUNT")) return CURLOPT_FTP_ACCOUNT; | |
if (strEQ(name, "FTP_ALTERNATIVE_TO_USER")) return CURLOPT_FTP_ALTERNATIVE_TO_USER; | |
if (strEQ(name, "FTP_CREATE_MISSING_DIRS")) return CURLOPT_FTP_CREATE_MISSING_DIRS; | |
if (strEQ(name, "FTP_FILEMETHOD")) return CURLOPT_FTP_FILEMETHOD; | |
if (strEQ(name, "FTP_RESPONSE_TIMEOUT")) return CURLOPT_FTP_RESPONSE_TIMEOUT; | |
if (strEQ(name, "FTP_SKIP_PASV_IP")) return CURLOPT_FTP_SKIP_PASV_IP; | |
if (strEQ(name, "FTP_SSL")) return CURLOPT_USE_SSL; | |
if (strEQ(name, "FTP_SSL_CCC")) return CURLOPT_FTP_SSL_CCC; | |
if (strEQ(name, "FTP_USE_EPRT")) return CURLOPT_FTP_USE_EPRT; | |
if (strEQ(name, "FTP_USE_EPSV")) return CURLOPT_FTP_USE_EPSV; | |
if (strEQ(name, "FTP_USE_PRET")) return CURLOPT_FTP_USE_PRET; | |
break; | |
case 'G': | |
case 'H': | |
if (strEQ(name, "HEADER")) return CURLOPT_HEADER; | |
if (strEQ(name, "HEADERDATA")) return CURLOPT_WRITEHEADER; | |
if (strEQ(name, "HEADERFUNCTION")) return CURLOPT_HEADERFUNCTION; | |
if (strEQ(name, "HTTP200ALIASES")) return CURLOPT_HTTP200ALIASES; | |
if (strEQ(name, "HTTPAUTH")) return CURLOPT_HTTPAUTH; | |
if (strEQ(name, "HTTPGET")) return CURLOPT_HTTPGET; | |
if (strEQ(name, "HTTPHEADER")) return CURLOPT_HTTPHEADER; | |
if (strEQ(name, "HTTPPOST")) return CURLOPT_HTTPPOST; | |
if (strEQ(name, "HTTPPROXYTUNNEL")) return CURLOPT_HTTPPROXYTUNNEL; | |
if (strEQ(name, "HTTP_CONTENT_DECODING")) return CURLOPT_HTTP_CONTENT_DECODING; | |
if (strEQ(name, "HTTP_TRANSFER_DECODING")) return CURLOPT_HTTP_TRANSFER_DECODING; | |
if (strEQ(name, "HTTP_VERSION")) return CURLOPT_HTTP_VERSION; | |
break; | |
case 'I': | |
if (strEQ(name, "IGNORE_CONTENT_LENGTH")) return CURLOPT_IGNORE_CONTENT_LENGTH; | |
if (strEQ(name, "INFILE")) return CURLOPT_INFILE; | |
if (strEQ(name, "INFILESIZE")) return CURLOPT_INFILESIZE; | |
if (strEQ(name, "INFILESIZE_LARGE")) return CURLOPT_INFILESIZE_LARGE; | |
if (strEQ(name, "INTERFACE")) return CURLOPT_INTERFACE; | |
if (strEQ(name, "INTERLEAVEDATA")) return CURLOPT_INTERLEAVEDATA; | |
if (strEQ(name, "INTERLEAVEFUNCTION")) return CURLOPT_INTERLEAVEFUNCTION; | |
if (strEQ(name, "IOCTLDATA")) return CURLOPT_IOCTLDATA; | |
if (strEQ(name, "IOCTLFUNCTION")) return CURLOPT_IOCTLFUNCTION; | |
if (strEQ(name, "IPRESOLVE")) return CURLOPT_IPRESOLVE; | |
if (strEQ(name, "ISSUERCERT")) return CURLOPT_ISSUERCERT; | |
break; | |
case 'J': | |
case 'K': | |
if (strEQ(name, "KEYPASSWD")) return CURLOPT_KEYPASSWD; | |
if (strEQ(name, "KRB4LEVEL")) return CURLOPT_KRBLEVEL; | |
if (strEQ(name, "KRBLEVEL")) return CURLOPT_KRBLEVEL; | |
break; | |
case 'L': | |
if (strEQ(name, "LOCALPORT")) return CURLOPT_LOCALPORT; | |
if (strEQ(name, "LOCALPORTRANGE")) return CURLOPT_LOCALPORTRANGE; | |
if (strEQ(name, "LOW_SPEED_LIMIT")) return CURLOPT_LOW_SPEED_LIMIT; | |
if (strEQ(name, "LOW_SPEED_TIME")) return CURLOPT_LOW_SPEED_TIME; | |
break; | |
case 'M': | |
if (strEQ(name, "MAIL_FROM")) return CURLOPT_MAIL_FROM; | |
if (strEQ(name, "MAIL_RCPT")) return CURLOPT_MAIL_RCPT; | |
if (strEQ(name, "MAXCONNECTS")) return CURLOPT_MAXCONNECTS; | |
if (strEQ(name, "MAXFILESIZE")) return CURLOPT_MAXFILESIZE; | |
if (strEQ(name, "MAXFILESIZE_LARGE")) return CURLOPT_MAXFILESIZE_LARGE; | |
if (strEQ(name, "MAXREDIRS")) return CURLOPT_MAXREDIRS; | |
if (strEQ(name, "MAX_RECV_SPEED_LARGE")) return CURLOPT_MAX_RECV_SPEED_LARGE; | |
if (strEQ(name, "MAX_SEND_SPEED_LARGE")) return CURLOPT_MAX_SEND_SPEED_LARGE; | |
break; | |
case 'N': | |
if (strEQ(name, "NETRC")) return CURLOPT_NETRC; | |
if (strEQ(name, "NETRC_FILE")) return CURLOPT_NETRC_FILE; | |
if (strEQ(name, "NEW_DIRECTORY_PERMS")) return CURLOPT_NEW_DIRECTORY_PERMS; | |
if (strEQ(name, "NEW_FILE_PERMS")) return CURLOPT_NEW_FILE_PERMS; | |
if (strEQ(name, "NOBODY")) return CURLOPT_NOBODY; | |
if (strEQ(name, "NOPROGRESS")) return CURLOPT_NOPROGRESS; | |
if (strEQ(name, "NOPROXY")) return CURLOPT_NOPROXY; | |
if (strEQ(name, "NOSIGNAL")) return CURLOPT_NOSIGNAL; | |
break; | |
case 'O': | |
if (strEQ(name, "OPENSOCKETDATA")) return CURLOPT_OPENSOCKETDATA; | |
if (strEQ(name, "OPENSOCKETFUNCTION")) return CURLOPT_OPENSOCKETFUNCTION; | |
break; | |
case 'P': | |
if (strEQ(name, "PASSWORD")) return CURLOPT_PASSWORD; | |
if (strEQ(name, "PORT")) return CURLOPT_PORT; | |
if (strEQ(name, "POST")) return CURLOPT_POST; | |
if (strEQ(name, "POST301")) return CURLOPT_POSTREDIR; | |
if (strEQ(name, "POSTFIELDS")) return CURLOPT_POSTFIELDS; | |
if (strEQ(name, "POSTFIELDSIZE")) return CURLOPT_POSTFIELDSIZE; | |
if (strEQ(name, "POSTFIELDSIZE_LARGE")) return CURLOPT_POSTFIELDSIZE_LARGE; | |
if (strEQ(name, "POSTQUOTE")) return CURLOPT_POSTQUOTE; | |
if (strEQ(name, "POSTREDIR")) return CURLOPT_POSTREDIR; | |
if (strEQ(name, "PREQUOTE")) return CURLOPT_PREQUOTE; | |
if (strEQ(name, "PRIVATE")) return CURLOPT_PRIVATE; | |
if (strEQ(name, "PROGRESSDATA")) return CURLOPT_PROGRESSDATA; | |
if (strEQ(name, "PROGRESSFUNCTION")) return CURLOPT_PROGRESSFUNCTION; | |
if (strEQ(name, "PROTOCOLS")) return CURLOPT_PROTOCOLS; | |
if (strEQ(name, "PROXY")) return CURLOPT_PROXY; | |
if (strEQ(name, "PROXYAUTH")) return CURLOPT_PROXYAUTH; | |
if (strEQ(name, "PROXYPASSWORD")) return CURLOPT_PROXYPASSWORD; | |
if (strEQ(name, "PROXYPORT")) return CURLOPT_PROXYPORT; | |
if (strEQ(name, "PROXYTYPE")) return CURLOPT_PROXYTYPE; | |
if (strEQ(name, "PROXYUSERNAME")) return CURLOPT_PROXYUSERNAME; | |
if (strEQ(name, "PROXYUSERPWD")) return CURLOPT_PROXYUSERPWD; | |
if (strEQ(name, "PROXY_TRANSFER_MODE")) return CURLOPT_PROXY_TRANSFER_MODE; | |
if (strEQ(name, "PUT")) return CURLOPT_PUT; | |
break; | |
case 'Q': | |
if (strEQ(name, "QUOTE")) return CURLOPT_QUOTE; | |
break; | |
case 'R': | |
if (strEQ(name, "RANDOM_FILE")) return CURLOPT_RANDOM_FILE; | |
if (strEQ(name, "RANGE")) return CURLOPT_RANGE; | |
if (strEQ(name, "READDATA")) return CURLOPT_INFILE; | |
if (strEQ(name, "READFUNCTION")) return CURLOPT_READFUNCTION; | |
if (strEQ(name, "REDIR_PROTOCOLS")) return CURLOPT_REDIR_PROTOCOLS; | |
if (strEQ(name, "REFERER")) return CURLOPT_REFERER; | |
if (strEQ(name, "RESUME_FROM")) return CURLOPT_RESUME_FROM; | |
if (strEQ(name, "RESUME_FROM_LARGE")) return CURLOPT_RESUME_FROM_LARGE; | |
if (strEQ(name, "RTSPHEADER")) return CURLOPT_HTTPHEADER; | |
if (strEQ(name, "RTSP_CLIENT_CSEQ")) return CURLOPT_RTSP_CLIENT_CSEQ; | |
if (strEQ(name, "RTSP_REQUEST")) return CURLOPT_RTSP_REQUEST; | |
if (strEQ(name, "RTSP_SERVER_CSEQ")) return CURLOPT_RTSP_SERVER_CSEQ; | |
if (strEQ(name, "RTSP_SESSION_ID")) return CURLOPT_RTSP_SESSION_ID; | |
if (strEQ(name, "RTSP_STREAM_URI")) return CURLOPT_RTSP_STREAM_URI; | |
if (strEQ(name, "RTSP_TRANSPORT")) return CURLOPT_RTSP_TRANSPORT; | |
break; | |
case 'S': | |
if (strEQ(name, "SEEKDATA")) return CURLOPT_SEEKDATA; | |
if (strEQ(name, "SEEKFUNCTION")) return CURLOPT_SEEKFUNCTION; | |
if (strEQ(name, "SERVER_RESPONSE_TIMEOUT")) return CURLOPT_FTP_RESPONSE_TIMEOUT; | |
if (strEQ(name, "SHARE")) return CURLOPT_SHARE; | |
if (strEQ(name, "SOCKOPTDATA")) return CURLOPT_SOCKOPTDATA; | |
if (strEQ(name, "SOCKOPTFUNCTION")) return CURLOPT_SOCKOPTFUNCTION; | |
if (strEQ(name, "SOCKS5_GSSAPI_NEC")) return CURLOPT_SOCKS5_GSSAPI_NEC; | |
if (strEQ(name, "SOCKS5_GSSAPI_SERVICE")) return CURLOPT_SOCKS5_GSSAPI_SERVICE; | |
if (strEQ(name, "SSH_AUTH_TYPES")) return CURLOPT_SSH_AUTH_TYPES; | |
if (strEQ(name, "SSH_HOST_PUBLIC_KEY_MD5")) return CURLOPT_SSH_HOST_PUBLIC_KEY_MD5; | |
if (strEQ(name, "SSH_KEYDATA")) return CURLOPT_SSH_KEYDATA; | |
if (strEQ(name, "SSH_KEYFUNCTION")) return CURLOPT_SSH_KEYFUNCTION; | |
if (strEQ(name, "SSH_KNOWNHOSTS")) return CURLOPT_SSH_KNOWNHOSTS; | |
if (strEQ(name, "SSH_PRIVATE_KEYFILE")) return CURLOPT_SSH_PRIVATE_KEYFILE; | |
if (strEQ(name, "SSH_PUBLIC_KEYFILE")) return CURLOPT_SSH_PUBLIC_KEYFILE; | |
if (strEQ(name, "SSLCERT")) return CURLOPT_SSLCERT; | |
if (strEQ(name, "SSLCERTPASSWD")) return CURLOPT_KEYPASSWD; | |
if (strEQ(name, "SSLCERTTYPE")) return CURLOPT_SSLCERTTYPE; | |
if (strEQ(name, "SSLENGINE")) return CURLOPT_SSLENGINE; | |
if (strEQ(name, "SSLENGINE_DEFAULT")) return CURLOPT_SSLENGINE_DEFAULT; | |
if (strEQ(name, "SSLKEY")) return CURLOPT_SSLKEY; | |
if (strEQ(name, "SSLKEYPASSWD")) return CURLOPT_KEYPASSWD; | |
if (strEQ(name, "SSLKEYTYPE")) return CURLOPT_SSLKEYTYPE; | |
if (strEQ(name, "SSLVERSION")) return CURLOPT_SSLVERSION; | |
if (strEQ(name, "SSL_CIPHER_LIST")) return CURLOPT_SSL_CIPHER_LIST; | |
if (strEQ(name, "SSL_CTX_DATA")) return CURLOPT_SSL_CTX_DATA; | |
if (strEQ(name, "SSL_CTX_FUNCTION")) return CURLOPT_SSL_CTX_FUNCTION; | |
if (strEQ(name, "SSL_SESSIONID_CACHE")) return CURLOPT_SSL_SESSIONID_CACHE; | |
if (strEQ(name, "SSL_VERIFYHOST")) return CURLOPT_SSL_VERIFYHOST; | |
if (strEQ(name, "SSL_VERIFYPEER")) return CURLOPT_SSL_VERIFYPEER; | |
if (strEQ(name, "STDERR")) return CURLOPT_STDERR; | |
break; | |
case 'T': | |
if (strEQ(name, "TCP_NODELAY")) return CURLOPT_TCP_NODELAY; | |
if (strEQ(name, "TELNETOPTIONS")) return CURLOPT_TELNETOPTIONS; | |
if (strEQ(name, "TFTP_BLKSIZE")) return CURLOPT_TFTP_BLKSIZE; | |
if (strEQ(name, "TIMECONDITION")) return CURLOPT_TIMECONDITION; | |
if (strEQ(name, "TIMEOUT")) return CURLOPT_TIMEOUT; | |
if (strEQ(name, "TIMEOUT_MS")) return CURLOPT_TIMEOUT_MS; | |
if (strEQ(name, "TIMEVALUE")) return CURLOPT_TIMEVALUE; | |
if (strEQ(name, "TRANSFERTEXT")) return CURLOPT_TRANSFERTEXT; | |
break; | |
case 'U': | |
if (strEQ(name, "UNRESTRICTED_AUTH")) return CURLOPT_UNRESTRICTED_AUTH; | |
if (strEQ(name, "UPLOAD")) return CURLOPT_UPLOAD; | |
if (strEQ(name, "URL")) return CURLOPT_URL; | |
if (strEQ(name, "USERAGENT")) return CURLOPT_USERAGENT; | |
if (strEQ(name, "USERNAME")) return CURLOPT_USERNAME; | |
if (strEQ(name, "USERPWD")) return CURLOPT_USERPWD; | |
if (strEQ(name, "USE_SSL")) return CURLOPT_USE_SSL; | |
break; | |
case 'V': | |
if (strEQ(name, "VERBOSE")) return CURLOPT_VERBOSE; | |
break; | |
case 'W': | |
if (strEQ(name, "WRITEDATA")) return CURLOPT_FILE; | |
if (strEQ(name, "WRITEFUNCTION")) return CURLOPT_WRITEFUNCTION; | |
if (strEQ(name, "WRITEHEADER")) return CURLOPT_WRITEHEADER; | |
if (strEQ(name, "WRITEINFO")) return CURLOPT_WRITEINFO; | |
break; | |
case 'X': | |
case 'Y': | |
case 'Z': | |
break; | |
}; | |
} | |
if (strncmp(name, "CURLPROXY_", 10) == 0) { | |
name += 10; | |
switch (*name) { | |
case 'A': | |
case 'B': | |
case 'C': | |
case 'D': | |
case 'E': | |
case 'F': | |
case 'G': | |
case 'H': | |
if (strEQ(name, "HTTP")) return CURLPROXY_HTTP; | |
if (strEQ(name, "HTTP_1_0")) return CURLPROXY_HTTP_1_0; | |
break; | |
case 'I': | |
case 'J': | |
case 'K': | |
case 'L': | |
case 'M': | |
case 'N': | |
case 'O': | |
case 'P': | |
case 'Q': | |
case 'R': | |
case 'S': | |
if (strEQ(name, "SOCKS4")) return CURLPROXY_SOCKS4; | |
if (strEQ(name, "SOCKS4A")) return CURLPROXY_SOCKS4A; | |
if (strEQ(name, "SOCKS5")) return CURLPROXY_SOCKS5; | |
if (strEQ(name, "SOCKS5_HOSTNAME")) return CURLPROXY_SOCKS5_HOSTNAME; | |
break; | |
case 'T': | |
case 'U': | |
case 'V': | |
case 'W': | |
case 'X': | |
case 'Y': | |
case 'Z': | |
break; | |
}; | |
} | |
if (strncmp(name, "CURLSHOPT_", 10) == 0) { | |
name += 10; | |
switch (*name) { | |
case 'A': | |
case 'B': | |
case 'C': | |
case 'D': | |
case 'E': | |
case 'F': | |
case 'G': | |
case 'H': | |
case 'I': | |
case 'J': | |
case 'K': | |
case 'L': | |
if (strEQ(name, "LAST")) return CURLSHOPT_LAST; | |
if (strEQ(name, "LOCKFUNC")) return CURLSHOPT_LOCKFUNC; | |
break; | |
case 'M': | |
case 'N': | |
if (strEQ(name, "NONE")) return CURLSHOPT_NONE; | |
break; | |
case 'O': | |
case 'P': | |
case 'Q': | |
case 'R': | |
case 'S': | |
if (strEQ(name, "SHARE")) return CURLSHOPT_SHARE; | |
break; | |
case 'T': | |
case 'U': | |
if (strEQ(name, "UNLOCKFUNC")) return CURLSHOPT_UNLOCKFUNC; | |
if (strEQ(name, "UNSHARE")) return CURLSHOPT_UNSHARE; | |
if (strEQ(name, "USERDATA")) return CURLSHOPT_USERDATA; | |
break; | |
case 'V': | |
case 'W': | |
case 'X': | |
case 'Y': | |
case 'Z': | |
break; | |
}; | |
} | |
if (strncmp(name, "CURL_LOCK_DATA_", 15) == 0) { | |
name += 15; | |
switch (*name) { | |
case 'A': | |
case 'B': | |
case 'C': | |
if (strEQ(name, "CONNECT")) return CURL_LOCK_DATA_CONNECT; | |
if (strEQ(name, "COOKIE")) return CURL_LOCK_DATA_COOKIE; | |
break; | |
case 'D': | |
if (strEQ(name, "DNS")) return CURL_LOCK_DATA_DNS; | |
break; | |
case 'E': | |
case 'F': | |
case 'G': | |
case 'H': | |
case 'I': | |
case 'J': | |
case 'K': | |
case 'L': | |
if (strEQ(name, "LAST")) return CURL_LOCK_DATA_LAST; | |
break; | |
case 'M': | |
case 'N': | |
if (strEQ(name, "NONE")) return CURL_LOCK_DATA_NONE; | |
break; | |
case 'O': | |
case 'P': | |
case 'Q': | |
case 'R': | |
case 'S': | |
if (strEQ(name, "SHARE")) return CURL_LOCK_DATA_SHARE; | |
if (strEQ(name, "SSL_SESSION")) return CURL_LOCK_DATA_SSL_SESSION; | |
break; | |
case 'T': | |
case 'U': | |
case 'V': | |
case 'W': | |
case 'X': | |
case 'Y': | |
case 'Z': | |
break; | |
}; | |
} | |
if (strncmp(name, "CURL_NETRC_", 11) == 0) { | |
name += 11; | |
switch (*name) { | |
case 'A': | |
case 'B': | |
case 'C': | |
case 'D': | |
case 'E': | |
case 'F': | |
case 'G': | |
case 'H': | |
case 'I': | |
if (strEQ(name, "IGNORED")) return CURL_NETRC_IGNORED; | |
break; | |
case 'J': | |
case 'K': | |
case 'L': | |
if (strEQ(name, "LAST")) return CURL_NETRC_LAST; | |
break; | |
case 'M': | |
case 'N': | |
case 'O': | |
if (strEQ(name, "OPTIONAL")) return CURL_NETRC_OPTIONAL; | |
break; | |
case 'P': | |
case 'Q': | |
case 'R': | |
if (strEQ(name, "REQUIRED")) return CURL_NETRC_REQUIRED; | |
break; | |
case 'S': | |
case 'T': | |
case 'U': | |
case 'V': | |
case 'W': | |
case 'X': | |
case 'Y': | |
case 'Z': | |
break; | |
}; | |
} | |
errno = EINVAL; | |
return 0; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment