      **************************************************************************
      *                                  _   _ ____  _
      *  Project                     ___| | | |  _ \| |
      *                             / __| | | | |_) | |
      *                            | (__| |_| |  _ <| |___
      *                             \___|\___/|_| \_\_____|
      *
      * Copyright (C) 1998 - 2016, 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_SOCKET...
     d                 c                   X'00500000'
     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_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 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_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_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_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'
      *
      **************************************************************************
      *                                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_PEER_FAILED_VERIFICATION...
     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_SSL_CACERT...
     d                 c                   60
     d  CURLE_BAD_CONTENT_ENCODING...
     d                 c                   61
     d  CURLE_LDAP_INVALID_URL...
     d                 c                   62
     d  CURLE_FILESIZE_EXCEEDED...
     d                 c                   63
     d  CURLE_USE_SSL_FAILED...
     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_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'
      *
      /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  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
      *
      /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_DOWNLOAD...                                               CURLINFO_DOUBLE + 8
     d                 c                   X'00300008'
     d  CURLINFO_SPEED_DOWNLOAD...                                              CURLINFO_DOUBLE + 9
     d                 c                   X'00300009'
     d  CURLINFO_SPEED_UPLOAD...                                                CURLINFO_DOUBLE + 10
     d                 c                   X'0030000A'
     d  CURLINFO_HEADER_SIZE...                                                 CURLINFO_LONG   + 11
     d                 c                   X'0020000B'
     d  CURLINFO_REQUEST_SIZE...                                                CURLINFO_LONG   + 12
     d                 c                   X'0020000C'
     d  CURLINFO_SSL_VERIFYRESULT...                                            CURLINFO_LONG   + 13
     d                 c                   X'0020000D'
     d  CURLINFO_FILETIME...                                                    CURLINFO_LONG   + 14
     d                 c                   X'0020000E'
     d  CURLINFO_CONTENT_LENGTH_DOWNLOAD...                                     CURLINFO_DOUBLE + 15
     d                 c                   X'0030000F'
     d  CURLINFO_CONTENT_LENGTH_UPLOAD...                                       CURLINFO_DOUBLE + 16
     d                 c                   X'00300010'
     d  CURLINFO_STARTTRANSFER_TIME...                                          CURLINFO_DOUBLE + 17
     d                 c                   X'00300011'
     d  CURLINFO_CONTENT_TYPE...                                                CURLINFO_STRING + 18
     d                 c                   X'00100012'
     d  CURLINFO_REDIRECT_TIME...                                               CURLINFO_DOUBLE + 19
     d                 c                   X'00300013'
     d  CURLINFO_REDIRECT_COUNT...                                              CURLINFO_LONG   + 20
     d                 c                   X'00200014'
     d  CURLINFO_PRIVATE...                                                     CURLINFO_STRING + 21
     d                 c                   X'00100015'
     d  CURLINFO_HTTP_CONNECTCODE...                                            CURLINFO_LONG   + 22
     d                 c                   X'00200016'
     d  CURLINFO_HTTPAUTH_AVAIL...                                              CURLINFO_LONG   + 23
     d                 c                   X'00200017'
     d  CURLINFO_PROXYAUTH_AVAIL...                                             CURLINFO_LONG   + 24
     d                 c                   X'00200018'
     d  CURLINFO_OS_ERRNO...                                                    CURLINFO_LONG   + 25
     d                 c                   X'00200019'
     d  CURLINFO_NUM_CONNECTS...                                                CURLINFO_LONG   + 26
     d                 c                   X'0020001A'
     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_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
      * 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_LAST...
     d                 c                   6
      *
     d curl_lock_access...
     d                 s             10i 0 based(######ptr######)               Enum
     d  CURL_LOCK_ACCESS_NONE...
     d                 c                   0
     d  CURL_LOCK_ACCESS_SHARED...
     d                 c                   1
     d  CURL_LOCK_ACCESS_SINGLE...
     d                 c                   2
      *
     d curl_TimeCond   s             10i 0 based(######ptr######)               Enum
     d  CURL_TIMECOND_NONE...
     d                 c                   0
     d  CURL_TIMECOND_IFMODSINCE...
     d                 c                   1
     d  CURL_TIMECOND_LASTMOD...
     d                 c                   2
     d  CURL_TIMECOND_LAST...
     d                 c                   3
      *
     d CURLSHcode      s             10i 0 based(######ptr######)               Enum
     d  CURLSHE_OK     c                   0
     d  CURLSHE_BAD_OPTION...
     d                 c                   1
     d  CURLSHE_IN_USE...
     d                 c                   2
     d  CURLSHE_INVALID...
     d                 c                   3
     d  CURLSHE_NOMEM...
     d                 c                   4
     d  CURLSHE_NOT_BUILT_IN...
     d                 c                   5
      *
     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
      *
      * 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

      *
      *  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_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
      *
      **************************************************************************
      *                              Prototypes
      **************************************************************************
      *
      *  This procedure as a variable parameter list.
      *  This prototype allows use of an option array, or a single "object"
      *    option. Other argument lists may be implemented by alias procedure
      *    prototype definitions.
      *
     d curl_formadd    pr                  extproc('curl_formadd')
     d                                     like(CURLFORMcode)
     d  httppost                       *                                        curl_httppost *
     d  lastpost                       *                                        curl_httppost *
     d  option1                            value like(CURLFORMoption)           CURLFORM_ARRAY
     d                                     options(*nopass)
     d  object1                        *   value options(*string: *nopass)
     d  option2                            value like(CURLFORMoption)           CURLFORM_END
     d                                     options(*nopass)
      *
      *
     d curl_strequal   pr            10i 0 extproc('curl_strequal')
     d  s1                             *   value options(*string)
     d  s2                             *   value options(*string)
      *
     d curl_strnequal  pr            10i 0 extproc('curl_strnequal')
     d  s1                             *   value options(*string)
     d  s2                             *   value options(*string)
     d  n                            10u 0 value
      *
     d curl_formget    pr            10i 0 extproc('curl_formget')
     d  form                           *   value                                curl_httppost *
     d  arg                            *   value
     d  append                             value like(curl_formget_callback)
      *
     d curl_formfree   pr                  extproc('curl_formfree')
     d  form                           *   value                                curl_httppost *
      *
     d curl_getenv     pr              *   extproc('curl_getenv')
     d  variable                       *   value options(*string)
      *
     d curl_version    pr              *   extproc('curl_version')
      *
     d curl_easy_escape...
     d                 pr              *   extproc('curl_easy_escape')          char *
     d  handle                         *   value                                CURL *
     d  string                         *   value options(*string)
     d  length                       10i 0 value
      *
     d curl_escape     pr              *   extproc('curl_escape')               char *
     d  string                         *   value options(*string)
     d  length                       10i 0 value
      *
     d curl_easy_unescape...
     d                 pr              *   extproc('curl_easy_unescape')        char *
     d  handle                         *   value                                CURL *
     d  string                         *   value options(*string)
     d  length                       10i 0 value
     d  outlength                    10i 0 options(*omit)
      *
     d curl_unescape   pr              *   extproc('curl_unescape')             char *
     d  string                         *   value options(*string)
     d  length                       10i 0 value
      *
     d curl_free       pr                  extproc('curl_free')
     d  p                              *   value
      *
     d curl_global_init...
     d                 pr                  extproc('curl_global_init')
     d                                     like(CURLcode)
     d  flags                        10i 0 value
      *
     d curl_global_init_mem...
     d                 pr                  extproc('curl_global_init_mem')
     d                                     like(CURLcode)
     d  m                                  value like(curl_malloc_callback)
     d  f                                  value like(curl_free_callback)
     d  r                                  value like(curl_realloc_callback)
     d  s                                  value like(curl_strdup_callback)
     d  c                                  value like(curl_calloc_callback)
      *
     d curl_global_cleanup...
     d                 pr                  extproc('curl_global_cleanup')
      *
     d curl_slist_append...
     d                 pr              *   extproc('curl_slist_append')         struct curl_slist *
     d  list                           *   value                                struct curl_slist *
     d  data                           *   value options(*string)               const char *
      *
     d curl_slist_free_all...
     d                 pr                  extproc('curl_slist_free_all')
     d  list                           *   value                                struct curl_slist *
      *
     d curl_getdate    pr            10i 0 extproc('curl_getdate')              time_t
     d  p                              *   value options(*string)               const char *
     d  unused                       10i 0 const options(*omit)                 time_t
      *
     d curl_share_init...
     d                 pr              *   extproc('curl_share_init')           CURLSH * (= void *)
      *
      *  Variable argument type procedure.
      *  Multiply prototyped to support all possible types.
      *
     d curl_share_setopt_int...
     d                 pr                  extproc('curl_share_setopt')
     d                                     like(CURLSHcode)
     d  share                          *   value                                CURLSH * (= void *)
     d  option                             value like(CURLSHoption)
     d  intarg                       10i 0 value options(*nopass)
      *
     d curl_share_setopt_ptr...
     d                 pr                  extproc('curl_share_setopt')
     d                                     like(CURLSHcode)
     d  share                          *   value                                CURLSH * (= void *)
     d  option                             value like(CURLSHoption)
     d  ptrarg                         *   value options(*nopass)
      *
     d curl_share_setopt_proc...
     d                 pr                  extproc('curl_share_setopt')
     d                                     like(CURLSHcode)
     d  share                          *   value                                CURLSH * (= void *)
     d  option                             value like(CURLSHoption)
     d  procarg                        *   value procptr options(*nopass)
      *
     d curl_share_cleanup...
     d                 pr                  extproc('curl_share_cleanup')
     d                                     like(CURLSHcode)
     d  share                          *   value                                CURLSH * (= void *)
      *
     d curl_version_info...
     d                 pr              *   extproc('curl_version_info')         c_i_version_data *
     d  version                            value like(CURLversion)
      *
     d curl_easy_strerror...
     d                 pr              *   extproc('curl_easy_strerror')        const char *
     d  code                               value like(CURLcode)
      *
     d curl_share_strerror...
     d                 pr              *   extproc('curl_share_strerror')       const char *
     d  code                               value like(CURLSHcode)
      *
     d curl_easy_init  pr              *   extproc('curl_easy_init')            CURL *
      *
      *  Multiple prototypes for vararg procedure curl_easy_setopt.
      *
     d curl_easy_setopt_long...
     d                 pr                  extproc('curl_easy_setopt')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
     d  option                             value like(CURLoption)
     d  longarg                      10i 0 value options(*nopass)
      *
     d curl_easy_setopt_object...
     d                 pr                  extproc('curl_easy_setopt')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
     d  option                             value like(CURLoption)
     d  objectarg                      *   value options(*string: *nopass)
      *
     d curl_easy_setopt_function...
     d                 pr                  extproc('curl_easy_setopt')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
     d  option                             value like(CURLoption)
     d  functionarg                    *   value procptr options(*nopass)
      *
     d curl_easy_setopt_offset...
     d                 pr                  extproc('curl_easy_setopt')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
     d  option                             value like(CURLoption)
     d  offsetarg                          value like(curl_off_t)
     d                                     options(*nopass)
      *
      *
     d curl_easy_perform...
     d                 pr                  extproc('curl_easy_perform')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
      *
     d curl_easy_cleanup...
     d                 pr                  extproc('curl_easy_cleanup')
     d  curl                           *   value                                CURL *
      *
      *  Multiple prototypes for vararg procedure curl_easy_getinfo.
      *
     d curl_easy_getinfo_string...
     d                 pr                  extproc('curl_easy_getinfo')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
     d  info                               value like(CURLINFO)
     d  stringarg                      *   options(*nopass)                     char *
      *
     d curl_easy_getinfo_long...
     d                 pr                  extproc('curl_easy_getinfo')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
     d  info                               value like(CURLINFO)
     d  longarg                      10i 0 options(*nopass)
      *
     d curl_easy_getinfo_double...
     d                 pr                  extproc('curl_easy_getinfo')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
     d  info                               value like(CURLINFO)
     d  doublearg                     8f   options(*nopass)
      *
     d curl_easy_getinfo_slist...
     d                 pr                  extproc('curl_easy_getinfo')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
     d  info                               value like(CURLINFO)
     d  slistarg                       *   options(*nopass)                     struct curl_slist *
      *
      *
     d curl_easy_duphandle...
     d                 pr              *   extproc('curl_easy_duphandle')       CURL *
     d  curl                           *   value                                CURL *
      *
     d curl_easy_reset...
     d                 pr                  extproc('curl_easy_reset')
     d  curl                           *   value                                CURL *
      *
     d curl_easy_recv...
     d                 pr                  extproc('curl_easy_recv')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
     d  buffer                         *   value                                void *
     d  buflen                       10u 0 value                                size_t
     d  n                            10u 0                                      size_t *
      *
     d curl_easy_send...
     d                 pr                  extproc('curl_easy_send')
     d                                     like(CURLcode)
     d  curl                           *   value                                CURL *
     d  buffer                         *   value                                const void *
     d  buflen                       10u 0 value                                size_t
     d  n                            10u 0                                      size_t *
      *
     d curl_easy_pause...
     d                 pr                  extproc('curl_easy_pause')
     d  curl                           *   value                                CURL *
     d  bitmask                      10i 0 value
      *
     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 *
      *
      **************************************************************************
      *                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
      *
      /endif
