      **************************************************************************
      *                                  _   _ ____  _
      *  Project                     ___| | | |  _ \| |
      *                             / __| | | | |_) | |
      *                            | (__| |_| |  _ <| |___
      *                             \___|\___/|_| \_\_____|
      *
      * Copyright (C) 1998 - 2008, 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.
      *
      * $Id$
      *
      **************************************************************************
      *
      /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
      *
     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 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_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_ANY    c                   X'7FFFFFFF'
     d CURLAUTH_ANYSAFE...
     d                 c                   X'7FFFFFFE'                          ~CURLAUTH_BASIC
      *
     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 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_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'
      *
      **************************************************************************
      *                                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_OBSOLETE4...
     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_TELNET_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 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 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_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_usessl     s             10i 0 based(######ptr######)               Enum
     d  CURLUSESSL_NONE...
     d                 c                   0
     d  CURLUSESSL_TRY...
     d                 c                   1
     d  CURLUSESSL_CONTROL...
     d                 c                   2
     d  CURLUSESSL_ALL...
     d                 c                   3
      *
     d 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_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 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_HTTPPOST...
     d                 c                   10024
     d  CURLOPT_SSLCERT...
     d                 c                   10025
     d  CURLOPT_SSLCERTPASSWD...
     d                 c                   10026
     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_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_POST301...
     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 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_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 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 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
      *
      *  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                      10i 0                                      socklen_t
     d  addr                         16                                         struct sockaddr
      *
     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_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
      *
      **************************************************************************
      *                              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
