      **************************************************************************
      *                                  _   _ ____  _
      *  Project                     ___| | | |  _ \| |
      *                             / __| | | | |_) | |
      *                            | (__| |_| |  _ <| |___
      *                             \___|\___/|_| \_\_____|
      *
      * Copyright (C) 1998 - 2011, 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 http://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_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_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'
     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 HTTPPOST_FILENAME...
     d                 c                   X'00000001'
     d HTTPPOST_READFILE...
     d                 c                   X'00000002'
     d HTTPPOST_PTRNAME...
     d                 c                   X'00000004'
     d HTTPPOST_PTRCONTENTS...
     d                 c                   X'00000008'
     d HTTPPOST_BUFFER...
     d                 c                   X'00000010'
     d HTTPPOST_PTRBUFFER...
     d                 c                   X'00000020'
     d HTTPPOST_CALLBACK...
     d                 c                   X'00000040'
      *
     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_GSSNEGOTIATE...
     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_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_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_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_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_ALL...
     d                 c                   3
      *
     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 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
      *
      **************************************************************************
      *                                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_FTP_WEIRD_SERVER_REPLY...
     d                 c                   8
     d  CURLE_REMOTE_ACCESS_DENIED...
     d                 c                   9
     d  CURLE_OBSOLETE10...
     d                 c                   10
     d  CURLE_FTP_WEIRD_PASS_REPLY...
     d                 c                   11
     d  CURLE_OBSOLETE12...
     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_OBSOLETE16...
     d                 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
      *
      /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_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
      *
      /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  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 CURLoption      s             10i 0 based(######ptr######)               Enum
     d  CURLOPT_FILE   c                   10001
     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_INFILE...
     d                 c                   10009
     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_WRITEHEADER...
     d                 c                   10029
     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_WRITEINFO...
     d                 c                   10040
     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_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_CLOSEPOLICY...
     d                 c                   00072
     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
      *
      /if not defined(CURL_NO_OLDIES)
     d  CURLOPT_SSLKEYPASSWD...
     d                 c                   10026
     d  CURLOPT_SSLCERTPASSWD...
     d                 c                   10026
     d  CURLOPT_FTPLISTONLY...
     d                 c                   00048
     d  CURLOPT_FTPAPPEND...
     d                 c                   00050
     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 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_HTTP_CODE...                                                   Old ...RESPONSE_CODE
     d                 c                   X'00200002'
      *
     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  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_LAST     c                   7
      *
     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
      *
      *  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_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_khkey      ds                  based(######ptr######)
     d                                     qualified
     d  key                            *                                        const char *
     d  len                          10u 0
     d  keytype                      10i 0
      *
     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_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 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_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_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_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_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_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
      *
     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  stringarg                      *   options(*nopass)                     char *
     d  ccsid                        10u 0 value options(*nopass)
      *
     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)
      *
      /endif
