      **************************************************************************
      *                                  _   _ ____  _
      *  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
      *
      /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 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_LAST     c                   8
      *
     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
