1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-13 13:05:03 -05:00
curl/packages/OS400/curl.inc.in
Johannes Schindelin 5450428491 schannel: add "best effort" revocation check option
- Implement new option CURLSSLOPT_REVOKE_BEST_EFFORT and
  --ssl-revoke-best-effort to allow a "best effort" revocation check.

A best effort revocation check ignores errors that the revocation check
was unable to take place. The reasoning is described in detail below and
discussed further in the PR.

---

When running e.g. with Fiddler, the schannel backend fails with an
unhelpful error message:

	Unknown error (0x80092012) - The revocation function was unable
	to check revocation for the certificate.

Sadly, many enterprise users who are stuck behind MITM proxies suffer
the very same problem.

This has been discussed in plenty of issues:
https://github.com/curl/curl/issues/3727,
https://github.com/curl/curl/issues/264, for example.

In the latter, a Microsoft Edge developer even made the case that the
common behavior is to ignore issues when a certificate has no recorded
distribution point for revocation lists, or when the server is offline.
This is also known as "best effort" strategy and addresses the Fiddler
issue.

Unfortunately, this strategy was not chosen as the default for schannel
(and is therefore a backend-specific behavior: OpenSSL seems to happily
ignore the offline servers and missing distribution points).

To maintain backward-compatibility, we therefore add a new flag
(`CURLSSLOPT_REVOKE_BEST_EFFORT`) and a new option
(`--ssl-revoke-best-effort`) to select the new behavior.

Due to the many related issues Git for Windows and GitHub Desktop, the
plan is to make this behavior the default in these software packages.

The test 2070 was added to verify this behavior, adapted from 310.

Based-on-work-by: georgeok <giorgos.n.oikonomou@gmail.com>
Co-authored-by: Markus Olsson <j.markus.olsson@gmail.com>
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>

Closes https://github.com/curl/curl/pull/4981
2020-03-18 03:23:39 -04:00

2847 lines
128 KiB
PHP

**************************************************************************
* _ _ ____ _
* Project ___| | | | _ \| |
* / __| | | | |_) | |
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* 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.
*
* 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
*
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_PTR c X'00400000'
d CURLINFO_SOCKET...
d c X'00500000'
d CURLINFO_OFF_T...
d c X'00600000'
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'
d CURL_GLOBAL_ACK_EINTR...
d c X'00000004'
*
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
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'
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'
d CURL_VERSION_MULTI_SSL...
d c X'00400000'
d CURL_VERSION_BROTLI...
d c X'00800000'
d CURL_VERSION_ALTSVC...
d c X'01000000'
d CURL_VERSION_HTTP3...
d c X'02000000'
*
d CURL_HTTPPOST_FILENAME...
d c X'00000001'
d CURL_HTTPPOST_READFILE...
d c X'00000002'
d CURL_HTTPPOST_PTRNAME...
d c X'00000004'
d CURL_HTTPPOST_PTRCONTENTS...
d c X'00000008'
d CURL_HTTPPOST_BUFFER...
d c X'00000010'
d CURL_HTTPPOST_PTRBUFFER...
d c X'00000020'
d CURL_HTTPPOST_CALLBACK...
d c X'00000040'
d CURL_HTTPPOST_LARGE...
d c X'00000080'
*
d CURL_SEEKFUNC_OK...
d c 0
d CURL_SEEKFUNC_FAIL...
d c 1
d CURL_SEEKFUNC_CANTSEEK...
d c 2
*
d CURL_READFUNC_ABORT...
d c X'10000000'
d CURL_READFUNC_PAUSE...
d c X'10000001'
*
d CURL_WRITEFUNC_PAUSE...
d c X'10000001'
*
d CURL_TRAILERFUNC_OK...
d c 0
d CURL_TRAILERFUNC_ABORT...
d c 1
*
d CURLAUTH_NONE c X'00000000'
d CURLAUTH_BASIC c X'00000001'
d CURLAUTH_DIGEST...
d c X'00000002'
d CURLAUTH_NEGOTIATE...
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_BEARER...
d c X'00000040'
d CURLAUTH_ONLY...
d c X'80000000'
d CURLAUTH_ANY c X'7FFFFFEF'
d CURLAUTH_ANYSAFE...
d c X'7FFFFFEE'
*
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'
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'
*
d CURL_ERROR_SIZE...
d c 256
*
d CURLOPTTYPE_LONG...
d c 0
d CURLOPTTYPE_OBJECTPOINT...
d c 10000
d CURLOPTTYPE_STRINGPOINT...
d c 10000
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
d CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE...
d c 5
*
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
*
d CURL_ZERO_TERMINATED...
d c -1
*
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'
*
d CURLU_DEFAULT_PORT...
d c X'00000001'
d CURLU_NO_DEFAULT_PORT...
d c X'00000002'
d CURLU_DEFAULT_SCHEME...
d c X'00000004'
d CURLU_NON_SUPPORT_SCHEME...
d c X'00000008'
d CURLU_PATH_AS_IS...
d c X'00000010'
d CURLU_DISALLOW_USER...
d c X'00000020'
d CURLU_URLDECODE...
d c X'00000040'
d CURLU_URLENCODE...
d c X'00000080'
d CURLU_APPENDQUERY...
d c X'00000100'
d CURLU_GUESS_SCHEME...
d c X'00000200'
*
**************************************************************************
* 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...
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
d CURLE_FTP_WEIRD_SERVER_REPLY...
d c 8
d CURLE_REMOTE_ACCESS_DENIED...
d c 9
d CURLE_FTP_ACCEPT_FAILED...
d c 10
d CURLE_FTP_WEIRD_PASS_REPLY...
d c 11
d CURLE_FTP_ACCEPT_TIMEOUT...
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...
d c 17
d CURLE_PARTIAL_FILE...
d c 18
d CURLE_FTP_COULDNT_RETR_FILE...
d c 19
d CURLE_OBSOLETE20...
d c 20
d CURLE_QUOTE_ERROR...
d c 21
d CURLE_HTTP_RETURNED_ERROR...
d c 22
d CURLE_WRITE_ERROR...
d c 23
d CURLE_OBSOLETE24...
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...
d c 29
d CURLE_FTP_PORT_FAILED...
d c 30
d CURLE_FTP_COULDNT_USE_REST...
d c 31
d CURLE_OBSOLETE32...
d c 32
d CURLE_RANGE_ERROR...
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...
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...
d c 44
d CURLE_INTERFACE_FAILED...
d c 45
d CURLE_OBSOLETE46...
d c 46
d CURLE_TOO_MANY_REDIRECTS...
d c 47
d CURLE_UNKNOWN_OPTION...
d c 48
d CURLE_TELNET_OPTION_SYNTAX...
d c 49
d CURLE_OBSOLETE50...
d c 50
d CURLE_OBSOLETE51...
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...
d c 57
d CURLE_SSL_CERTPROBLEM...
d c 58
d CURLE_SSL_CIPHER...
d c 59
d CURLE_PEER_FAILED_VERIFICATION...
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...
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...
d c 70
d CURLE_TFTP_ILLEGAL...
d c 71
d CURLE_TFTP_UNKNOWNID...
d c 72
d CURLE_REMOTE_FILE_EXISTS...
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
d CURLE_RECURSIVE_API_CALL...
d c 93
d CURLE_AUTH_ERROR...
d c 94
d CURLE_HTTP3...
d c 95
d CURLE_QUIC_CONNECT_ERROR...
d c 96
*
/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_SSL_CACERT...
d c 60
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
*
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
*
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
d CURLPROXY_HTTPS...
d c 2
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
*
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...
d c 0
d CURLUSESSL_TRY...
d c 1
d CURLUSESSL_CONTROL...
d c 2
d CURLUSESSL_ALL...
d c 3
*
d CURLSSLOPT_ALLOW_BEAST...
d c X'0001'
d CURLSSLOPT_NO_REVOKE...
d c X'0002'
d CURLSSLOPT_NO_PARTIALCHAIN...
d c X'0004'
d CURLSSLOPT_REVOKE_BEST_EFFORT...
d c X'0008'
*
d CURL_HET_DEFAULT...
d c 200
*
d CURL_UPKEEP_INTERVAL_DEFAULT...
d c 60000
*
/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
*
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...
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 CURLALTSVC_IMMEDIATELY...
d c X'00000001'
d CURLALTSVC_ALTUSED...
d c X'00000002'
d CURLALTSVC_READONLYFILE...
d c X'00000004'
d CURLALTSVC_H1...
d c X'00000008'
d CURLALTSVC_H2...
d c X'00000010'
d CURLALTSVC_H3...
d c X'00000020'
*
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'
*
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
d CURLOPT_HTTPPOST...
d c 10024
d CURLOPT_SSLCERT...
d c 10025
d CURLOPT_KEYPASSWD...
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...
d c 00048
d CURLOPT_APPEND...
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
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...
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...
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...
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
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
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
d CURLOPT_CONNECT_TO...
d c 10243
d CURLOPT_TCP_FASTOPEN...
d c 00244
d CURLOPT_KEEP_SENDING_ON_ERROR...
d c 00245
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...
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
d CURLOPT_REQUEST_TARGET...
d c 10266
d CURLOPT_SOCKS5_AUTH...
d c 00267
d CURLOPT_SSH_COMPRESSION...
d c 00268
d CURLOPT_MIMEPOST...
d c 10269
d CURLOPT_TIMEVALUE_LARGE...
d c 30270
d CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS...
d c 00271
d CURLOPT_RESOLVER_START_FUNCTION...
d c 20272
d CURLOPT_RESOLVER_START_DATA...
d c 10273
d CURLOPT_HAPROXYPROTOCOL...
d c 00274
d CURLOPT_DNS_SHUFFLE_ADDRESSES...
d c 00275
d CURLOPT_TLS13_CIPHERS...
d c 10276
d CURLOPT_PROXY_TLS13_CIPHERS...
d c 10277
d CURLOPT_DISALLOW_USERNAME_IN_URL...
d c 00278
d CURLOPT_DOH_URL...
d c 10279
d CURLOPT_UPLOAD_BUFFERSIZE...
d c 00280
d CURLOPT_UPKEEP_INTERVAL_MS...
d c 00281
d CURLOPT_CURLU c 10282
d CURLOPT_TRAILERFUNCTION...
d c 20283
d CURLOPT_TRAILERDATA...
d c 10284
d CURLOPT_HTTP09_ALLOWED...
d c 00285
d CURLOPT_ALTSVC_CTRL...
d c 00286
d CURLOPT_ALTSVC...
d c 10287
d CURLOPT_MAXAGE_CONN...
d c 00288
d CURLOPT_SASL_AUTHZID...
d c 10289
*
/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
*
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
*
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_UPLOAD_T... CURLINFO_OFF_T + 7
d c X'00600007'
d CURLINFO_SIZE_DOWNLOAD... CURLINFO_DOUBLE + 8
d c X'00300008'
d CURLINFO_SIZE_DOWNLOAD_T... CURLINFO_OFF_T + 8
d c X'00600008'
d CURLINFO_SPEED_DOWNLOAD... CURLINFO_DOUBLE + 9
d c X'00300009'
d CURLINFO_SPEED_DOWNLOAD_T... CURLINFO_OFF_T + 9
d c X'00600009'
d CURLINFO_SPEED_UPLOAD... CURLINFO_DOUBLE + 10
d c X'0030000A'
d CURLINFO_SPEED_UPLOAD_T... CURLINFO_OFF_T + 10
d c X'0060000A'
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_FILETIME_T... CURLINFO_OFF_T + 14
d c X'0060000E'
d CURLINFO_CONTENT_LENGTH_DOWNLOAD... CURLINFO_DOUBLE + 15
d c X'0030000F'
d CURLINFO_CONTENT_LENGTH_DOWNLOAD_T... CURLINFO_OFF_T + 15
d c X'0060000F'
d CURLINFO_CONTENT_LENGTH_UPLOAD... CURLINFO_DOUBLE + 16
d c X'00300010'
d CURLINFO_CONTENT_LENGTH_UPLOAD_T... CURLINFO_OFF_T + 16
d c X'00600010'
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'
d CURLINFO_SSL_ENGINES... CURLINFO_SLIST + 27
d c X'0040001B'
d CURLINFO_COOKIELIST... CURLINFO_SLIST + 28
d c X'0040001C'
d CURLINFO_LASTSOCKET... CURLINFO_LONG + 29
d c X'0020001D'
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'
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'
d CURLINFO_PROXY_SSL_VERIFYRESULT... CURLINFO_LONG + 47
d c X'0020002F'
d CURLINFO_PROTOCOL... CURLINFO_LONG + 48
d c X'00200030'
d CURLINFO_SCHEME... CURLINFO_STRING + 49
d c X'00100031'
d CURLINFO_TOTAL_TIME_T... CURLINFO_OFF_T + 50
d c X'00600032'
d CURLINFO_NAMELOOKUP_TIME_T... CURLINFO_OFF_T + 51
d c X'00600033'
d CURLINFO_CONNECT_TIME_T... CURLINFO_OFF_T + 52
d c X'00600034'
d CURLINFO_PRETRANSFER_TIME_T... CURLINFO_OFF_T + 53
d c X'00600035'
d CURLINFO_STARTTRANSFER_TIME_T... CURLINFO_OFF_T + 54
d c X'00600036'
d CURLINFO_REDIRECT_TIME_T... CURLINFO_OFF_T + 55
d c X'00600037'
d CURLINFO_APPCONNECT_TIME_T... CURLINFO_OFF_T + 56
d c X'00600036'
*
d CURLINFO_HTTP_CODE... Old ...RESPONSE_CODE
d c X'00200002'
*
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
d CURLSSLBACKEND_OBSOLETE4...
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
d CURLSSLBACKEND_MESALINK...
d c 12
* Aliases for clones.
d CURLSSLBACKEND_LIBRESSL...
d c 1
d CURLSSLBACKEND_BORINGSSL...
d c 1
d CURLSSLBACKEND_WOLFSSL...
d c 6
*
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_PSL...
d c 6
d CURL_LOCK_DATA_LAST...
d c 7
*
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
*
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
*
d CURL_SOCKOPT_OK...
d c 0
d CURL_SOCKOPT_ERROR...
d c 1
d CURL_SOCKOPT_ALREADY_CONNECTED...
d c 2
*
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_RECURSIVE_API_CALL...
d c 8
d CURLM_WAKEUP_FAILURE...
d c 9
d CURLM_BAD_FUNCTION_ARGUMENT...
d c 10
d CURLM_LAST c 11
*
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
d CURLMOPT_MAX_CONCURRENT_STREAMS...
d c 10016
*
* 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
*
d CURLUcode s 10i 0 based(######ptr######) Enum
d CURLUE_OK c 0
d CURLUE_BAD_HANDLE...
d c 1
d CURLUE_BAD_PARTPOINTER...
d c 2
d CURLUE_MALFORMED_INPUT...
d c 3
d CURLUE_BAD_PORT_NUMBER...
d c 4
d CURLUE_UNSUPPORTED_SCHEME...
d c 5
d CURLUE_URLDECODE...
d c 6
d CURLUE_OUT_OF_MEMORY...
d c 7
d CURLUE_USER_NOT_ALLOWED...
d c 8
d CURLUE_UNKNOWN_PART...
d c 9
d CURLUE_NO_SCHEME...
d c 10
d CURLUE_NO_USER...
d c 11
d CURLUE_NO_PASSWORD...
d c 12
d CURLUE_NO_OPTIONS...
d c 13
d CURLUE_NO_HOST...
d c 14
d CURLUE_NO_PORT...
d c 15
d CURLUE_NO_QUERY...
d c 16
d CURLUE_NO_FRAGMENT...
d c 17
*
d CURLUPart s 10i 0 based(######ptr######) Enum
d CURLUPART_URL c 0
d CURLUPART_SCHEME...
d c 1
d CURLUPART_USER...
d c 2
d CURLUPART_PASSWORD...
d c 3
d CURLUPART_OPTIONS...
d c 4
d CURLUPART_HOST...
d c 5
d CURLUPART_PORT...
d c 6
d CURLUPART_PATH...
d c 7
d CURLUPART_QUERY...
d c 8
d CURLUPART_FRAGMENT...
d c 9
*
* 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
*
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 *
*
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)
*
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)
*
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 *
*
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
*
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...
d s * based(######ptr######) procptr
*
d curl_read_callback...
d s * based(######ptr######) procptr
*
d curl_trailer_callback...
d s * based(######ptr######) procptr
*
d curl_write_callback...
d s * based(######ptr######) procptr
*
d curl_seek_callback...
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...
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
*
d curl_resolver_start_callback...
d s * based(######ptr######) procptr
*
**************************************************************************
* Prototypes
**************************************************************************
*
d curl_mime_init pr * extproc('curl_mime_init') curl_mime *
d easy * value CURL *
*
d curl_mime_free pr extproc('curl_mime_free')
d mime * value curl_mime *
*
d curl_mime_addpart...
d pr * extproc('curl_mime_addpart') curl_mimepart *
d mime * value curl_mime *
*
d curl_mime_name pr extproc('curl_mime_name')
d like(CURLcode)
d part * value curl_mimepart *
d name * value options(*string)
*
d curl_mime_filename...
d pr extproc('curl_mime_filename')
d like(CURLcode)
d part * value curl_mimepart *
d filename * value options(*string)
*
d curl_mime_type pr extproc('curl_mime_type')
d like(CURLcode)
d part * value curl_mimepart *
d mimetype * value options(*string)
*
d curl_mime_encoder...
d pr extproc('curl_mime_encoder')
d like(CURLcode)
d part * value curl_mimepart *
d encoding * value options(*string)
*
d curl_mime_data pr extproc('curl_mime_data')
d like(CURLcode)
d part * value curl_mimepart *
d data * value options(*string)
d datasize 10u 0 size_t
*
d curl_mime_filedata...
d pr extproc('curl_mime_filedata')
d like(CURLcode)
d part * value curl_mimepart *
d filename * value options(*string)
*
d curl_mime_data_cb...
d pr extproc('curl_mime_data_cb')
d like(CURLcode)
d part * value curl_mimepart *
d datasize value like(curl_off_t)
d readfunc value like(curl_read_callback)
d seekfunc value like(curl_seek_callback)
d freefunc value like(curl_free_callback)
d arg * value void *
*
d curl_mime_subparts...
d pr extproc('curl_mime_subparts')
d like(CURLcode)
d part * value curl_mimepart *
d subparts * value curl_mime *
*
d curl_mime_headers...
d pr extproc('curl_mime_headers')
d like(CURLcode)
d part * value curl_mimepart *
d headers * value curl_slist *
d take_ownership...
d 10i 0 value
*
* 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
*
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_getinfo_ptr...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d ptrarg * options(*nopass) void *
*
d curl_easy_getinfo_socket...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d socketarg like(curl_socket_t) options(*nopass)
*
d curl_easy_getinfo_off_t...
d pr extproc('curl_easy_getinfo')
d like(CURLcode)
d curl * value CURL *
d info value like(CURLINFO)
d offsetarg like(curl_off_t) options(*nopass)
*
*
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 like(CURLcode)
d curl * value CURL *
d bitmask 10i 0 value
*
d curl_easy_upkeep...
d pr extproc('curl_easy_upkeep')
d like(CURLcode)
d curl * value CURL *
*
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)
*
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 *
*
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 *
*
d curl_url pr * extproc('curl_url') CURLU *
*
d curl_url_cleanup...
d pr extproc('curl_url_cleanup')
d handle * value CURLU *
*
d curl_url_dup pr * extproc('curl_url_dup') CURLU *
d in * value CURLU *
*
d curl_url_get pr extproc('curl_url_get')
d like(CURLUcode)
d handle * value CURLU *
d what value like(CURLUPart)
d part * char **
d flags 10u 0 value
*
d curl_url_set pr extproc('curl_url_set')
d like(CURLUcode)
d handle * value CURLU *
d what value like(CURLUPart)
d part * value options(*string)
d flags 10u 0 value
*
**************************************************************************
* 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.
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 *
d ccsid 10u 0 value options(*nopass)
*
d curl_certinfo_free_all...
d pr extproc('curl_certinfo_free_all')
d info * value
*
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
*
d curl_mime_name_ccsid...
d pr extproc('curl_mime_name_ccsid')
d like(CURLcode)
d part * value curl_mimepart *
d name * value options(*string)
d ccsid 10u 0 value
*
d curl_mime_filename_ccsid...
d pr extproc('curl_mime_filename_ccsid')
d like(CURLcode)
d part * value curl_mimepart *
d filename * value options(*string)
d ccsid 10u 0 value
*
d curl_mime_type_ccsid...
d pr extproc('curl_mime_type_ccsid')
d like(CURLcode)
d part * value curl_mimepart *
d mimetype * value options(*string)
d ccsid 10u 0 value
*
d curl_mime_encoder_ccsid...
d pr extproc('curl_mime_encoder_ccsid')
d like(CURLcode)
d part * value curl_mimepart *
d encoding * value options(*string)
d ccsid 10u 0 value
*
d curl_mime_data_ccsid...
d pr extproc('curl_mime_data_ccsid')
d like(CURLcode)
d part * value curl_mimepart *
d data * value options(*string)
d datasize 10u 0 size_t
d ccsid 10u 0 value
*
d curl_mime_filedata_ccsid...
d pr extproc('curl_mime_filedata_ccsid')
d like(CURLcode)
d part * value curl_mimepart *
d filename * value options(*string)
d ccsid 10u 0 value
*
d curl_url_get_ccsid...
d pr extproc('curl_url_get_ccsid')
d like(CURLUcode)
d handle * value CURLU *
d what value like(CURLUPart)
d part * char **
d flags 10u 0 value
d ccsid 10u 0 value
*
d curl_url_set_ccsid...
d pr extproc('curl_url_set_ccsid')
d like(CURLUcode)
d handle * value CURLU *
d what value like(CURLUPart)
d part * value options(*string)
d flags 10u 0 value
d ccsid 10u 0 value
*
/endif