1
0
mirror of https://github.com/moparisthebest/curl synced 2024-10-31 23:55:01 -04:00
curl/packages/OS400/curl.inc.in

2443 lines
108 KiB
PHP
Raw Normal View History

2007-08-23 10:30:24 -04:00
**************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.
2007-08-23 10:30:24 -04:00
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
* are also available at https://curl.haxx.se/docs/copyright.html.
2007-08-23 10:30:24 -04:00
*
* You may opt to use, copy, modify, merge, publish, distribute and/or sell
* copies of the Software, and permit persons to whom the Software is
* furnished to do so, under the terms of the COPYING file.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
* ANY KIND, either express or implied.
*
*
**************************************************************************
*
/if not defined(CURL_CURL_INC_)
/define CURL_CURL_INC_
*
* WARNING: this file should be kept in sync with C include files.
*
**************************************************************************
* Constants
**************************************************************************
*
d LIBCURL_VERSION...
d c '@LIBCURL_VERSION@'
d LIBCURL_VERSION_MAJOR...
d c @LIBCURL_VERSION_MAJOR@
d LIBCURL_VERSION_MINOR...
d c @LIBCURL_VERSION_MINOR@
d LIBCURL_VERSION_PATCH...
d c @LIBCURL_VERSION_PATCH@
d LIBCURL_VERSION_NUM...
d c X'00@LIBCURL_VERSION_NUM@'
d LIBCURL_TIMESTAMP...
d c '@LIBCURL_TIMESTAMP@'
*
d CURL_SOCKET_BAD...
d c -1
d CURL_SOCKET_TIMEOUT...
d c -1
*
/if not defined(CURL_MAX_WRITE_SIZE)
/define CURL_MAX_WRITE_SIZE
d CURL_MAX_WRITE_SIZE...
d c 16384
/endif
*
/if not defined(CURL_MAX_HTTP_HEADER)
/define CURL_MAX_HTTP_HEADER
d CURL_MAX_HTTP_HEADER...
d c 102400
/endif
*
2007-08-23 10:30:24 -04:00
d CURLINFO_STRING...
d c X'00100000'
d CURLINFO_LONG c X'00200000'
d CURLINFO_DOUBLE...
d c X'00300000'
d CURLINFO_SLIST c X'00400000'
d CURLINFO_SOCKET...
d c X'00500000'
2007-08-23 10:30:24 -04:00
d CURLINFO_MASK c X'000FFFFF'
d CURLINFO_TYPEMASK...
d c X'00F00000'
*
d CURL_GLOBAL_SSL...
d c X'00000001'
d CURL_GLOBAL_WIN32...
d c X'00000002'
d CURL_GLOBAL_ALL...
d c X'00000003'
d CURL_GLOBAL_NOTHING...
d c X'00000000'
d CURL_GLOBAL_DEFAULT...
d c X'00000003'
2013-03-12 10:37:34 -04:00
d CURL_GLOBAL_ACK_EINTR...
d c X'00000004'
2007-08-23 10:30:24 -04:00
*
d CURL_VERSION_IPV6...
d c X'00000001'
d CURL_VERSION_KERBEROS4...
d c X'00000002'
d CURL_VERSION_SSL...
d c X'00000004'
d CURL_VERSION_LIBZ...
d c X'00000008'
d CURL_VERSION_NTLM...
d c X'00000010'
d CURL_VERSION_GSSNEGOTIATE...
d c X'00000020' Deprecated
2007-08-23 10:30:24 -04:00
d CURL_VERSION_DEBUG...
d c X'00000040'
d CURL_VERSION_ASYNCHDNS...
d c X'00000080'
d CURL_VERSION_SPNEGO...
d c X'00000100'
d CURL_VERSION_LARGEFILE...
d c X'00000200'
d CURL_VERSION_IDN...
d c X'00000400'
d CURL_VERSION_SSPI...
d c X'00000800'
d CURL_VERSION_CONV...
d c X'00001000'
d CURL_VERSION_CURLDEBUG...
d c X'00002000'
d CURL_VERSION_TLSAUTH_SRP...
d c X'00004000'
d CURL_VERSION_NTLM_WB...
d c X'00008000'
d CURL_VERSION_HTTP2...
d c X'00010000'
d CURL_VERSION_GSSAPI...
d c X'00020000'
d CURL_VERSION_KERBEROS5...
d c X'00040000'
libcurl: add UNIX domain sockets support The ability to do HTTP requests over a UNIX domain socket has been requested before, in Apr 2008 [0][1] and Sep 2010 [2]. While a discussion happened, no patch seems to get through. I decided to give it a go since I need to test a nginx HTTP server which listens on a UNIX domain socket. One patch [3] seems to make it possible to use the CURLOPT_OPENSOCKETFUNCTION function to gain a UNIX domain socket. Another person wrote a Go program which can do HTTP over a UNIX socket for Docker[4] which uses a special URL scheme (though the name contains cURL, it has no relation to the cURL library). This patch considers support for UNIX domain sockets at the same level as HTTP proxies / IPv6, it acts as an intermediate socket provider and not as a separate protocol. Since this feature affects network operations, a new feature flag was added ("unix-sockets") with a corresponding CURL_VERSION_UNIX_SOCKETS macro. A new CURLOPT_UNIX_SOCKET_PATH option is added and documented. This option enables UNIX domain sockets support for all requests on the handle (replacing IP sockets and skipping proxies). A new configure option (--enable-unix-sockets) and CMake option (ENABLE_UNIX_SOCKETS) can disable this optional feature. Note that I deliberately did not mark this feature as advanced, this is a feature/component that should easily be available. [0]: http://curl.haxx.se/mail/lib-2008-04/0279.html [1]: http://daniel.haxx.se/blog/2008/04/14/http-over-unix-domain-sockets/ [2]: http://sourceforge.net/p/curl/feature-requests/53/ [3]: http://curl.haxx.se/mail/lib-2008-04/0361.html [4]: https://github.com/Soulou/curl-unix-socket Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-27 17:59:25 -05:00
d CURL_VERSION_UNIX_SOCKETS...
d c X'00080000'
d CURL_VERSION_PSL...
d c X'00100000'
d CURL_VERSION_HTTPS_PROXY...
d c X'00200000'
2007-08-23 10:30:24 -04:00
*
d CURL_HTTPPOST_FILENAME...
2007-08-23 10:30:24 -04:00
d c X'00000001'
d CURL_HTTPPOST_READFILE...
2007-08-23 10:30:24 -04:00
d c X'00000002'
d CURL_HTTPPOST_PTRNAME...
2007-08-23 10:30:24 -04:00
d c X'00000004'
d CURL_HTTPPOST_PTRCONTENTS...
2007-08-23 10:30:24 -04:00
d c X'00000008'
d CURL_HTTPPOST_BUFFER...
2007-08-23 10:30:24 -04:00
d c X'00000010'
d CURL_HTTPPOST_PTRBUFFER...
2007-08-23 10:30:24 -04:00
d c X'00000020'
d CURL_HTTPPOST_CALLBACK...
d c X'00000040'
d CURL_HTTPPOST_LARGE...
d c X'00000080'
2007-08-23 10:30:24 -04:00
*
d CURL_SEEKFUNC_OK...
d c 0
d CURL_SEEKFUNC_FAIL...
d c 1
d CURL_SEEKFUNC_CANTSEEK...
d c 2
*
2007-08-23 10:30:24 -04:00
d CURL_READFUNC_ABORT...
d c X'10000000'
d CURL_READFUNC_PAUSE...
d c X'10000001'
*
d CURL_WRITEFUNC_PAUSE...
d c X'10000001'
2007-08-23 10:30:24 -04:00
*
d CURLAUTH_NONE c X'00000000'
d CURLAUTH_BASIC c X'00000001'
d CURLAUTH_DIGEST...
d c X'00000002'
d CURLAUTH_NEGOTIATE...
2007-08-23 10:30:24 -04:00
d c X'00000004'
d CURLAUTH_NTLM c X'00000008'
d CURLAUTH_DIGEST_IE...
d c X'00000010'
d CURLAUTH_NTLM_WB...
d c X'00000020'
d CURLAUTH_ONLY...
d c X'80000000'
d CURLAUTH_ANY c X'7FFFFFEF'
2007-08-23 10:30:24 -04:00
d CURLAUTH_ANYSAFE...
d c X'7FFFFFEE'
2007-08-23 10:30:24 -04:00
*
d CURLSSH_AUTH_ANY...
d c X'7FFFFFFF'
d CURLSSH_AUTH_NONE...
d c X'00000000'
d CURLSSH_AUTH_PUBLICKEY...
d c X'00000001'
d CURLSSH_AUTH_PASSWORD...
d c X'00000002'
d CURLSSH_AUTH_HOST...
d c X'00000004'
d CURLSSH_AUTH_KEYBOARD...
d c X'00000008'
d CURLSSH_AUTH_AGENT...
d c X'00000010'
2007-08-23 10:30:24 -04:00
d CURLSSH_AUTH_DEFAULT...
d c X'7FFFFFFF' CURLSSH_AUTH_ANY
*
d CURLGSSAPI_DELEGATION_NONE...
d c 0
d CURLGSSAPI_DELEGATION_POLICY_FLAG...
d c X'00000001'
d CURLGSSAPI_DELEGATION_FLAG...
d c X'00000002'
*
2007-08-23 10:30:24 -04:00
d CURL_ERROR_SIZE...
d c 256
*
d CURLOPTTYPE_LONG...
d c 0
d CURLOPTTYPE_OBJECTPOINT...
d c 10000
2015-11-19 07:52:06 -05:00
d CURLOPTTYPE_STRINGPOINT...
d c 10000
2007-08-23 10:30:24 -04:00
d CURLOPTTYPE_FUNCTIONPOINT...
d c 20000
d CURLOPTTYPE_OFF_T...
d c 30000
*
d CURL_IPRESOLVE_WHATEVER...
d c 0
d CURL_IPRESOLVE_V4...
d c 1
d CURL_IPRESOLVE_V6...
d c 2
*
d CURL_HTTP_VERSION_NONE...
d c 0
d CURL_HTTP_VERSION_1_0...
d c 1
d CURL_HTTP_VERSION_1_1...
d c 2
d CURL_HTTP_VERSION_2_0...
d c 3
d CURL_HTTP_VERSION_2...
d c 3
d CURL_HTTP_VERSION_2TLS...
d c 4
2016-04-22 10:50:30 -04:00
d CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE...
d c 5
2007-08-23 10:30:24 -04:00
*
d CURL_NETRC_IGNORED...
d c 0
d CURL_NETRC_OPTIONAL...
d c 1
d CURL_NETRC_REQUIRED...
d c 2
*
d CURL_SSLVERSION_DEFAULT...
d c 0
d CURL_SSLVERSION_TLSv1...
d c 1
d CURL_SSLVERSION_SSLv2...
d c 2
d CURL_SSLVERSION_SSLv3...
d c 3
d CURL_SSLVERSION_TLSv1_0...
d c 4
d CURL_SSLVERSION_TLSv1_1...
d c 5
d CURL_SSLVERSION_TLSv1_2...
d c 6
d CURL_SSLVERSION_TLSv1_3...
d c 7
d CURL_SSLVERSION_MAX_DEFAULT...
d c X'00010000'
d CURL_SSLVERSION_MAX_TLSv1_0...
d c X'00040000'
d CURL_SSLVERSION_MAX_TLSv1_1...
d c X'00050000'
d CURL_SSLVERSION_MAX_TLSv1_2...
d c X'00060000'
d CURL_SSLVERSION_MAX_TLSv1_3...
d c X'00070000'
*
d CURL_TLSAUTH_NONE...
d c 0
d CURL_TLSAUTH_SRP...
d c 1
*
d CURL_REDIR_GET_ALL...
d c 0
d CURL_REDIR_POST_301...
d c 1
d CURL_REDIR_POST_302...
d c 2
d CURL_REDIR_POST_303...
d c 4
d CURL_REDIR_POST_ALL...
d c 7
2007-08-23 10:30:24 -04:00
*
d CURL_POLL_NONE c 0
d CURL_POLL_IN c 1
d CURL_POLL_OUT c 2
d CURL_POLL_INOUT...
d c 3
d CURL_POLL_REMOVE...
d c 4
*
d CURL_CSELECT_IN...
d c X'00000001'
d CURL_CSELECT_OUT...
d c X'00000002'
d CURL_CSELECT_ERR...
d c X'00000004'
*
d CURL_PUSH_OK c 0
d CURL_PUSH_DENY c 1
*
d CURLPAUSE_RECV c X'00000001'
d CURLPAUSE_RECV_CONT...
d c X'00000000'
d CURLPAUSE_SEND c X'00000004'
d CURLPAUSE_SEND_CONT...
d c X'00000000'
d CURLPAUSE_ALL c X'00000005'
d CURLPAUSE_CONT c X'00000000'
*
d CURLINFOFLAG_KNOWN_FILENAME...
d c X'00000001'
d CURLINFOFLAG_KNOWN_FILETYPE...
d c X'00000002'
d CURLINFOFLAG_KNOWN_TIME...
d c X'00000004'
d CURLINFOFLAG_KNOWN_PERM...
d c X'00000008'
d CURLINFOFLAG_KNOWN_UID...
d c X'00000010'
d CURLINFOFLAG_KNOWN_GID...
d c X'00000020'
d CURLINFOFLAG_KNOWN_SIZE...
d c X'00000040'
d CURLINFOFLAG_KNOWN_HLINKCOUNT...
d c X'00000080'
*
d CURL_CHUNK_BGN_FUNC_OK...
d c 0
d CURL_CHUNK_BGN_FUNC_FAIL...
d c 1
d CURL_CHUNK_BGN_FUNC_SKIP...
d c 2
*
d CURL_CHUNK_END_FUNC_OK...
d c 0
d CURL_CHUNK_END_FUNC_FAIL...
d c 1
*
d CURL_FNMATCHFUNC_MATCH...
d c 0
d CURL_FNMATCHFUNC_NOMATCH...
d c 1
d CURL_FNMATCHFUNC_FAIL...
d c 2
*
d CURL_WAIT_POLLIN...
d c X'0001'
d CURL_WAIT_POLLPRI...
d c X'0002'
d CURL_WAIT_POLLOUT...
d c X'0004'
*
2007-08-23 10:30:24 -04:00
**************************************************************************
* Types
**************************************************************************
*
d curl_socket_t s 10i 0 based(######ptr######)
*
d curl_off_t s 20i 0 based(######ptr######)
*
d CURLcode s 10i 0 based(######ptr######) Enum
d CURLE_OK c 0
d CURLE_UNSUPPORTED_PROTOCOL...
d c 1
d CURLE_FAILED_INIT...
d c 2
d CURLE_URL_MALFORMAT...
d c 3
d CURLE_NOT_BUILT_IN...
2007-08-23 10:30:24 -04:00
d c 4
d CURLE_COULDNT_RESOLVE_PROXY...
d c 5
d CURLE_COULDNT_RESOLVE_HOST...
d c 6
d CURLE_COULDNT_CONNECT...
d c 7
d CURLE_WEIRD_SERVER_REPLY...
d c 8
2007-08-23 10:30:24 -04:00
d CURLE_FTP_WEIRD_SERVER_REPLY...
d c 8
d CURLE_REMOTE_ACCESS_DENIED...
2007-08-23 10:30:24 -04:00
d c 9
d CURLE_FTP_ACCEPT_FAILED...
2007-08-23 10:30:24 -04:00
d c 10
d CURLE_FTP_WEIRD_PASS_REPLY...
d c 11
d CURLE_FTP_ACCEPT_TIMEOUT...
2007-08-23 10:30:24 -04:00
d c 12
d CURLE_FTP_WEIRD_PASV_REPLY...
d c 13
d CURLE_FTP_WEIRD_227_FORMAT...
d c 14
d CURLE_FTP_CANT_GET_HOST...
d c 15
d CURLE_HTTP2 c 16
d CURLE_FTP_COULDNT_SET_TYPE...
2007-08-23 10:30:24 -04:00
d c 17
d CURLE_PARTIAL_FILE...
d c 18
d CURLE_FTP_COULDNT_RETR_FILE...
d c 19
d CURLE_OBSOLETE20...
2007-08-23 10:30:24 -04:00
d c 20
d CURLE_QUOTE_ERROR...
2007-08-23 10:30:24 -04:00
d c 21
d CURLE_HTTP_RETURNED_ERROR...
d c 22
d CURLE_WRITE_ERROR...
d c 23
d CURLE_OBSOLETE24...
2007-08-23 10:30:24 -04:00
d c 24
d CURLE_UPLOAD_FAILED...
d c 25
d CURLE_READ_ERROR...
d c 26
d CURLE_OUT_OF_MEMORY...
d c 27
d CURLE_OPERATION_TIMEDOUT...
d c 28
d CURLE_OBSOLETE29...
2007-08-23 10:30:24 -04:00
d c 29
d CURLE_FTP_PORT_FAILED...
d c 30
d CURLE_FTP_COULDNT_USE_REST...
d c 31
d CURLE_OBSOLETE32...
2007-08-23 10:30:24 -04:00
d c 32
d CURLE_RANGE_ERROR...
2007-08-23 10:30:24 -04:00
d c 33
d CURLE_HTTP_POST_ERROR...
d c 34
d CURLE_SSL_CONNECT_ERROR...
d c 35
d CURLE_BAD_DOWNLOAD_RESUME...
d c 36
d CURLE_FILE_COULDNT_READ_FILE...
d c 37
d CURLE_LDAP_CANNOT_BIND...
d c 38
d CURLE_LDAP_SEARCH_FAILED...
d c 39
d CURLE_OBSOLETE40...
2007-08-23 10:30:24 -04:00
d c 40
d CURLE_FUNCTION_NOT_FOUND...
d c 41
d CURLE_ABORTED_BY_CALLBACK...
d c 42
d CURLE_BAD_FUNCTION_ARGUMENT...
d c 43
d CURLE_OBSOLETE44...
2007-08-23 10:30:24 -04:00
d c 44
d CURLE_INTERFACE_FAILED...
d c 45
d CURLE_OBSOLETE46...
2007-08-23 10:30:24 -04:00
d c 46
d CURLE_TOO_MANY_REDIRECTS...
d c 47
d CURLE_UNKNOWN_OPTION...
2007-08-23 10:30:24 -04:00
d c 48
d CURLE_TELNET_OPTION_SYNTAX...
d c 49
d CURLE_OBSOLETE50...
2007-08-23 10:30:24 -04:00
d c 50
d CURLE_PEER_FAILED_VERIFICATION...
2007-08-23 10:30:24 -04:00
d c 51
d CURLE_GOT_NOTHING...
d c 52
d CURLE_SSL_ENGINE_NOTFOUND...
d c 53
d CURLE_SSL_ENGINE_SETFAILED...
d c 54
d CURLE_SEND_ERROR...
d c 55
d CURLE_RECV_ERROR...
d c 56
d CURLE_OBSOLETE57...
2007-08-23 10:30:24 -04:00
d c 57
d CURLE_SSL_CERTPROBLEM...
d c 58
d CURLE_SSL_CIPHER...
d c 59
d CURLE_SSL_CACERT...
d c 60
d CURLE_BAD_CONTENT_ENCODING...
d c 61
d CURLE_LDAP_INVALID_URL...
d c 62
d CURLE_FILESIZE_EXCEEDED...
d c 63
d CURLE_USE_SSL_FAILED...
2007-08-23 10:30:24 -04:00
d c 64
d CURLE_SEND_FAIL_REWIND...
d c 65
d CURLE_SSL_ENGINE_INITFAILED...
d c 66
d CURLE_LOGIN_DENIED...
d c 67
d CURLE_TFTP_NOTFOUND...
d c 68
d CURLE_TFTP_PERM...
d c 69
d CURLE_REMOTE_DISK_FULL...
2007-08-23 10:30:24 -04:00
d c 70
d CURLE_TFTP_ILLEGAL...
d c 71
d CURLE_TFTP_UNKNOWNID...
d c 72
d CURLE_REMOTE_FILE_EXISTS...
2007-08-23 10:30:24 -04:00
d c 73
d CURLE_TFTP_NOSUCHUSER...
d c 74
d CURLE_CONV_FAILED...
d c 75
d CURLE_CONV_REQD...
d c 76
d CURLE_SSL_CACERT_BADFILE...
d c 77
d CURLE_REMOTE_FILE_NOT_FOUND...
d c 78
d CURLE_SSH...
d c 79
d CURLE_SSL_SHUTDOWN_FAILED...
d c 80
d CURLE_AGAIN...
d c 81
d CURLE_SSL_CRL_BADFILE...
d c 82
d CURLE_SSL_ISSUER_ERROR...
d c 83
d CURLE_FTP_PRET_FAILED...
d c 84
d CURLE_RTSP_CSEQ_ERROR...
d c 85
d CURLE_RTSP_SESSION_ERROR...
d c 86
d CURLE_FTP_BAD_FILE_LIST...
d c 87
d CURLE_CHUNK_FAILED...
d c 88
d CURLE_NO_CONNECTION_AVAILABLE...
d c 89
d CURLE_SSL_PINNEDPUBKEYNOTMATCH...
d c 90
d CURLE_SSL_INVALIDCERTSTATUS...
d c 91
d CURLE_HTTP2_STREAM...
d c 92
2007-08-23 10:30:24 -04:00
*
/if not defined(CURL_NO_OLDIES)
d CURLE_URL_MALFORMAT_USER...
d c 4
d CURLE_FTP_ACCESS_DENIED...
d c 9
d CURLE_FTP_USER_PASSWORD_INCORRECT...
d c 10
d CURLE_FTP_WEIRD_USER_REPLY...
d c 12
d CURLE_FTP_CANT_RECONNECT...
d c 16
d CURLE_FTP_COULDNT_SET_BINARY...
d c 17
d CURLE_FTP_PARTIAL_FILE...
d c 18
d CURLE_FTP_WRITE_ERROR...
d c 20
d CURLE_FTP_QUOTE_ERROR...
d c 21
d CURLE_HTTP_NOT_FOUND...
d c 22
d CURLE_MALFORMAT_USER...
d c 24
d CURLE_FTP_COULDNT_STOR_FILE...
d c 25
d CURLE_OPERATION_TIMEOUTED...
d c 28
d CURLE_FTP_COULDNT_SET_ASCII...
d c 29
d CURLE_FTP_COULDNT_GET_SIZE...
d c 32
d CURLE_HTTP_RANGE_ERROR...
d c 33
d CURLE_FTP_BAD_DOWNLOAD_RESUME...
d c 36
d CURLE_LIBRARY_NOT_FOUND...
d c 40
d CURLE_BAD_CALLING_ORDER...
d c 44
d CURLE_HTTP_PORT_FAILED...
d c 45
d CURLE_BAD_PASSWORD_ENTERED...
d c 46
d CURLE_UNKNOWN_TELNET_OPTION...
d c 48
d CURLE_OBSOLETE...
d c 50
d CURLE_SSL_PEER_CERTIFICATE...
d c 51
d CURLE_SHARE_IN_USE...
d c 57
d CURLE_FTP_SSL_FAILED...
d c 64
d CURLE_TFTP_DISKFULL...
d c 70
d CURLE_TFTP_EXISTS...
d c 73
d CURLE_ALREADY_COMPLETE...
d c 99999
/endif
*
2007-08-23 10:30:24 -04:00
d curlioerr s 10i 0 based(######ptr######) Enum
d CURLIOE_OK c 0
d CURLIOE_UNKNOWNCMD...
d c 1
d CURLIOE_FAILRESTART...
d c 2
*
d curlfiletype s 10i 0 based(######ptr######) Enum
d CURLFILETYPE_FILE...
d c 0
d CURLFILETYPE_DIRECTORY...
d c 1
d CURLFILETYPE_SYMLINK...
d c 2
d CURLFILETYPE_DEVICE_BLOCK...
d c 3
d CURLFILETYPE_DEVICE_CHAR...
d c 4
d CURLFILETYPE_NAMEDPIPE...
d c 5
d CURLFILETYPE_SOCKET...
d c 6
d CURLFILETYPE_DOOR...
d c 7
*
2007-08-23 10:30:24 -04:00
d curliocmd s 10i 0 based(######ptr######) Enum
d CURLIOCMD_NOP c 0
d CURLIOCMD_RESTARTREAD...
d c 1
*
d curl_infotype s 10i 0 based(######ptr######) Enum
d CURLINFO_TEXT...
d c 0
d CURLINFO_HEADER_IN...
d c 1
d CURLINFO_HEADER_OUT...
d c 2
d CURLINFO_DATA_IN...
d c 3
d CURLINFO_DATA_OUT...
d c 4
d CURLINFO_SSL_DATA_IN...
d c 5
d CURLINFO_SSL_DATA_OUT...
d c 6
d CURLINFO_END...
d c 7
*
d curl_proxytype s 10i 0 based(######ptr######) Enum
d CURLPROXY_HTTP...
d c 0
d CURLPROXY_HTTP_1_0...
d c 1
proxy: Support HTTPS proxy and SOCKS+HTTP(s) * HTTPS proxies: An HTTPS proxy receives all transactions over an SSL/TLS connection. Once a secure connection with the proxy is established, the user agent uses the proxy as usual, including sending CONNECT requests to instruct the proxy to establish a [usually secure] TCP tunnel with an origin server. HTTPS proxies protect nearly all aspects of user-proxy communications as opposed to HTTP proxies that receive all requests (including CONNECT requests) in vulnerable clear text. With HTTPS proxies, it is possible to have two concurrent _nested_ SSL/TLS sessions: the "outer" one between the user agent and the proxy and the "inner" one between the user agent and the origin server (through the proxy). This change adds supports for such nested sessions as well. A secure connection with a proxy requires its own set of the usual SSL options (their actual descriptions differ and need polishing, see TODO): --proxy-cacert FILE CA certificate to verify peer against --proxy-capath DIR CA directory to verify peer against --proxy-cert CERT[:PASSWD] Client certificate file and password --proxy-cert-type TYPE Certificate file type (DER/PEM/ENG) --proxy-ciphers LIST SSL ciphers to use --proxy-crlfile FILE Get a CRL list in PEM format from the file --proxy-insecure Allow connections to proxies with bad certs --proxy-key KEY Private key file name --proxy-key-type TYPE Private key file type (DER/PEM/ENG) --proxy-pass PASS Pass phrase for the private key --proxy-ssl-allow-beast Allow security flaw to improve interop --proxy-sslv2 Use SSLv2 --proxy-sslv3 Use SSLv3 --proxy-tlsv1 Use TLSv1 --proxy-tlsuser USER TLS username --proxy-tlspassword STRING TLS password --proxy-tlsauthtype STRING TLS authentication type (default SRP) All --proxy-foo options are independent from their --foo counterparts, except --proxy-crlfile which defaults to --crlfile and --proxy-capath which defaults to --capath. Curl now also supports %{proxy_ssl_verify_result} --write-out variable, similar to the existing %{ssl_verify_result} variable. Supported backends: OpenSSL, GnuTLS, and NSS. * A SOCKS proxy + HTTP/HTTPS proxy combination: If both --socks* and --proxy options are given, Curl first connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy. TODO: Update documentation for the new APIs and --proxy-* options. Look for "Added in 7.XXX" marks.
2016-11-16 12:49:15 -05:00
d CURLPROXY_HTTPS...
d c 2
2007-08-23 10:30:24 -04:00
d CURLPROXY_SOCKS4...
d c 4
d CURLPROXY_SOCKS5...
d c 5
d CURLPROXY_SOCKS4A...
d c 6
d CURLPROXY_SOCKS5_HOSTNAME...
d c 7
2007-08-23 10:30:24 -04:00
*
d curl_khstat s 10i 0 based(######ptr######) Enum
d CURLKHSTAT_FINE_ADD_TO_FILE...
d c 0
d CURLKHSTAT_FINE...
d c 1
d CURLKHSTAT_REJECT...
d c 2
d CURLKHSTAT_DEFER...
d c 3
d CURLKHSTAT_LAST...
d c 4
*
d curl_khmatch s 10i 0 based(######ptr######) Enum
d CURLKHMATCH_OK...
d c 0
d CURLKHMATCH_MISMATCH...
d c 1
d CURLKHMATCH_MISSING...
d c 2
d CURLKHMATCH_LAST...
d c 3
*
d curl_usessl s 10i 0 based(######ptr######) Enum
d CURLUSESSL_NONE...
2007-08-23 10:30:24 -04:00
d c 0
d CURLUSESSL_TRY...
2007-08-23 10:30:24 -04:00
d c 1
d CURLUSESSL_CONTROL...
2007-08-23 10:30:24 -04:00
d c 2
d CURLUSESSL_ALL...
2007-08-23 10:30:24 -04:00
d c 3
*
d CURLSSLOPT_ALLOW_BEAST...
d c X'0001'
d CURLSSLOPT_NO_REVOKE...
d c X'0002'
*
/if not defined(CURL_NO_OLDIES)
d curl_ftpssl s like(curl_usessl)
d based(######ptr######)
d CURLFTPSSL_NONE...
d c 0
d CURLFTPSSL_TRY...
d c 1
d CURLFTPSSL_CONTROL...
d c 2
d CURLFTPSSL_ALL...
d c 3
/endif
*
2007-08-23 10:30:24 -04:00
d curl_ftpccc s 10i 0 based(######ptr######) Enum
d CURLFTPSSL_CCC_NONE...
d c 0
d CURLFTPSSL_CCC_PASSIVE...
d c 1
d CURLFTPSSL_CCC_ACTIVE...
d c 2
*
d curl_ftpauth s 10i 0 based(######ptr######) Enum
d CURLFTPAUTH_DEFAULT...
d c 0
d CURLFTPAUTH_SSL...
d c 1
d CURLFTPAUTH_TLS...
d c 2
*
d curl_ftpcreatedir...
d s 10i 0 based(######ptr######) Enum
d CURLFTP_CREATE_DIR_NONE...
d c 0
d CURLFTP_CREATE_DIR...
d c 1
d CURLFTP_CREATE_DIR_RETRY...
2007-08-23 10:30:24 -04:00
d c 2
*
d curl_ftpmethod s 10i 0 based(######ptr######) Enum
d CURLFTPMETHOD_DEFAULT...
d c 0
d CURLFTPMETHOD_MULTICWD...
d c 1
d CURLFTPMETHOD_NOCWD...
d c 2
d CURLFTPMETHOD_SINGLECWD...
d c 3
*
d CURLHEADER_UNIFIED...
d c X'00000000'
d CURLHEADER_SEPARATE...
d c X'00000001'
*
d CURLPROTO_HTTP...
d c X'00000001'
d CURLPROTO_HTTPS...
d c X'00000002'
d CURLPROTO_FTP...
d c X'00000004'
d CURLPROTO_FTPS...
d c X'00000008'
d CURLPROTO_SCP...
d c X'00000010'
d CURLPROTO_SFTP...
d c X'00000020'
d CURLPROTO_TELNET...
d c X'00000040'
d CURLPROTO_LDAP...
d c X'00000080'
d CURLPROTO_LDAPS...
d c X'00000100'
d CURLPROTO_DICT...
d c X'00000200'
d CURLPROTO_FILE...
d c X'00000400'
d CURLPROTO_TFTP...
d c X'00000800'
d CURLPROTO_IMAP...
d c X'00001000'
d CURLPROTO_IMAPS...
d c X'00002000'
d CURLPROTO_POP3...
d c X'00004000'
d CURLPROTO_POP3S...
d c X'00008000'
d CURLPROTO_SMTP...
d c X'00010000'
d CURLPROTO_SMTPS...
d c X'00020000'
d CURLPROTO_RTSP...
d c X'00040000'
d CURLPROTO_RTMP...
d c X'00080000'
d CURLPROTO_RTMPT...
d c X'00100000'
d CURLPROTO_RTMPTE...
d c X'00200000'
d CURLPROTO_RTMPE...
d c X'00400000'
d CURLPROTO_RTMPS...
d c X'00800000'
d CURLPROTO_RTMPTS...
d c X'01000000'
d CURLPROTO_GOPHER...
d c X'02000000'
d CURLPROTO_SMB...
d c X'04000000'
d CURLPROTO_SMBS...
d c X'08000000'
*
2007-08-23 10:30:24 -04:00
d CURLoption s 10i 0 based(######ptr######) Enum
d CURLOPT_WRITEDATA...
d c 10001
d CURLOPT_URL c 10002
d CURLOPT_PORT c 00003
d CURLOPT_PROXY c 10004
d CURLOPT_USERPWD...
d c 10005
d CURLOPT_PROXYUSERPWD...
d c 10006
d CURLOPT_RANGE c 10007
d CURLOPT_READDATA...
d c 10009
d CURLOPT_ERRORBUFFER...
d c 10010
d CURLOPT_WRITEFUNCTION...
d c 20011
d CURLOPT_READFUNCTION...
d c 20012
d CURLOPT_TIMEOUT...
d c 00013
d CURLOPT_INFILESIZE...
d c 00014
d CURLOPT_POSTFIELDS...
d c 10015
d CURLOPT_REFERER...
d c 10016
d CURLOPT_FTPPORT...
d c 10017
d CURLOPT_USERAGENT...
d c 10018
d CURLOPT_LOW_SPEED_LIMIT...
d c 00019
d CURLOPT_LOW_SPEED_TIME...
d c 00020
d CURLOPT_RESUME_FROM...
d c 00021
d CURLOPT_COOKIE...
d c 10022
d CURLOPT_HTTPHEADER...
d c 10023
d CURLOPT_RTSPHEADER...
d c 10023
2007-08-23 10:30:24 -04:00
d CURLOPT_HTTPPOST...
d c 10024
d CURLOPT_SSLCERT...
d c 10025
d CURLOPT_KEYPASSWD...
2007-08-23 10:30:24 -04:00
d c 10026
d CURLOPT_CRLF c 00027
d CURLOPT_QUOTE c 10028
d CURLOPT_HEADERDATA...
d c 10029
d CURLOPT_COOKIEFILE...
d c 10031
d CURLOPT_SSLVERSION...
d c 00032
d CURLOPT_TIMECONDITION...
d c 00033
d CURLOPT_TIMEVALUE...
d c 00034
d CURLOPT_CUSTOMREQUEST...
d c 10036
d CURLOPT_STDERR...
d c 10037
d CURLOPT_POSTQUOTE...
d c 10039
d CURLOPT_VERBOSE...
d c 00041
d CURLOPT_HEADER...
d c 00042
d CURLOPT_NOPROGRESS...
d c 00043
d CURLOPT_NOBODY...
d c 00044
d CURLOPT_FAILONERROR...
d c 00045
d CURLOPT_UPLOAD...
d c 00046
d CURLOPT_POST c 00047
d CURLOPT_DIRLISTONLY...
2007-08-23 10:30:24 -04:00
d c 00048
d CURLOPT_APPEND...
2007-08-23 10:30:24 -04:00
d c 00050
d CURLOPT_NETRC c 00051
d CURLOPT_FOLLOWLOCATION...
d c 00052
d CURLOPT_TRANSFERTEXT...
d c 00053
d CURLOPT_PUT c 00054
d CURLOPT_PROGRESSFUNCTION...
d c 20056
d CURLOPT_PROGRESSDATA...
d c 10057
d CURLOPT_XFERINFODATA...
d c 10057 PROGRESSDATA alias
2007-08-23 10:30:24 -04:00
d CURLOPT_AUTOREFERER...
d c 00058
d CURLOPT_PROXYPORT...
d c 00059
d CURLOPT_POSTFIELDSIZE...
d c 00060
d CURLOPT_HTTPPROXYTUNNEL...
d c 00061
d CURLOPT_INTERFACE...
d c 10062
d CURLOPT_KRBLEVEL...
2007-08-23 10:30:24 -04:00
d c 10063
d CURLOPT_SSL_VERIFYPEER...
d c 00064
d CURLOPT_CAINFO...
d c 10065
d CURLOPT_MAXREDIRS...
d c 00068
d CURLOPT_FILETIME...
d c 00069
d CURLOPT_TELNETOPTIONS...
d c 10070
d CURLOPT_MAXCONNECTS...
d c 00071
d CURLOPT_FRESH_CONNECT...
d c 00074
d CURLOPT_FORBID_REUSE...
d c 00075
d CURLOPT_RANDOM_FILE...
d c 10076
d CURLOPT_EGDSOCKET...
d c 10077
d CURLOPT_CONNECTTIMEOUT...
d c 00078
d CURLOPT_HEADERFUNCTION...
d c 20079
d CURLOPT_HTTPGET...
d c 00080
d CURLOPT_SSL_VERIFYHOST...
d c 00081
d CURLOPT_COOKIEJAR...
d c 10082
d CURLOPT_SSL_CIPHER_LIST...
d c 10083
d CURLOPT_HTTP_VERSION...
d c 00084
d CURLOPT_FTP_USE_EPSV...
d c 00085
d CURLOPT_SSLCERTTYPE...
d c 10086
d CURLOPT_SSLKEY...
d c 10087
d CURLOPT_SSLKEYTYPE...
d c 10088
d CURLOPT_SSLENGINE...
d c 10089
d CURLOPT_SSLENGINE_DEFAULT...
d c 00090
d CURLOPT_DNS_USE_GLOBAL_CACHE...
d c 00091
d CURLOPT_DNS_CACHE_TIMEOUT...
d c 00092
d CURLOPT_PREQUOTE...
d c 10093
d CURLOPT_DEBUGFUNCTION...
d c 20094
d CURLOPT_DEBUGDATA...
d c 10095
d CURLOPT_COOKIESESSION...
d c 00096
d CURLOPT_CAPATH...
d c 10097
d CURLOPT_BUFFERSIZE...
d c 00098
d CURLOPT_NOSIGNAL...
d c 00099
d CURLOPT_SHARE c 10100
d CURLOPT_PROXYTYPE...
d c 00101
d CURLOPT_ACCEPT_ENCODING...
2007-08-23 10:30:24 -04:00
d c 10102
d CURLOPT_PRIVATE...
d c 10103
d CURLOPT_HTTP200ALIASES...
d c 10104
d CURLOPT_UNRESTRICTED_AUTH...
d c 00105
d CURLOPT_FTP_USE_EPRT...
d c 00106
d CURLOPT_HTTPAUTH...
d c 00107
d CURLOPT_SSL_CTX_FUNCTION...
d c 20108
d CURLOPT_SSL_CTX_DATA...
d c 10109
d CURLOPT_FTP_CREATE_MISSING_DIRS...
d c 00110
d CURLOPT_PROXYAUTH...
d c 00111
d CURLOPT_FTP_RESPONSE_TIMEOUT...
d c 00112
d CURLOPT_IPRESOLVE...
d c 00113
d CURLOPT_MAXFILESIZE...
d c 00114
d CURLOPT_INFILESIZE_LARGE...
d c 30115
d CURLOPT_RESUME_FROM_LARGE...
d c 30116
d CURLOPT_MAXFILESIZE_LARGE...
d c 30117
d CURLOPT_NETRC_FILE...
d c 10118
d CURLOPT_USE_SSL...
2007-08-23 10:30:24 -04:00
d c 00119
d CURLOPT_POSTFIELDSIZE_LARGE...
d c 30120
d CURLOPT_TCP_NODELAY...
d c 00121
d CURLOPT_FTPSSLAUTH...
d c 00129
d CURLOPT_IOCTLFUNCTION...
d c 20130
d CURLOPT_IOCTLDATA...
d c 10131
d CURLOPT_FTP_ACCOUNT...
d c 10134
d CURLOPT_COOKIELIST...
d c 10135
d CURLOPT_IGNORE_CONTENT_LENGTH...
d c 00136
d CURLOPT_FTP_SKIP_PASV_IP...
d c 00137
d CURLOPT_FTP_FILEMETHOD...
d c 00138
d CURLOPT_LOCALPORT...
d c 00139
d CURLOPT_LOCALPORTRANGE...
d c 00140
d CURLOPT_CONNECT_ONLY...
d c 00141
d CURLOPT_CONV_FROM_NETWORK_FUNCTION...
d c 20142
d CURLOPT_CONV_TO_NETWORK_FUNCTION...
d c 20143
d CURLOPT_CONV_FROM_UTF8_FUNCTION...
d c 20144
d CURLOPT_MAX_SEND_SPEED_LARGE...
d c 30145
d CURLOPT_MAX_RECV_SPEED_LARGE...
d c 30146
d CURLOPT_FTP_ALTERNATIVE_TO_USER...
d c 10147
d CURLOPT_SOCKOPTFUNCTION...
d c 20148
d CURLOPT_SOCKOPTDATA...
d c 10149
d CURLOPT_SSL_SESSIONID_CACHE...
d c 00150
d CURLOPT_SSH_AUTH_TYPES...
d c 00151
d CURLOPT_SSH_PUBLIC_KEYFILE...
d c 10152
d CURLOPT_SSH_PRIVATE_KEYFILE...
d c 10153
d CURLOPT_FTP_SSL_CCC...
d c 00154
d CURLOPT_TIMEOUT_MS...
d c 00155
d CURLOPT_CONNECTTIMEOUT_MS...
d c 00156
d CURLOPT_HTTP_TRANSFER_DECODING...
d c 00157
d CURLOPT_HTTP_CONTENT_DECODING...
d c 00158
d CURLOPT_NEW_FILE_PERMS...
d c 00159
d CURLOPT_NEW_DIRECTORY_PERMS...
d c 00160
d CURLOPT_POSTREDIR...
d c 00161
d CURLOPT_SSH_HOST_PUBLIC_KEY_MD5...
d c 10162
d CURLOPT_OPENSOCKETFUNCTION...
d c 20163
d CURLOPT_OPENSOCKETDATA...
d c 10164
d CURLOPT_COPYPOSTFIELDS...
d c 10165
d CURLOPT_PROXY_TRANSFER_MODE...
d c 00166
d CURLOPT_SEEKFUNCTION...
d c 20167
d CURLOPT_SEEKDATA...
d c 10168
d CURLOPT_CRLFILE...
d c 10169
d CURLOPT_ISSUERCERT...
d c 10170
d CURLOPT_ADDRESS_SCOPE...
d c 00171
d CURLOPT_CERTINFO...
d c 00172
d CURLOPT_USERNAME...
d c 10173
d CURLOPT_PASSWORD...
d c 10174
d CURLOPT_PROXYUSERNAME...
d c 10175
d CURLOPT_PROXYPASSWORD...
d c 10176
d CURLOPT_NOPROXY...
d c 10177
d CURLOPT_TFTP_BLKSIZE...
d c 00178
d CURLOPT_SOCKS5_GSSAPI_SERVICE...
d c 10179
d CURLOPT_SOCKS5_GSSAPI_NEC...
d c 00180
d CURLOPT_PROTOCOLS...
d c 00181
d CURLOPT_REDIR_PROTOCOLS...
d c 00182
d CURLOPT_SSH_KNOWNHOSTS...
d c 10183
d CURLOPT_SSH_KEYFUNCTION...
d c 20184
d CURLOPT_SSH_KEYDATA...
d c 10185
d CURLOPT_MAIL_FROM...
d c 10186
d CURLOPT_MAIL_RCPT...
d c 10187
d CURLOPT_FTP_USE_PRET...
d c 00188
d CURLOPT_RTSP_REQUEST...
d c 00189
d CURLOPT_RTSP_SESSION_ID...
d c 10190
d CURLOPT_RTSP_STREAM_URI...
d c 10191
d CURLOPT_RTSP_TRANSPORT...
d c 10192
d CURLOPT_RTSP_CLIENT_CSEQ...
d c 00193
d CURLOPT_RTSP_SERVER_CSEQ...
d c 00194
d CURLOPT_INTERLEAVEDATA...
d c 10195
d CURLOPT_INTERLEAVEFUNCTION...
d c 20196
d CURLOPT_WILDCARDMATCH...
d c 00197
d CURLOPT_CHUNK_BGN_FUNCTION...
d c 20198
d CURLOPT_CHUNK_END_FUNCTION...
d c 20199
d CURLOPT_FNMATCH_FUNCTION...
d c 20200
d CURLOPT_CHUNK_DATA...
d c 10201
d CURLOPT_FNMATCH_DATA...
d c 10202
d CURLOPT_RESOLVE...
d c 10203
d CURLOPT_TLSAUTH_USERNAME...
d c 10204
d CURLOPT_TLSAUTH_PASSWORD...
d c 10205
d CURLOPT_TLSAUTH_TYPE...
d c 10206
d CURLOPT_TRANSFER_ENCODING...
d c 00207
d CURLOPT_CLOSESOCKETFUNCTION...
d c 20208
d CURLOPT_CLOSESOCKETDATA...
d c 10209
d CURLOPT_GSSAPI_DELEGATION...
d c 00210
d CURLOPT_DNS_SERVERS...
d c 10211
d CURLOPT_ACCEPTTIMEOUT_MS...
d c 00212
d CURLOPT_TCP_KEEPALIVE...
d c 00213
d CURLOPT_TCP_KEEPIDLE...
d c 00214
d CURLOPT_TCP_KEEPINTVL...
d c 00215
d CURLOPT_SSL_OPTIONS...
d c 00216
d CURLOPT_MAIL_AUTH...
d c 10217
d CURLOPT_SASL_IR...
d c 00218
d CURLOPT_XFERINFOFUNCTION...
d c 20219
d CURLOPT_XOAUTH2_BEARER...
d c 10220
d CURLOPT_DNS_INTERFACE...
d c 10221
d CURLOPT_DNS_LOCAL_IP4...
d c 10222
d CURLOPT_DNS_LOCAL_IP6...
d c 10223
d CURLOPT_LOGIN_OPTIONS...
d c 10224
2014-02-14 05:13:01 -05:00
d CURLOPT_SSL_ENABLE_NPN...
d c 00225
d CURLOPT_SSL_ENABLE_ALPN...
d c 00226
d CURLOPT_EXPECT_100_TIMEOUT_MS...
d c 00227
d CURLOPT_PROXYHEADER...
d c 10228
d CURLOPT_HEADEROPT...
d c 00229
d CURLOPT_PINNEDPUBLICKEY...
d c 10230
libcurl: add UNIX domain sockets support The ability to do HTTP requests over a UNIX domain socket has been requested before, in Apr 2008 [0][1] and Sep 2010 [2]. While a discussion happened, no patch seems to get through. I decided to give it a go since I need to test a nginx HTTP server which listens on a UNIX domain socket. One patch [3] seems to make it possible to use the CURLOPT_OPENSOCKETFUNCTION function to gain a UNIX domain socket. Another person wrote a Go program which can do HTTP over a UNIX socket for Docker[4] which uses a special URL scheme (though the name contains cURL, it has no relation to the cURL library). This patch considers support for UNIX domain sockets at the same level as HTTP proxies / IPv6, it acts as an intermediate socket provider and not as a separate protocol. Since this feature affects network operations, a new feature flag was added ("unix-sockets") with a corresponding CURL_VERSION_UNIX_SOCKETS macro. A new CURLOPT_UNIX_SOCKET_PATH option is added and documented. This option enables UNIX domain sockets support for all requests on the handle (replacing IP sockets and skipping proxies). A new configure option (--enable-unix-sockets) and CMake option (ENABLE_UNIX_SOCKETS) can disable this optional feature. Note that I deliberately did not mark this feature as advanced, this is a feature/component that should easily be available. [0]: http://curl.haxx.se/mail/lib-2008-04/0279.html [1]: http://daniel.haxx.se/blog/2008/04/14/http-over-unix-domain-sockets/ [2]: http://sourceforge.net/p/curl/feature-requests/53/ [3]: http://curl.haxx.se/mail/lib-2008-04/0361.html [4]: https://github.com/Soulou/curl-unix-socket Signed-off-by: Peter Wu <peter@lekensteyn.nl>
2014-11-27 17:59:25 -05:00
d CURLOPT_UNIX_SOCKET_PATH...
d c 10231
d CURLOPT_SSL_VERIFYSTATUS...
d c 00232
d CURLOPT_SSL_FALSESTART...
d c 00233
d CURLOPT_PATH_AS_IS...
d c 00234
d CURLOPT_PROXY_SERVICE_NAME...
d c 10235
d CURLOPT_SERVICE_NAME...
d c 10236
d CURLOPT_PIPEWAIT...
d c 00237
d CURLOPT_DEFAULT_PROTOCOL...
d c 10238
d CURLOPT_STREAM_WEIGHT...
d c 00239
d CURLOPT_STREAM_DEPENDS...
d c 10240
d CURLOPT_STREAM_DEPENDS_E...
d c 10241
d CURLOPT_TFTP_NO_OPTIONS...
d c 00242
2016-04-22 10:50:30 -04:00
d CURLOPT_CONNECT_TO...
d c 10243
d CURLOPT_TCP_FASTOPEN...
d c 00244
d CURLOPT_KEEP_SENDING_ON_ERROR...
d c 00245
proxy: Support HTTPS proxy and SOCKS+HTTP(s) * HTTPS proxies: An HTTPS proxy receives all transactions over an SSL/TLS connection. Once a secure connection with the proxy is established, the user agent uses the proxy as usual, including sending CONNECT requests to instruct the proxy to establish a [usually secure] TCP tunnel with an origin server. HTTPS proxies protect nearly all aspects of user-proxy communications as opposed to HTTP proxies that receive all requests (including CONNECT requests) in vulnerable clear text. With HTTPS proxies, it is possible to have two concurrent _nested_ SSL/TLS sessions: the "outer" one between the user agent and the proxy and the "inner" one between the user agent and the origin server (through the proxy). This change adds supports for such nested sessions as well. A secure connection with a proxy requires its own set of the usual SSL options (their actual descriptions differ and need polishing, see TODO): --proxy-cacert FILE CA certificate to verify peer against --proxy-capath DIR CA directory to verify peer against --proxy-cert CERT[:PASSWD] Client certificate file and password --proxy-cert-type TYPE Certificate file type (DER/PEM/ENG) --proxy-ciphers LIST SSL ciphers to use --proxy-crlfile FILE Get a CRL list in PEM format from the file --proxy-insecure Allow connections to proxies with bad certs --proxy-key KEY Private key file name --proxy-key-type TYPE Private key file type (DER/PEM/ENG) --proxy-pass PASS Pass phrase for the private key --proxy-ssl-allow-beast Allow security flaw to improve interop --proxy-sslv2 Use SSLv2 --proxy-sslv3 Use SSLv3 --proxy-tlsv1 Use TLSv1 --proxy-tlsuser USER TLS username --proxy-tlspassword STRING TLS password --proxy-tlsauthtype STRING TLS authentication type (default SRP) All --proxy-foo options are independent from their --foo counterparts, except --proxy-crlfile which defaults to --crlfile and --proxy-capath which defaults to --capath. Curl now also supports %{proxy_ssl_verify_result} --write-out variable, similar to the existing %{ssl_verify_result} variable. Supported backends: OpenSSL, GnuTLS, and NSS. * A SOCKS proxy + HTTP/HTTPS proxy combination: If both --socks* and --proxy options are given, Curl first connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy. TODO: Update documentation for the new APIs and --proxy-* options. Look for "Added in 7.XXX" marks.
2016-11-16 12:49:15 -05:00
d CURLOPT_PROXY_CAINFO...
d c 10246
d CURLOPT_PROXY_CAPATH...
d c 10247
d CURLOPT_PROXY_SSL_VERIFYPEER...
d c 00248
d CURLOPT_PROXY_SSL_VERIFYHOST...
d c 00249
d CURLOPT_PROXY_SSLVERSION...
d c 00250
d CURLOPT_PROXY_TLSAUTH_USERNAME...
d c 10251
d CURLOPT_PROXY_TLSAUTH_PASSWORD...
d c 10252
d CURLOPT_PROXY_TLSAUTH_TYPE...
d c 10253
d CURLOPT_PROXY_SSLCERT...
d c 10254
d CURLOPT_PROXY_SSLCERTTYPE...
d c 10255
d CURLOPT_PROXY_SSLKEY...
d c 10256
d CURLOPT_PROXY_SSLKEYTYPE...
d c 10257
d CURLOPT_PROXY_KEYPASSWD...
d c 10258
d CURLOPT_PROXY_SSL_CIPHER_LIST...
d c 10259
d CURLOPT_PROXY_CRLFILE...
d c 10260
d CURLOPT_PROXY_SSL_OPTIONS...
d c 00261
d CURLOPT_PRE_PROXY...
proxy: Support HTTPS proxy and SOCKS+HTTP(s) * HTTPS proxies: An HTTPS proxy receives all transactions over an SSL/TLS connection. Once a secure connection with the proxy is established, the user agent uses the proxy as usual, including sending CONNECT requests to instruct the proxy to establish a [usually secure] TCP tunnel with an origin server. HTTPS proxies protect nearly all aspects of user-proxy communications as opposed to HTTP proxies that receive all requests (including CONNECT requests) in vulnerable clear text. With HTTPS proxies, it is possible to have two concurrent _nested_ SSL/TLS sessions: the "outer" one between the user agent and the proxy and the "inner" one between the user agent and the origin server (through the proxy). This change adds supports for such nested sessions as well. A secure connection with a proxy requires its own set of the usual SSL options (their actual descriptions differ and need polishing, see TODO): --proxy-cacert FILE CA certificate to verify peer against --proxy-capath DIR CA directory to verify peer against --proxy-cert CERT[:PASSWD] Client certificate file and password --proxy-cert-type TYPE Certificate file type (DER/PEM/ENG) --proxy-ciphers LIST SSL ciphers to use --proxy-crlfile FILE Get a CRL list in PEM format from the file --proxy-insecure Allow connections to proxies with bad certs --proxy-key KEY Private key file name --proxy-key-type TYPE Private key file type (DER/PEM/ENG) --proxy-pass PASS Pass phrase for the private key --proxy-ssl-allow-beast Allow security flaw to improve interop --proxy-sslv2 Use SSLv2 --proxy-sslv3 Use SSLv3 --proxy-tlsv1 Use TLSv1 --proxy-tlsuser USER TLS username --proxy-tlspassword STRING TLS password --proxy-tlsauthtype STRING TLS authentication type (default SRP) All --proxy-foo options are independent from their --foo counterparts, except --proxy-crlfile which defaults to --crlfile and --proxy-capath which defaults to --capath. Curl now also supports %{proxy_ssl_verify_result} --write-out variable, similar to the existing %{ssl_verify_result} variable. Supported backends: OpenSSL, GnuTLS, and NSS. * A SOCKS proxy + HTTP/HTTPS proxy combination: If both --socks* and --proxy options are given, Curl first connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy. TODO: Update documentation for the new APIs and --proxy-* options. Look for "Added in 7.XXX" marks.
2016-11-16 12:49:15 -05:00
d c 10262
d CURLOPT_PROXY_PINNEDPUBLICKEY...
d c 10263
d CURLOPT_ABSTRACT_UNIX_SOCKET...
d c 10264
d CURLOPT_SUPPRESS_CONNECT_HEADERS...
d c 00265
*
/if not defined(CURL_NO_OLDIES)
d CURLOPT_FILE c 10001
d CURLOPT_INFILE...
d c 10009
d CURLOPT_SSLKEYPASSWD...
d c 10026
d CURLOPT_SSLCERTPASSWD...
d c 10026
d CURLOPT_WRITEHEADER...
d c 10029
d CURLOPT_WRITEINFO...
d c 10040
d CURLOPT_FTPLISTONLY...
d c 00048
d CURLOPT_FTPAPPEND...
d c 00050
d CURLOPT_CLOSEPOLICY...
d c 00072
d CURLOPT_KRB4LEVEL...
d c 10063
d CURLOPT_ENCODING...
d c 10102
d CURLOPT_SERVER_RESPONSE_TIMEOUT...
d c 00112
d CURLOPT_FTP_SSL...
d c 00119
d CURLOPT_POST301...
d c 00161
/endif
2007-08-23 10:30:24 -04:00
*
d CURLFORMcode s 10i 0 based(######ptr######) Enum
d CURL_FORMADD_OK...
d c 0
d CURL_FORMADD_MEMORY...
d c 1
d CURL_FORMADD_OPTION_TWICE...
d c 2
d CURL_FORMADD_NULL...
d c 3
d CURL_FORMADD_UNKNOWN_OPTION...
d c 4
d CURL_FORMADD_INCOMPLETE...
d c 5
d CURL_FORMADD_ILLEGAL_ARRAY...
d c 6
d CURL_FORMADD_DISABLED...
d c 7
*
d CURLformoption s 10i 0 based(######ptr######) Enum
d CURLFORM_NOTHING...
d c 0
d CURLFORM_COPYNAME...
d c 1
d CURLFORM_PTRNAME...
d c 2
d CURLFORM_NAMELENGTH...
d c 3
d CURLFORM_COPYCONTENTS...
d c 4
d CURLFORM_PTRCONTENTS...
d c 5
d CURLFORM_CONTENTSLENGTH...
d c 6
d CURLFORM_FILECONTENT...
d c 7
d CURLFORM_ARRAY...
d c 8
d CURLFORM_OBSOLETE...
d c 9
d CURLFORM_FILE...
d c 10
d CURLFORM_BUFFER...
d c 11
d CURLFORM_BUFFERPTR...
d c 12
d CURLFORM_BUFFERLENGTH...
d c 13
d CURLFORM_CONTENTTYPE...
d c 14
d CURLFORM_CONTENTHEADER...
d c 15
d CURLFORM_FILENAME...
d c 16
d CURLFORM_END...
d c 17
d CURLFORM_OBSOLETE2...
d c 18
d CURLFORM_STREAM...
d c 19
d CURLFORM_CONTENTLEN...
d c 20
2007-08-23 10:30:24 -04:00
*
d CURLINFO s 10i 0 based(######ptr######) Enum
d CURLINFO_EFFECTIVE_URL... CURLINFO_STRING + 1
d c X'00100001'
d CURLINFO_RESPONSE_CODE... CURLINFO_LONG + 2
d c X'00200002'
d CURLINFO_TOTAL_TIME... CURLINFO_DOUBLE + 3
d c X'00300003'
d CURLINFO_NAMELOOKUP_TIME... CURLINFO_DOUBLE + 4
d c X'00300004'
d CURLINFO_CONNECT_TIME... CURLINFO_DOUBLE + 5
d c X'00300005'
d CURLINFO_PRETRANSFER_TIME... CURLINFO_DOUBLE + 6
d c X'00300006'
d CURLINFO_SIZE_UPLOAD... CURLINFO_DOUBLE + 7
d c X'00300007'
d CURLINFO_SIZE_DOWNLOAD... CURLINFO_DOUBLE + 8
d c X'00300008'
d CURLINFO_SPEED_DOWNLOAD... CURLINFO_DOUBLE + 9
d c X'00300009'
d CURLINFO_SPEED_UPLOAD... CURLINFO_DOUBLE + 10
d c X'0030000A'
d CURLINFO_HEADER_SIZE... CURLINFO_LONG + 11
d c X'0020000B'
d CURLINFO_REQUEST_SIZE... CURLINFO_LONG + 12
d c X'0020000C'
d CURLINFO_SSL_VERIFYRESULT... CURLINFO_LONG + 13
d c X'0020000D'
d CURLINFO_FILETIME... CURLINFO_LONG + 14
d c X'0020000E'
d CURLINFO_CONTENT_LENGTH_DOWNLOAD... CURLINFO_DOUBLE + 15
d c X'0030000F'
d CURLINFO_CONTENT_LENGTH_UPLOAD... CURLINFO_DOUBLE + 16
d c X'00300010'
d CURLINFO_STARTTRANSFER_TIME... CURLINFO_DOUBLE + 17
d c X'00300011'
d CURLINFO_CONTENT_TYPE... CURLINFO_STRING + 18
d c X'00100012'
d CURLINFO_REDIRECT_TIME... CURLINFO_DOUBLE + 19
d c X'00300013'
d CURLINFO_REDIRECT_COUNT... CURLINFO_LONG + 20
d c X'00200014'
d CURLINFO_PRIVATE... CURLINFO_STRING + 21
d c X'00100015'
d CURLINFO_HTTP_CONNECTCODE... CURLINFO_LONG + 22
d c X'00200016'
d CURLINFO_HTTPAUTH_AVAIL... CURLINFO_LONG + 23
d c X'00200017'
d CURLINFO_PROXYAUTH_AVAIL... CURLINFO_LONG + 24
d c X'00200018'
d CURLINFO_OS_ERRNO... CURLINFO_LONG + 25
d c X'00200019'
d CURLINFO_NUM_CONNECTS... CURLINFO_LONG + 26
d c X'0020001A'
2007-08-23 10:30:24 -04:00
d CURLINFO_SSL_ENGINES... CURLINFO_SLIST + 27
d c X'0040001B'
2007-08-23 10:30:24 -04:00
d CURLINFO_COOKIELIST... CURLINFO_SLIST + 28
d c X'0040001C'
2007-08-23 10:30:24 -04:00
d CURLINFO_LASTSOCKET... CURLINFO_LONG + 29
d c X'0020001D'
2007-08-23 10:30:24 -04:00
d CURLINFO_FTP_ENTRY_PATH... CURLINFO_STRING + 30
d c X'0010001E'
d CURLINFO_REDIRECT_URL... CURLINFO_STRING + 31
d c X'0010001F'
d CURLINFO_PRIMARY_IP... CURLINFO_STRING + 32
d c X'00100020'
d CURLINFO_APPCONNECT_TIME... CURLINFO_DOUBLE + 33
d c X'00300021'
d CURLINFO_CERTINFO... CURLINFO_SLIST + 34
d c X'00400022'
d CURLINFO_CONDITION_UNMET... CURLINFO_LONG + 35
d c X'00200023'
d CURLINFO_RTSP_SESSION_ID... CURLINFO_STRING + 36
d c X'00100024'
d CURLINFO_RTSP_CLIENT_CSEQ... CURLINFO_LONG + 37
d c X'00200025'
d CURLINFO_RTSP_SERVER_CSEQ... CURLINFO_LONG + 38
d c X'00200026'
d CURLINFO_RTSP_CSEQ_RECV... CURLINFO_LONG + 39
d c X'00200027'
d CURLINFO_PRIMARY_PORT... CURLINFO_LONG + 40
d c X'00200028'
d CURLINFO_LOCAL_IP... CURLINFO_STRING + 41
d c X'00100029'
d CURLINFO_LOCAL_PORT... CURLINFO_LONG + 42
d c X'0020002A'
2013-12-02 08:33:51 -05:00
d CURLINFO_TLS_SESSION... CURLINFO_SLIST + 43
d c X'0040002B'
d CURLINFO_ACTIVESOCKET... CURLINFO_SOCKET + 44
d c X'0050002C'
d CURLINFO_TLS_SSL_PTR... CURLINFO_SLIST + 45
d c X'0040002D'
d CURLINFO_HTTP_VERSION... CURLINFO_LONG + 46
d c X'0020002E'
2016-11-24 21:25:21 -05:00
d CURLINFO_PROXY_SSL_VERIFYRESULT... CURLINFO_LONG + 47
proxy: Support HTTPS proxy and SOCKS+HTTP(s) * HTTPS proxies: An HTTPS proxy receives all transactions over an SSL/TLS connection. Once a secure connection with the proxy is established, the user agent uses the proxy as usual, including sending CONNECT requests to instruct the proxy to establish a [usually secure] TCP tunnel with an origin server. HTTPS proxies protect nearly all aspects of user-proxy communications as opposed to HTTP proxies that receive all requests (including CONNECT requests) in vulnerable clear text. With HTTPS proxies, it is possible to have two concurrent _nested_ SSL/TLS sessions: the "outer" one between the user agent and the proxy and the "inner" one between the user agent and the origin server (through the proxy). This change adds supports for such nested sessions as well. A secure connection with a proxy requires its own set of the usual SSL options (their actual descriptions differ and need polishing, see TODO): --proxy-cacert FILE CA certificate to verify peer against --proxy-capath DIR CA directory to verify peer against --proxy-cert CERT[:PASSWD] Client certificate file and password --proxy-cert-type TYPE Certificate file type (DER/PEM/ENG) --proxy-ciphers LIST SSL ciphers to use --proxy-crlfile FILE Get a CRL list in PEM format from the file --proxy-insecure Allow connections to proxies with bad certs --proxy-key KEY Private key file name --proxy-key-type TYPE Private key file type (DER/PEM/ENG) --proxy-pass PASS Pass phrase for the private key --proxy-ssl-allow-beast Allow security flaw to improve interop --proxy-sslv2 Use SSLv2 --proxy-sslv3 Use SSLv3 --proxy-tlsv1 Use TLSv1 --proxy-tlsuser USER TLS username --proxy-tlspassword STRING TLS password --proxy-tlsauthtype STRING TLS authentication type (default SRP) All --proxy-foo options are independent from their --foo counterparts, except --proxy-crlfile which defaults to --crlfile and --proxy-capath which defaults to --capath. Curl now also supports %{proxy_ssl_verify_result} --write-out variable, similar to the existing %{ssl_verify_result} variable. Supported backends: OpenSSL, GnuTLS, and NSS. * A SOCKS proxy + HTTP/HTTPS proxy combination: If both --socks* and --proxy options are given, Curl first connects to the SOCKS proxy and then connects (through SOCKS) to the HTTP or HTTPS proxy. TODO: Update documentation for the new APIs and --proxy-* options. Look for "Added in 7.XXX" marks.
2016-11-16 12:49:15 -05:00
d c X'0020002F'
2016-11-24 21:25:21 -05:00
d CURLINFO_PROTOCOL... CURLINFO_LONG + 48
d c X'00200030'
d CURLINFO_SCHEME... CURLINFO_STRING + 49
d c X'00100031'
*
2007-08-23 10:30:24 -04:00
d CURLINFO_HTTP_CODE... Old ...RESPONSE_CODE
d c X'00200002'
*
2013-12-02 08:33:51 -05:00
d curl_sslbackend...
d s 10i 0 based(######ptr######) Enum
d CURLSSLBACKEND_NONE...
d c 0
d CURLSSLBACKEND_OPENSSL...
d c 1
d CURLSSLBACKEND_GNUTLS...
d c 2
d CURLSSLBACKEND_NSS...
d c 3
2014-10-13 10:33:47 -04:00
d CURLSSLBACKEND_OBSOLETE4...
2013-12-02 08:33:51 -05:00
d c 4
d CURLSSLBACKEND_GSKIT...
d c 5
d CURLSSLBACKEND_POLARSSL...
d c 6
d CURLSSLBACKEND_CYASSL...
d c 7
d CURLSSLBACKEND_SCHANNEL...
d c 8
d CURLSSLBACKEND_DARWINSSL...
d c 9
d CURLSSLBACKEND_AXTLS...
d c 10
d CURLSSLBACKEND_MBEDTLS...
d c 11
* Aliases for clones.
d CURLSSLBACKEND_LIBRESSL...
d c 1
d CURLSSLBACKEND_BORINGSSL...
d c 1
d CURLSSLBACKEND_WOLFSSL...
d c 6
2013-12-02 08:33:51 -05:00
*
2007-08-23 10:30:24 -04:00
d curl_closepolicy...
d s 10i 0 based(######ptr######) Enum
d CURLCLOSEPOLICY_OLDEST...
d c 1
d CURLCLOSEPOLICY_LEAST_RECENTLY_USED...
d c 2
d CURLCLOSEPOLICY_LEAST_TRAFFIC...
d c 3
d CURLCLOSEPOLICY_SLOWEST...
d c 4
d CURLCLOSEPOLICY_CALLBACK...
d c 5
*
d curl_lock_data...
d s 10i 0 based(######ptr######) Enum
d CURL_LOCK_DATA_NONE...
d c 0
d CURL_LOCK_DATA_SHARE...
d c 1
d CURL_LOCK_DATA_COOKIE...
d c 2
d CURL_LOCK_DATA_DNS...
d c 3
d CURL_LOCK_DATA_SSL_SESSION...
d c 4
d CURL_LOCK_DATA_CONNECT...
d c 5
d CURL_LOCK_DATA_LAST...
d c 6
*
d curl_lock_access...
d s 10i 0 based(######ptr######) Enum
d CURL_LOCK_ACCESS_NONE...
d c 0
d CURL_LOCK_ACCESS_SHARED...
d c 1
d CURL_LOCK_ACCESS_SINGLE...
d c 2
*
d curl_TimeCond s 10i 0 based(######ptr######) Enum
d CURL_TIMECOND_NONE...
d c 0
d CURL_TIMECOND_IFMODSINCE...
d c 1
d CURL_TIMECOND_LASTMOD...
d c 2
d CURL_TIMECOND_LAST...
d c 3
*
d CURLSHcode s 10i 0 based(######ptr######) Enum
d CURLSHE_OK c 0
d CURLSHE_BAD_OPTION...
d c 1
d CURLSHE_IN_USE...
d c 2
d CURLSHE_INVALID...
d c 3
d CURLSHE_NOMEM...
d c 4
d CURLSHE_NOT_BUILT_IN...
d c 5
2007-08-23 10:30:24 -04:00
*
d CURLSHoption...
d s 10i 0 based(######ptr######) Enum
d CURLSHOPT_SHARE...
d c 1
d CURLSHOPT_UNSHARE...
d c 2
d CURLSHOPT_LOCKFUNC...
d c 3
d CURLSHOPT_UNLOCKFUNC...
d c 4
d CURLSHOPT_USERDATA...
d c 5
*
d CURLversion s 10i 0 based(######ptr######) Enum
d CURLVERSION_FIRST...
d c 0
d CURLVERSION_SECOND...
d c 1
d CURLVERSION_THIRD...
d c 2
d CURLVERSION_FOURTH...
d c 3
d CURLVERSION_NOW...
d c 3 CURLVERSION_FOURTH
*
d curlsocktype s 10i 0 based(######ptr######) Enum
d CURLSOCKTYPE_IPCXN...
d c 0
d CURLSOCKTYPE_ACCEPT...
d c 1
2007-08-23 10:30:24 -04:00
*
d CURL_SOCKOPT_OK...
d c 0
d CURL_SOCKOPT_ERROR...
d c 1
d CURL_SOCKOPT_ALREADY_CONNECTED...
d c 2
*
2007-08-23 10:30:24 -04:00
d CURLMcode s 10i 0 based(######ptr######) Enum
d CURLM_CALL_MULTI_PERFORM...
d c -1
d CURLM_CALL_MULTI_SOCKET...
d c -1
d CURLM_OK c 0
d CURLM_BAD_HANDLE...
d c 1
d CURLM_BAD_EASY_HANDLE...
d c 2
d CURLM_OUT_OF_MEMORY...
d c 3
d CURLM_INTERNAL_ERROR...
d c 4
d CURLM_BAD_SOCKET...
d c 5
d CURLM_UNKNOWN_OPTION...
d c 6
d CURLM_ADDED_ALREADY...
d c 7
d CURLM_LAST c 8
2007-08-23 10:30:24 -04:00
*
d CURLMSG s 10i 0 based(######ptr######) Enum
d CURLMSG_NONE c 0
d CURLMSG_DONE c 1
*
d CURLMoption s 10i 0 based(######ptr######) Enum
d CURLMOPT_SOCKETFUNCTION...
d c 20001
d CURLMOPT_SOCKETDATA...
d c 10002
d CURLMOPT_PIPELINING...
d c 00003
d CURLMOPT_TIMERFUNCTION...
d c 20004
d CURLMOPT_TIMERDATA...
d c 10005
d CURLMOPT_MAXCONNECTS...
d c 00006
d CURLMOPT_MAX_HOST_CONNECTIONS...
d c 00007
d CURLMOPT_MAX_PIPELINE_LENGTH...
d c 00008
d CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE...
d c 30009
d CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE...
d c 30010
d CURLMOPT_PIPELINING_SITE_BL...
d c 10011
d CURLMOPT_PIPELINING_SERVER_BL...
d c 10012
d CURLMOPT_MAX_TOTAL_CONNECTIONS...
d c 00013
d CURLMOPT_PUSHFUNCTION...
d c 20014
d CURLMOPT_PUSHDATA...
d c 10015
*
* Bitmask bits for CURLMOPT_PIPELING.
*
d CURLPIPE_NOTHING...
d c x'00000000'
d CURLPIPE_HTTP1 c x'00000001'
d CURLPIPE_MULTIPLEX...
d c x'00000002'
*
* Public API enums for RTSP requests.
*
d CURLRTSPREQ_NONE...
d c 0
d CURL_RTSPREQ_OPTIONS...
d c 1
d CURL_RTSPREQ_DESCRIBE...
d c 2
d CURL_RTSPREQ_ANNOUNCE...
d c 3
d CURL_RTSPREQ_SETUP...
d c 4
d CURL_RTSPREQ_PLAY...
d c 5
d CURL_RTSPREQ_PAUSE...
d c 6
d CURL_RTSPREQ_TEARDOWN...
d c 7
d CURL_RTSPREQ_GET_PARAMETER...
d c 8
d CURL_RTSPREQ_SET_PARAMETER...
d c 9
d CURL_RTSPREQ_RECORD...
d c 10
d CURL_RTSPREQ_RECEIVE...
d c 12
d CURL_RTSPREQ_LAST...
d c 13
2007-08-23 10:30:24 -04:00
*
* Renaming CURLMsg to CURL_Msg to avoid case-insensivity name clash.
*
d CURL_Msg ds based(######ptr######)
d qualified
d msg like(CURLMSG)
d easy_handle * CURL *
d data *
d whatever * overlay(data) void *
d result overlay(data) like(CURLcode)
*
d curl_waitfd...
d ds based(######ptr######)
d qualified
d fd like(curl_socket_t)
d events 5i 0
d revents 5i 0
*
2007-08-23 10:30:24 -04:00
d curl_http_post...
d ds based(######ptr######)
d qualified
d next * curl_httppost *
d name * char *
d namelength 10i 0 long
d contents * char *
d contentslength...
d 10i 0 long
d buffer * char *
d bufferlength...
d 10i 0 long
d contenttype * char *
d contentheader...
d * curl_slist *
d more * curl_httppost *
d flags 10i 0 long
d showfilename * char *
d userp * void *
2007-08-23 10:30:24 -04:00
*
d curl_sockaddr ds based(######ptr######)
d qualified
d family 10i 0
d socktype 10i 0
d protocol 10i 0
d addrlen 10u 0
d addr 16 struct sockaddr
*
d curl_khtype s 10i 0 based(######ptr######) enum
d CURLKHTYPE_UNKNOWN...
d c 0
d CURLKHTYPE_RSA1...
d c 1
d CURLKHTYPE_RSA...
d c 2
d CURLKHTYPE_DSS...
d c 3
*
d curl_khkey ds based(######ptr######)
d qualified
d key * const char *
d len 10u 0
d keytype like(curl_khtype)
*
2007-08-23 10:30:24 -04:00
d curl_forms ds based(######ptr######)
d qualified
d option like(CURLformoption)
d value * const char *
d value_ptr * overlay(value)
d value_procptr...
d * overlay(value) procptr
d value_num overlay(value: 8) like(curl_off_t)
2007-08-23 10:30:24 -04:00
*
d curl_slist ds based(######ptr######)
d qualified
d data * char *
d next * struct curl_slist *
*
d curl_version_info_data...
d ds based(######ptr######)
d qualified
d age like(CURLversion)
d version * const char *
d version_num 10u 0
d host * const char *
d features 10i 0
d ssl_version * const char *
d ssl_version_num...
d 10i 0 long
d libz_version * const char *
d protocols * const char * const *
d ares * const char *
d ares_num 10i 0
d libidn * const char *
d iconv_ver_num...
d 10i 0
d libssh_version...
d * const char *
*
d curl_certinfo ds based(######ptr######)
d qualified
d num_of_certs 10i 0
d certinfo * struct curl_slist **
*
d curl_fistrgs ds based(######ptr######)
d qualified
d time * char *
d perm * char *
d user * char *
d group * char *
d target * char *
*
2013-12-02 08:33:51 -05:00
d curl_tlssessioninfo...
d ds based(######ptr######)
d qualified
d backend like(curl_sslbackend)
d internals * void *
*
d curl_fileinfo ds based(######ptr######)
d qualified
d filename * char *
d filetype like(curlfiletype)
d time 10i 0 time_t
d perm 10u 0
d uid 10i 0
d gid 10i 0
d size like(curl_off_t)
d hardlinks 10i 0
d strings likeds(curl_fistrgs)
d flags 10u 0
d b_data * char *
d b_size 10u 0 size_t
d b_used 10u 0 size_t
*
2007-08-23 10:30:24 -04:00
d curl_formget_callback...
d s * based(######ptr######) procptr
*
d curl_malloc_callback...
d s * based(######ptr######) procptr
*
d curl_free_callback...
d s * based(######ptr######) procptr
*
d curl_realloc_callback...
d s * based(######ptr######) procptr
*
d curl_strdup_callback...
d s * based(######ptr######) procptr
*
d curl_calloc_callback...
d s * based(######ptr######) procptr
*
d curl_lock_function...
d s * based(######ptr######) procptr
*
d curl_unlock_function...
d s * based(######ptr######) procptr
*
d curl_progress_callback...
d s * based(######ptr######) procptr
*
d curl_xferinfo_callback...
2007-08-23 10:30:24 -04:00
d s * based(######ptr######) procptr
*
d curl_read_callback...
d s * based(######ptr######) procptr
*
d curl_write_callback...
d s * based(######ptr######) procptr
*
d curl_seek_callback...
2007-08-23 10:30:24 -04:00
d s * based(######ptr######) procptr
*
d curl_sockopt_callback...
d s * based(######ptr######) procptr
*
d curl_ioctl_callback...
d s * based(######ptr######) procptr
*
d curl_debug_callback...
d s * based(######ptr######) procptr
*
d curl_conv_callback...
d s * based(######ptr######) procptr
*
d curl_ssl_ctx_callback...
d s * based(######ptr######) procptr
*
d curl_socket_callback...
d s * based(######ptr######) procptr
*
d curl_multi_timer_callback...
d s * based(######ptr######) procptr
*
d curl_push_callback...
d s * based(######ptr######) procptr
*
d curl_opensocket_callback...
2007-08-23 10:30:24 -04:00
d s * based(######ptr######) procptr
*
d curl_sshkeycallback...
d s * based(######ptr######) procptr
*
d curl_chunk_bgn_callback...
d s * based(######ptr######) procptr
*
d curl_chunk_end_callback...
d s * based(######ptr######) procptr
*
d curl_fnmatch_callback...
d s * based(######ptr######) procptr
*
d curl_closesocket_callback...
d s * based(######ptr######) procptr
2007-08-23 10:30:24 -04:00
*
**************************************************************************
* Prototypes
**************************************************************************
*
* This procedure as a variable parameter list.
* This prototype allows use of an option array, or a single "object"
* option. Other argument lists may be implemented by alias procedure
* prototype definitions.
*
d curl_formadd pr extproc('curl_formadd')
d like(CURLFORMcode)
d httppost * curl_httppost *
d lastpost * curl_httppost *
d option1 value like(CURLFORMoption) CURLFORM_ARRAY
d options(*nopass)
d object1 * value options(*string: *nopass)
d option2 value like(CURLFORMoption) CURLFORM_END
d options(*nopass)
*
*
d curl_strequal pr 10i 0 extproc('curl_strequal')
d s1 * value options(*string)
d s2 * value options(*string)
*
d curl_strnequal pr 10i 0 extproc('curl_strnequal')
d s1 * value options(*string)
d s2 * value options(*string)
d n 10u 0 value
2007-08-23 10:30:24 -04:00
*
d curl_formget pr 10i 0 extproc('curl_formget')
d form * value curl_httppost *
d arg * value
d append value like(curl_formget_callback)
*
d curl_formfree pr extproc('curl_formfree')
d form * value curl_httppost *
*
d curl_getenv pr * extproc('curl_getenv')
d variable * value options(*string)
*
d curl_version pr * extproc('curl_version')
*
d curl_easy_escape...
d pr * extproc('curl_easy_escape') char *
d handle * value CURL *
d string * value options(*string)
d length 10i 0 value
*
d curl_escape pr * extproc('curl_escape') char *
d string * value options(*string)
d length 10i 0 value
*
d curl_easy_unescape...
d pr * extproc('curl_easy_unescape') char *
d handle * value CURL *
d string * value options(*string)
d length 10i 0 value
d outlength 10i 0 options(*omit)
*
d curl_unescape pr * extproc('curl_unescape') char *
d string * value options(*string)
d length 10i 0 value
*
d curl_free pr extproc('curl_free')
d p * value
*
d curl_global_init...
d pr extproc('curl_global_init')
d like(CURLcode)
d flags 10i 0 value
*
d curl_global_init_mem...
d pr extproc('curl_global_init_mem')
d like(CURLcode)
d m value like(curl_malloc_callback)
d f value like(curl_free_callback)
d r value like(curl_realloc_callback)
d s value like(curl_strdup_callback)
d c value like(curl_calloc_callback)
*
d curl_global_cleanup...
d pr extproc('curl_global_cleanup')
*
d curl_slist_append...
d pr * extproc('curl_slist_append') struct curl_slist *
d list * value struct curl_slist *
d data * value options(*string) const char *
*
d curl_slist_free_all...
d pr extproc('curl_slist_free_all')
d list * value struct curl_slist *
*
d curl_getdate pr 10i 0 extproc('curl_getdate') time_t
d p * value options(*string) const char *
d unused 10i 0 const options(*omit) time_t
*
d curl_share_init...
d pr * extproc('curl_share_init') CURLSH * (= void *)
*
* Variable argument type procedure.
* Multiply prototyped to support all possible types.
*
d curl_share_setopt_int...
d pr extproc('curl_share_setopt')
d like(CURLSHcode)
d share * value CURLSH * (= void *)
d option value like(CURLSHoption)
d intarg 10i 0 value options(*nopass)
*
d curl_share_setopt_ptr...
d pr extproc('curl_share_setopt')
d like(CURLSHcode)
d share * value CURLSH * (= void *)
d option value like(CURLSHoption)
d ptrarg * value options(*nopass)
*
d curl_share_setopt_proc...
d pr extproc('curl_share_setopt')
d like(CURLSHcode)
d share * value CURLSH * (= void *)
d option value like(CURLSHoption)
d procarg * value procptr options(*nopass)
*
d curl_share_cleanup...
d pr extproc('curl_share_cleanup')
d like(CURLSHcode)
d share * value CURLSH * (= void *)
*
d curl_version_info...
d pr * extproc('curl_version_info') c_i_version_data *
d version value like(CURLversion)
*
d curl_easy_strerror...
d pr * extproc('curl_easy_strerror') const char *
d code value like(CURLcode)
*
d curl_share_strerror...
d pr * extproc('curl_share_strerror') const char *
d code value like(CURLSHcode)
*
d curl_easy_init pr * extproc('curl_easy_init') CURL *
*
* Multiple prototypes for vararg procedure curl_easy_setopt.
*
d curl_easy_setopt_long...
d pr extproc('curl_easy_setopt')
d like(CURLcode)
d curl * value CURL *
d option value like(CURLoption)
d longarg 10i 0 value options(*nopass)
*
d curl_easy_setopt_object...
d pr extproc('curl_easy_setopt')
d like(CURLcode)
d curl * value CURL *
d option value like(CURLoption)
d objectarg * value options(*string: *nopass)
*
d curl_easy_setopt_function...
d pr extproc('curl_easy_setopt')
d like(CURLcode)
d curl * value CURL *
d option value like(CURLoption)
d functionarg * value procptr options(*nopass)
*
d curl_easy_setopt_offset...
d pr extproc('curl_easy_setopt')
d like(CURLcode)
d curl * value CURL *
d option value like(CURLoption)
d offsetarg value like(curl_off_t)
d options(*nopass)
*
*
d curl_easy_perform...
d pr extproc('curl_easy_perform')
d like(CURLcode)
d curl * value CURL *
*
d curl_easy_cleanup...
d pr extproc('curl_easy_cleanup')
d curl * value CURL *
*
* Multiple prototypes for vararg procedure curl_easy_getinfo.
*
d curl_easy_getinfo_string...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d stringarg * options(*nopass) char *
*
d curl_easy_getinfo_long...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d longarg 10i 0 options(*nopass)
*
d curl_easy_getinfo_double...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d doublearg 8f options(*nopass)
*
d curl_easy_getinfo_slist...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d slistarg * options(*nopass) struct curl_slist *
*
*
d curl_easy_duphandle...
d pr * extproc('curl_easy_duphandle') CURL *
d curl * value CURL *
*
d curl_easy_reset...
d pr extproc('curl_easy_reset')
d curl * value CURL *
*
d curl_easy_recv...
d pr extproc('curl_easy_recv')
d like(CURLcode)
d curl * value CURL *
d buffer * value void *
d buflen 10u 0 value size_t
d n 10u 0 size_t *
*
d curl_easy_send...
d pr extproc('curl_easy_send')
d like(CURLcode)
d curl * value CURL *
d buffer * value const void *
d buflen 10u 0 value size_t
d n 10u 0 size_t *
*
d curl_easy_pause...
d pr extproc('curl_easy_pause')
d curl * value CURL *
d bitmask 10i 0 value
*
2007-08-23 10:30:24 -04:00
d curl_multi_init...
d pr * extproc('curl_multi_init') CURLM *
*
d curl_multi_add_handle...
d pr extproc('curl_multi_add_handle')
d like(CURLMcode)
d multi_handle * value CURLM *
d curl_handle * value CURL *
*
d curl_multi_remove_handle...
d pr extproc('curl_multi_remove_handle')
d like(CURLMcode)
d multi_handle * value CURLM *
d curl_handle * value CURL *
*
d curl_multi_fdset...
d pr extproc('curl_multi_fdset')
d like(CURLMcode)
d multi_handle * value CURLM *
d read_fd_set 65535 options(*varsize) fd_set
d write_fd_set 65535 options(*varsize) fd_set
d exc_fd_set 65535 options(*varsize) fd_set
d max_fd 10i 0
*
d curl_multi_wait...
d pr extproc('curl_multi_wait')
d like(CURLMcode)
d multi_handle * value CURLM *
d extra_fds * value curl_waitfd *
d extra_nfds 10u 0 value
d timeout_ms 10i 0 value
d ret 10i 0 options(*omit)
*
2007-08-23 10:30:24 -04:00
d curl_multi_perform...
d pr extproc('curl_multi_perform')
d like(CURLMcode)
d multi_handle * value CURLM *
d running_handles...
d 10i 0
*
d curl_multi_cleanup...
d pr extproc('curl_multi_cleanup')
d like(CURLMcode)
d multi_handle * value CURLM *
*
d curl_multi_info_read...
d pr * extproc('curl_multi_info_read') CURL_Msg *
d multi_handle * value CURLM *
d msgs_in_queue 10i 0
*
d curl_multi_strerror...
d pr * extproc('curl_multi_strerror') char *
d code value like(CURLMcode)
*
d curl_pushheader_bynum...
d pr * extproc('curl_pushheader_bynum') char *
d h * value curl_pushheaders *
d num 10u 0 value
*
d curl_pushheader_byname...
d pr * extproc('curl_pushheader_byname') char *
d h * value curl_pushheaders *
d header * value options(*string) const char *
*
2007-08-23 10:30:24 -04:00
d curl_multi_socket...
d pr extproc('curl_multi_socket')
d like(CURLMcode)
d multi_handle * value CURLM *
d s value like(curl_socket_t)
d running_handles...
d 10i 0
*
d curl_multi_socket_action...
d pr extproc('curl_multi_socket_action')
d like(CURLMcode)
d multi_handle * value CURLM *
d s value like(curl_socket_t)
d ev_bitmask 10i 0 value
d running_handles...
d 10i 0
*
d curl_multi_socket_all...
d pr extproc('curl_multi_socket_all')
d like(CURLMcode)
d multi_handle * value CURLM *
d running_handles...
d 10i 0
*
d curl_multi_timeout...
d pr extproc('curl_multi_timeout')
d like(CURLMcode)
d multi_handle * value CURLM *
d milliseconds 10i 0
*
* Multiple prototypes for vararg procedure curl_multi_setopt.
*
d curl_multi_setopt_long...
d pr extproc('curl_multi_setopt')
d like(CURLMcode)
d multi_handle * value CURLM *
d option value like(CURLMoption)
d longarg 10i 0 value options(*nopass)
*
d curl_multi_setopt_object...
d pr extproc('curl_multi_setopt')
d like(CURLMcode)
d multi_handle * value CURLM *
d option value like(CURLMoption)
d objectarg * value options(*string: *nopass)
*
d curl_multi_setopt_function...
d pr extproc('curl_multi_setopt')
d like(CURLMcode)
d multi_handle * value CURLM *
d option value like(CURLMoption)
d functionarg * value procptr options(*nopass)
*
d curl_multi_setopt_offset...
d pr extproc('curl_multi_setopt')
d like(CURLMcode)
d multi_handle * value CURLM *
d option value like(CURLMoption)
d offsetarg value like(curl_off_t)
d options(*nopass)
*
*
d curl_multi_assign...
d pr extproc('curl_multi_assign')
d like(CURLMcode)
d multi_handle * value CURLM *
d sockfd value like(curl_socket_t)
d sockp * value void *
*
**************************************************************************
* CCSID wrapper procedure prototypes
**************************************************************************
*
d curl_version_ccsid...
d pr * extproc('curl_version_ccsid')
d ccsid 10u 0 value
*
d curl_easy_escape_ccsid...
d pr * extproc('curl_easy_escape_ccsid') char *
d handle * value CURL *
d string * value options(*string)
d length 10i 0 value
d ccsid 10u 0 value
*
d curl_easy_unescape_ccsid...
d pr * extproc('curl_easy_unescape_ccsid') char *
d handle * value CURL *
d string * value options(*string)
d length 10i 0 value
d outlength 10i 0 options(*omit)
d ccsid 10u 0 value
*
d curl_slist_append_ccsid...
d pr * extproc('curl_slist_append_ccsid') struct curl_slist *
d list * value struct curl_slist *
d data * value options(*string) const char *
d ccsid 10u 0 value
*
d curl_getdate_ccsid...
d pr 10i 0 extproc('curl_getdate_ccsid') time_t
d p * value options(*string) const char *
d unused 10i 0 const options(*omit) time_t
d ccsid 10u 0 value
*
d curl_version_info_ccsid...
d pr * extproc('curl_version_info_ccsid') c_i_version_data *
d version value like(CURLversion)
d ccsid 10u 0 value
*
d curl_easy_strerror_ccsid...
d pr * extproc('curl_easy_strerror_ccsid') const char *
d code value like(CURLcode)
d ccsid 10u 0 value
*
d curl_share_strerror_ccsid...
d pr * extproc('curl_share_strerror_ccsid') const char *
d code value like(CURLSHcode)
d ccsid 10u 0 value
*
d curl_multi_strerror_ccsid...
d pr * extproc('curl_multi_strerror_ccsid') char *
d code value like(CURLMcode)
d ccsid 10u 0 value
*
* May be used for strings and structures.
2007-08-23 10:30:24 -04:00
d curl_easy_getinfo_ccsid...
d pr extproc('curl_easy_getinfo_ccsid')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d ptrarg * options(*nopass) char *
2007-08-23 10:30:24 -04:00
d ccsid 10u 0 value options(*nopass)
*
d curl_certinfo_free_all...
d pr extproc('curl_certinfo_free_all')
d info * value
*
2007-08-23 10:30:24 -04:00
d curl_formadd_ccsid...
d pr extproc('curl_formadd_ccsid')
d like(CURLFORMcode)
d httppost * curl_httppost *
d lastpost * curl_httppost *
d option1 value like(CURLFORMoption) CURLFORM_ARRAY
d options(*nopass)
d object1 * value options(*string: *nopass)
d option2 value like(CURLFORMoption) CURLFORM_END
d options(*nopass)
*
d curl_formget_ccsid...
d pr 10i 0 extproc('curl_formget_ccsid')
d form * value curl_httppost *
d arg * value
d append value like(curl_formget_callback)
d ccsid 10u 0 value
*
d curl_form_long_value...
d pr * extproc('curl_form_long_value')
d value 10i 0 value curl_httppost *
*
d curl_easy_setopt_ccsid...
d pr extproc('curl_easy_setopt_ccsid')
d like(CURLcode)
d curl * value CURL *
d option value like(CURLoption)
d objectarg * value options(*string: *nopass)
d ccsid 10u 0 value options(*nopass)
*
d curl_pushheader_bynum_ccsid...
d pr * extproc( char *
d 'curl_pushheader_bynum_ccsid')
d h * value curl_pushheaders *
d num 10u 0 value
d ccsid 10u 0 value
*
d curl_pushheader_byname_ccsid...
d pr * extproc( char *
d 'curl_pushheader_byname_ccsid')
d h * value curl_pushheaders *
d header * value options(*string) const char *
d ccsidin 10u 0 value
d ccsidout 10u 0 value
*
2007-08-23 10:30:24 -04:00
/endif