Here it is:
/
* libcurl 'easy' API - Harbour header.
*
* Copyright 2008 Viktor Szakats (vszakats.net/harbour)
* originally based on:
* Copyright 2005 Luiz Rafael Culik Guimaraes <luiz at xharbour.com.br>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this software; see the file COPYING.txt. If not, write to
* the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
* Boston, MA 02111-1307 USA (or visit the web site https://www.gnu.org/).
*
* As a special exception, the Harbour Project gives permission for
* additional uses of the text contained in its release of Harbour.
*
* The exception is that, if you link the Harbour libraries with other
* files to produce an executable, this does not by itself cause the
* resulting executable to be covered by the GNU General Public License.
* Your use of that executable is in no way restricted on account of
* linking the Harbour library code into it.
*
* This exception does not however invalidate any other reasons why
* the executable file might be covered by the GNU General Public License.
*
* This exception applies only to the code released by the Harbour
* Project under the name Harbour. If you copy code from other
* Harbour Project or Free Software Foundation releases into a copy of
* Harbour, as the General Public License permits, the exception does
* not apply to the code that you add in this way. To avoid misleading
* anyone as to the status of such modified files, you must delete
* this exception notice from them.
*
* If you write modifications of your own for Harbour, it is your choice
* whether to permit this exception to apply to your modifications.
* If you do not wish that, delete this exception notice.
*
/
/ NOTE: This file is also used by C code. /
ifndef HBCURL_CH_
define HBCURL_CH_
/ curl_easy_setopt() parameters.
NOTE: The actual values may be different from the libcurl equivalent. /
define HB_CURLOPT_FILE 1
define HB_CURLOPT_URL 2
define HB_CURLOPT_PORT 3
define HB_CURLOPT_PROXY 4
define HB_CURLOPT_USERPWD 5
define HB_CURLOPT_PROXYUSERPWD 6
define HB_CURLOPT_RANGE 7
define HB_CURLOPT_INFILE 9
define HB_CURLOPT_ERRORBUFFER 10
define HB_CURLOPT_WRITEFUNCTION 11
define HB_CURLOPT_READFUNCTION 12
define HB_CURLOPT_TIMEOUT 13
define HB_CURLOPT_INFILESIZE 14
define HB_CURLOPT_POSTFIELDS 15
define HB_CURLOPT_REFERER 16
define HB_CURLOPT_FTPPORT 17
define HB_CURLOPT_USERAGENT 18
define HB_CURLOPT_LOW_SPEED_LIMIT 19
define HB_CURLOPT_LOW_SPEED_TIME 20
define HB_CURLOPT_RESUME_FROM 21
define HB_CURLOPT_COOKIE 22
define HB_CURLOPT_HTTPHEADER 23
define HB_CURLOPT_HTTPPOST 24
define HB_CURLOPT_SSLCERT 25
define HB_CURLOPT_KEYPASSWD 26
define HB_CURLOPT_SSLCERTPASSWD HB_CURLOPT_KEYPASSWD
define HB_CURLOPT_SSLKEYPASSWD HB_CURLOPT_KEYPASSWD
define HB_CURLOPT_CRLF 27
define HB_CURLOPT_QUOTE 28
define HB_CURLOPT_WRITEHEADER 29
define HB_CURLOPT_COOKIEFILE 31
define HB_CURLOPT_SSLVERSION 32
define HB_CURLOPT_TIMECONDITION 33
define HB_CURLOPT_TIMEVALUE 34
define HB_CURLOPT_CUSTOMREQUEST 36
define HB_CURLOPT_STDERR 37
define HB_CURLOPT_POSTQUOTE 39
define HB_CURLOPT_WRITEINFO 40
define HB_CURLOPT_VERBOSE 41 / talk a lot /
define HB_CURLOPT_HEADER 42 / throw the header out too /
define HB_CURLOPT_NOPROGRESS 43 / shut off the progress meter /
define HB_CURLOPT_NOBODY 44 / use HEAD to get http document /
define HB_CURLOPT_FAILONERROR 45 / no output on http error codes >= 300 /
define HB_CURLOPT_UPLOAD 46 / this is an upload /
define HB_CURLOPT_POST 47 / HTTP POST method /
define HB_CURLOPT_DIRLISTONLY 48 / Use NLST when listing ftp dir /
define HB_CURLOPT_FTPLISTONLY HB_CURLOPT_DIRLISTONLY
define HB_CURLOPT_APPEND 50 / Append instead of overwrite on upload! /
define HB_CURLOPT_FTPAPPEND HB_CURLOPT_APPEND
define HB_CURLOPT_NETRC 51
define HB_CURLOPT_FOLLOWLOCATION 52 / use Location: Luke! /
define HB_CURLOPT_TRANSFERTEXT 53 / transfer data in text/ASCII format /
define HB_CURLOPT_PUT 54 / HTTP PUT /
define HB_CURLOPT_PROGRESSFUNCTION 56
define HB_CURLOPT_PROGRESSDATA 57
define HB_CURLOPT_AUTOREFERER 58
define HB_CURLOPT_PROXYPORT 59
define HB_CURLOPT_POSTFIELDSIZE 60
define HB_CURLOPT_HTTPPROXYTUNNEL 61
define HB_CURLOPT_INTERFACE 62
define HB_CURLOPT_KRBLEVEL 63
define HB_CURLOPT_KRB4LEVEL HB_CURLOPT_KRBLEVEL
define HB_CURLOPT_SSL_VERIFYPEER 64
define HB_CURLOPT_CAINFO 65
define HB_CURLOPT_MAXREDIRS 68
define HB_CURLOPT_FILETIME 69
define HB_CURLOPT_TELNETOPTIONS 70
define HB_CURLOPT_MAXCONNECTS 71
define HB_CURLOPT_CLOSEPOLICY 72
define HB_CURLOPT_FRESH_CONNECT 74
define HB_CURLOPT_FORBID_REUSE 75
define HB_CURLOPT_RANDOM_FILE 76
define HB_CURLOPT_EGDSOCKET 77
define HB_CURLOPT_CONNECTTIMEOUT 78
define HB_CURLOPT_HEADERFUNCTION 79
define HB_CURLOPT_HTTPGET 80
define HB_CURLOPT_SSL_VERIFYHOST 81
define HB_CURLOPT_COOKIEJAR 82
define HB_CURLOPT_SSL_CIPHER_LIST 83
define HB_CURLOPT_HTTP_VERSION 84
define HB_CURLOPT_FTP_USE_EPSV 85
define HB_CURLOPT_SSLCERTTYPE 86
define HB_CURLOPT_SSLKEY 87
define HB_CURLOPT_SSLKEYTYPE 88
define HB_CURLOPT_SSLENGINE 89
define HB_CURLOPT_SSLENGINE_DEFAULT 90
define HB_CURLOPT_DNS_USE_GLOBAL_CACHE 91 / To become OBSOLETE soon /
define HB_CURLOPT_DNS_CACHE_TIMEOUT 92
define HB_CURLOPT_PREQUOTE 93
define HB_CURLOPT_DEBUGFUNCTION 94
define HB_CURLOPT_DEBUGDATA 95
define HB_CURLOPT_COOKIESESSION 96
define HB_CURLOPT_CAPATH 97
define HB_CURLOPT_BUFFERSIZE 98
define HB_CURLOPT_NOSIGNAL 99
define HB_CURLOPT_SHARE 100
define HB_CURLOPT_PROXYTYPE 101
define HB_CURLOPT_ACCEPT_ENCODING 102
define HB_CURLOPT_ENCODING HB_CURLOPT_ACCEPT_ENCODING
define HB_CURLOPT_PRIVATE 103
define HB_CURLOPT_HTTP200ALIASES 104
define HB_CURLOPT_UNRESTRICTED_AUTH 105
define HB_CURLOPT_FTP_USE_EPRT 106
define HB_CURLOPT_HTTPAUTH 107
define HB_CURLOPT_SSL_CTX_FUNCTION 108
define HB_CURLOPT_SSL_CTX_DATA 109
define HB_CURLOPT_FTP_CREATE_MISSING_DIRS 110
define HB_CURLOPT_PROXYAUTH 111
define HB_CURLOPT_FTP_RESPONSE_TIMEOUT 112
define HB_CURLOPT_IPRESOLVE 113
define HB_CURLOPT_MAXFILESIZE 114
define HB_CURLOPT_INFILESIZE_LARGE 115
define HB_CURLOPT_RESUME_FROM_LARGE 116
define HB_CURLOPT_MAXFILESIZE_LARGE 117
define HB_CURLOPT_NETRC_FILE 118
define HB_CURLOPT_USE_SSL 119
define HB_CURLOPT_FTP_SSL HB_CURLOPT_USE_SSL
define HB_CURLOPT_POSTFIELDSIZE_LARGE 120
define HB_CURLOPT_TCP_NODELAY 121
define HB_CURLOPT_SOURCE_USERPWD 123
define HB_CURLOPT_SOURCE_PREQUOTE 127
define HB_CURLOPT_SOURCE_POSTQUOTE 128
define HB_CURLOPT_FTPSSLAUTH 129
define HB_CURLOPT_IOCTLFUNCTION 130
define HB_CURLOPT_IOCTLDATA 131
define HB_CURLOPT_SOURCE_URL 132
define HB_CURLOPT_SOURCE_QUOTE 133
define HB_CURLOPT_FTP_ACCOUNT 134
define HB_CURLOPT_COOKIELIST 135
define HB_CURLOPT_IGNORE_CONTENT_LENGTH 136
define HB_CURLOPT_FTP_SKIP_PASV_IP 137
define HB_CURLOPT_FTP_FILEMETHOD 138
define HB_CURLOPT_LOCALPORT 139
define HB_CURLOPT_LOCALPORTRANGE 140
define HB_CURLOPT_CONNECT_ONLY 141
define HB_CURLOPT_CONV_FROM_NETWORK_FUNCTION 142
define HB_CURLOPT_CONV_TO_NETWORK_FUNCTION 143
define HB_CURLOPT_CONV_FROM_UTF8_FUNCTION 144
define HB_CURLOPT_MAX_SEND_SPEED_LARGE 145
define HB_CURLOPT_MAX_RECV_SPEED_LARGE 146
define HB_CURLOPT_FTP_ALTERNATIVE_TO_USER 147
define HB_CURLOPT_SOCKOPTFUNCTION 148
define HB_CURLOPT_SOCKOPTDATA 149
define HB_CURLOPT_SSL_SESSIONID_CACHE 150
define HB_CURLOPT_SSH_AUTH_TYPES 151
define HB_CURLOPT_SSH_PUBLIC_KEYFILE 152
define HB_CURLOPT_SSH_PRIVATE_KEYFILE 153
define HB_CURLOPT_FTP_SSL_CCC 154
define HB_CURLOPT_TIMEOUT_MS 155
define HB_CURLOPT_CONNECTTIMEOUT_MS 156
define HB_CURLOPT_HTTP_TRANSFER_DECODING 157
define HB_CURLOPT_HTTP_CONTENT_DECODING 158
define HB_CURLOPT_NEW_FILE_PERMS 159
define HB_CURLOPT_NEW_DIRECTORY_PERMS 160
define HB_CURLOPT_POST301 161
define HB_CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 162
define HB_CURLOPT_OPENSOCKETFUNCTION 163
define HB_CURLOPT_OPENSOCKETDATA 164
define HB_CURLOPT_COPYPOSTFIELDS 165
define HB_CURLOPT_PROXY_TRANSFER_MODE 166
define HB_CURLOPT_SEEKFUNCTION 167
define HB_CURLOPT_SEEKDATA 168
define HB_CURLOPT_CRLFILE 169
define HB_CURLOPT_ISSUERCERT 170
define HB_CURLOPT_ADDRESS_SCOPE 171
define HB_CURLOPT_CERTINFO 172
define HB_CURLOPT_POSTREDIR HB_CURLOPT_POST301
define HB_CURLOPT_USERNAME 173
define HB_CURLOPT_PASSWORD 174
define HB_CURLOPT_PROXYUSERNAME 175
define HB_CURLOPT_PROXYPASSWORD 176
define HB_CURLOPT_NOPROXY 177
define HB_CURLOPT_TFTP_BLKSIZE 178
define HB_CURLOPT_SOCKS5_GSSAPI_SERVICE 179
define HB_CURLOPT_SOCKS5_GSSAPI_NEC 180
define HB_CURLOPT_PROTOCOLS 181
define HB_CURLOPT_REDIR_PROTOCOLS 182
define HB_CURLOPT_SSH_KNOWNHOSTS 183
define HB_CURLOPT_MAIL_FROM 186
define HB_CURLOPT_MAIL_RCPT 187
define HB_CURLOPT_FTP_USE_PRET 188
define HB_CURLOPT_RTSP_REQUEST 189
define HB_CURLOPT_RTSP_SESSION_ID 190
define HB_CURLOPT_RTSP_STREAM_URI 191
define HB_CURLOPT_RTSP_TRANSPORT 192
define HB_CURLOPT_RTSP_HEADER HB_CURLOPT_HTTPHEADER
define HB_CURLOPT_RTSP_CLIENT_CSEQ 193
define HB_CURLOPT_RTSP_SERVER_CSEQ 194
define HB_CURLOPT_WILDCARDMATCH 197
define HB_CURLOPT_RESOLVE 198
define HB_CURLOPT_TRANSFER_ENCODING 199
define HB_CURLOPT_GSSAPI_DELEGATION 200
define HB_CURLOPT_DNS_SERVERS 201
define HB_CURLOPT_ACCEPTTIMEOUT_MS 202
define HB_CURLOPT_SSL_OPTIONS 203
define HB_CURLOPT_TCP_KEEPALIVE 204
define HB_CURLOPT_TCP_KEEPIDLE 205
define HB_CURLOPT_TCP_KEEPINTVL 206
define HB_CURLOPT_MAIL_AUTH 207
define HB_CURLOPT_DOWNLOAD 1001 / Harbour special ones /
define HB_CURLOPT_PROGRESSBLOCK 1002
define HB_CURLOPT_UL_FILE_SETUP 1003
define HB_CURLOPT_UL_FILE_CLOSE 1004
define HB_CURLOPT_DL_FILE_SETUP 1005
define HB_CURLOPT_DL_FILE_CLOSE 1006
define HB_CURLOPT_UL_BUFF_SETUP 1007
define HB_CURLOPT_DL_BUFF_SETUP 1008
define HB_CURLOPT_DL_BUFF_GET 1009
define HB_CURLOPT_UL_NULL_SETUP 1010
define HB_CURLOPT_UL_FHANDLE_SETUP 1011
define HB_CURLOPT_DL_FHANDLE_SETUP 1012
/ Compatibility ones. Please don't use these. /
define HB_CURLOPT_SETUPLOADFILE HB_CURLOPT_UL_FILE_SETUP
define HB_CURLOPT_CLOSEUPLOADFILE HB_CURLOPT_UL_FILE_CLOSE
define HB_CURLOPT_SETDOWNLOADFILE HB_CURLOPT_DL_FILE_SETUP
define HB_CURLOPT_CLOSEDOWNLOADFILE HB_CURLOPT_DL_FILE_CLOSE
define HB_CURLOPT_SETPROGRESS HB_CURLOPT_PROGRESSBLOCK
/ HB_CURLOPT_PROXYTYPE option /
define HB_CURLPROXY_HTTP 0 / added in 7.10 /
define HB_CURLPROXY_HTTP_1_0 1 / added in 7.19.4, force to use CONNECT HTTP/1.0 /
define HB_CURLPROXY_SOCKS4 4 / support added in 7.15.2, enum existed already in 7.10 /
define HB_CURLPROXY_SOCKS5 5 / added in 7.10 /
define HB_CURLPROXY_SOCKS4A 6 / added in 7.18.0 /
define HB_CURLPROXY_SOCKS5_HOSTNAME 7 / Use the SOCKS5 protocol but pass along the host name rather than the IP address. added in 7.18.0 /
/ HB_CURLOPT_NETRC option /
define HB_CURL_NETRC_IGNORED 0 / The .netrc will never be read. /
define HB_CURL_NETRC_OPTIONAL 1 / A user:password in the URL will be preferred /
define HB_CURL_NETRC_REQUIRED 2 / A user:password in the URL will be ignored. /
/ HB_CURLOPT_SSL_OPTIONS values /
define HB_CURLSSLOPT_ALLOW_BEAST hb_bitShift( 1, 0 )
/ HB_CURLOPT_HTTPAUTH option /
define HB_CURLAUTH_NONE 0 / nothing /
define HB_CURLAUTH_BASIC 1 / Basic (default) /
define HB_CURLAUTH_DIGEST 2 / Digest /
define HB_CURLAUTH_GSSNEGOTIATE 4 / GSS-Negotiate /
define HB_CURLAUTH_NTLM 8 / NTLM /
define HB_CURLAUTH_DIGEST_IE hb_bitShift( 1, 4 ) / Digest with IE flavour /
define HB_CURLAUTH_NTLM_WB hb_bitShift( 1, 5 ) / NTLM delegating to winbind helper /
define HB_CURLAUTH_ONLY hb_bitShift( 1, 31 ) / used together with a single other type to force no auth or just that single type /
define HB_CURLAUTH_ANY hb_bitNot( 0 ) / all types set /
define HB_CURLAUTH_ANYSAFE hb_bitNot( hb_bitOr( HB_CURLAUTH_BASIC, HB_CURLAUTH_DIGEST_IE ) )
/ HB_CURLOPT_HTTP_VERSION option /
define HB_CURL_HTTP_VERSION_NONE 0 / setting this means we don't care, and that we'd like the library to choose the best possible for us! /
define HB_CURL_HTTP_VERSION_1_0 1 / please use HTTP 1.0 in the request /
define HB_CURL_HTTP_VERSION_1_1 2 / please use HTTP 1.1 in the request /
/ HB_CURLOPT_USE_SSL option /
define HB_CURLUSESSL_NONE 0 / do not attempt to use SSL /
define HB_CURLUSESSL_TRY 1 / try using SSL, proceed anyway otherwise /
define HB_CURLUSESSL_CONTROL 2 / SSL for the control connection or fail /
define HB_CURLUSESSL_ALL 3 / SSL for all communication or fail /
/ HB_CURLOPT_FTPSSLAUTH option /
define HB_CURLFTPAUTH_DEFAULT 0 / let libcurl decide /
define HB_CURLFTPAUTH_SSL 1 / use "AUTH SSL" /
define HB_CURLFTPAUTH_TLS 2 / use "AUTH TLS" /
/ HB_CURLOPT_FTP_SSL_CCC option /
define HB_CURLFTPSSL_CCC_NONE 0 / do not send CCC /
define HB_CURLFTPSSL_CCC_PASSIVE 1 / Let the server initiate the shutdown /
define HB_CURLFTPSSL_CCC_ACTIVE 2 / Initiate the shutdown /
/ HB_CURLOPT_FTP_FILEMETHOD option /
define HB_CURLFTPMETHOD_DEFAULT 0 / let libcurl pick /
define HB_CURLFTPMETHOD_MULTICWD 1 / single CWD operation for each path part /
define HB_CURLFTPMETHOD_NOCWD 2 / no CWD at all /
define HB_CURLFTPMETHOD_SINGLECWD 3 / one CWD to full dir, then work on file /
/ HB_CURLOPT_FTP_CREATE_MISSING_DIRS option /
define HB_CURLFTP_CREATE_DIR_NONE 0
define HB_CURLFTP_CREATE_DIR 1
define HB_CURLFTP_CREATE_DIR_RETRY 2
/ HB_CURLOPT_RTSP_REQUEST option /
define HB_CURL_RTSPREQ_NONE 0
define HB_CURL_RTSPREQ_OPTIONS 1
define HB_CURL_RTSPREQ_DESCRIBE 2
define HB_CURL_RTSPREQ_ANNOUNCE 3
define HB_CURL_RTSPREQ_SETUP 4
define HB_CURL_RTSPREQ_PLAY 5
define HB_CURL_RTSPREQ_PAUSE 6
define HB_CURL_RTSPREQ_TEARDOWN 7
define HB_CURL_RTSPREQ_GET_PARAMETER 8
define HB_CURL_RTSPREQ_SET_PARAMETER 9
define HB_CURL_RTSPREQ_RECORD 10
define HB_CURL_RTSPREQ_RECEIVE 11
define HB_CURL_RTSPREQ_LAST 12
/ HB_CURLOPT_TIMECONDITION option /
define HB_CURL_TIMECOND_NONE 0
define HB_CURL_TIMECOND_IFMODSINCE 1
define HB_CURL_TIMECOND_IFUNMODSINCE 2
define HB_CURL_TIMECOND_LASTMOD 3
/ HB_CURLOPT_IPRESOLVE option /
define HB_CURL_IPRESOLVE_WHATEVER 0 / default, resolves addresses to all IP versions that your system allows /
define HB_CURL_IPRESOLVE_V4 1 / resolve to ipv4 addresses /
define HB_CURL_IPRESOLVE_V6 2 / resolve to ipv6 addresses /
/ HB_CURLOPT_SSLVERSION option /
define HB_CURL_SSLVERSION_DEFAULT 0
define HB_CURL_SSLVERSION_TLSv1 1
define HB_CURL_SSLVERSION_SSLv2 2
define HB_CURL_SSLVERSION_SSLv3 3
/ HB_CURLOPT_SSH_AUTH_TYPES option /
define HB_CURL_CURLSSH_AUTH_ANY hb_bitNot( 0 ) / all types supported by the server /
define HB_CURL_CURLSSH_AUTH_NONE 0 / none allowed, silly but complete /
define HB_CURL_CURLSSH_AUTH_PUBLICKEY 1 / public/private key files /
define HB_CURL_CURLSSH_AUTH_PASSWORD 2 / password /
define HB_CURL_CURLSSH_AUTH_HOST 4 / host key files /
define HB_CURL_CURLSSH_AUTH_KEYBOARD 8 / keyboard interactive /
define HB_CURL_CURLSSH_AUTH_DEFAULT HB_CURLSSH_AUTH_ANY
/ CURLOPT_PROTOCOLS options */
define HB_CURLPROTO_HTTP hb_bitShift( 1, 0 )
define HB_CURLPROTO_HTTPS hb_bitShift( 1, 1 )
define HB_CURLPROTO_FTP hb_bitShift( 1, 2 )
define HB_CURLPROTO_FTPS hb_bitShift( 1, 3 )
define HB_CURLPROTO_SCP hb_bitShift( 1, 4 )
define HB_CURLPROTO_SFTP hb_bitShift( 1, 5 )
define HB_CURLPROTO_TELNET hb_bitShift( 1, 6 )
define HB_CURLPROTO_LDAP hb_bitShift( 1, 7 )
define HB_CURLPROTO_LDAPS hb_bitShift( 1, 8 )
define HB_CURLPROTO_DICT hb_bitShift( 1, 9 )
define HB_CURLPROTO_FILE hb_bitShift( 1, 10 )
define HB_CURLPROTO_TFTP hb_bitShift( 1, 11 )
define HB_CURLPROTO_IMAP hb_bitShift( 1, 12 )
define HB_CURLPROTO_IMAPS hb_bitShift( 1, 13 )
define HB_CURLPROTO_POP3 hb_bitShift( 1, 14 )
define HB_CURLPROTO_POP3S hb_bitShift( 1, 15 )
define HB_CURLPROTO_SMTP hb_bitShift( 1, 16 )
define HB_CURLPROTO_SMTPS hb_bitShift( 1, 17 )
define HB_CURLPROTO_RTSP hb_bitShift( 1, 18 )
define HB_CURLPROTO_RTMP hb_bitShift( 1, 19 )
define HB_CURLPROTO_RTMPT hb_bitShift( 1, 20 )
define HB_CURLPROTO_RTMPE hb_bitShift( 1, 21 )
define HB_CURLPROTO_RTMPTE hb_bitShift( 1, 22 )
define HB_CURLPROTO_RTMPS hb_bitShift( 1, 23 )
define HB_CURLPROTO_RTMPTS hb_bitShift( 1, 24 )
define HB_CURLPROTO_ALL hb_bitNot( 0 )
/ curl_easy_pause() parameters. They can be combined with hb_bitOr(). /
define HB_CURLPAUSE_RECV 1
define HB_CURLPAUSE_RECV_CONT 0
define HB_CURLPAUSE_SEND 4
define HB_CURLPAUSE_SEND_CONT 0
define HB_CURLPAUSE_ALL hb_bitOr( HB_CURLPAUSE_RECV, HB_CURLPAUSE_SEND )
define HB_CURLPAUSE_CONT hb_bitOr( HB_CURLPAUSE_RECV_CONT, HB_CURLPAUSE_SEND_CONT )
/ curl_global_init() parameters. /
define HB_CURL_GLOBAL_SSL 1
define HB_CURL_GLOBAL_WIN32 2
define HB_CURL_GLOBAL_ALL hb_bitOr( HB_CURL_GLOBAL_SSL, HB_CURL_GLOBAL_WIN32 )
define HB_CURL_GLOBAL_NOTHING 0
define HB_CURL_GLOBAL_DEFAULT HB_CURL_GLOBAL_ALL
/ curl_easy_getinfo() parameters.
NOTE: The actual values may be different from the libcurl equivalent. /
define HB_CURLINFO_EFFECTIVE_URL 1
define HB_CURLINFO_RESPONSE_CODE 2
define HB_CURLINFO_HTTP_CONNECTCODE 3
define HB_CURLINFO_FILETIME 4
define HB_CURLINFO_TOTAL_TIME 5
define HB_CURLINFO_NAMELOOKUP_TIME 6
define HB_CURLINFO_CONNECT_TIME 7
define HB_CURLINFO_PRETRANSFER_TIME 8
define HB_CURLINFO_STARTTRANSFER_TIME 9
define HB_CURLINFO_REDIRECT_TIME 10
define HB_CURLINFO_REDIRECT_COUNT 11
define HB_CURLINFO_REDIRECT_URL 12
define HB_CURLINFO_SIZE_UPLOAD 13
define HB_CURLINFO_SIZE_DOWNLOAD 14
define HB_CURLINFO_SPEED_DOWNLOAD 15
define HB_CURLINFO_SPEED_UPLOAD 16
define HB_CURLINFO_HEADER_SIZE 17
define HB_CURLINFO_REQUEST_SIZE 18
define HB_CURLINFO_SSL_VERIFYRESULT 19
define HB_CURLINFO_SSL_ENGINES 20
define HB_CURLINFO_CONTENT_LENGTH_DOWNLOAD 21
define HB_CURLINFO_CONTENT_LENGTH_UPLOAD 22
define HB_CURLINFO_CONTENT_TYPE 23
define HB_CURLINFO_PRIVATE 24
define HB_CURLINFO_HTTPAUTH_AVAIL 25
define HB_CURLINFO_PROXYAUTH_AVAIL 26
define HB_CURLINFO_OS_ERRNO 27
define HB_CURLINFO_NUM_CONNECTS 28
define HB_CURLINFO_COOKIELIST 29
define HB_CURLINFO_LASTSOCKET 30
define HB_CURLINFO_FTP_ENTRY_PATH 31
define HB_CURLINFO_PRIMARY_IP 32
define HB_CURLINFO_APPCONNECT_TIME 33
define HB_CURLINFO_CERTINFO 34
define HB_CURLINFO_CONDITION_UNMET 35
define HB_CURLINFO_RTSP_SESSION_ID 36
define HB_CURLINFO_RTSP_CLIENT_CSEQ 37
define HB_CURLINFO_RTSP_SERVER_CSEQ 38
define HB_CURLINFO_RTSP_CSEQ_RECV 39
define HB_CURLINFO_PRIMARY_PORT 40
define HB_CURLINFO_LOCAL_IP 41
define HB_CURLINFO_LOCAL_PORT 42
/ curl result codes. /
define HB_CURLE_ERROR -1 / request not passed to libcurl (libcurl not initialized or unknown parameter) /
define HB_CURLE_OK 0
define HB_CURLE_UNSUPPORTED_PROTOCOL 1 / /
define HB_CURLE_FAILED_INIT 2 / /
define HB_CURLE_URL_MALFORMAT 3 / /
define HB_CURLE_NOT_BUILT_IN 4 / /
define HB_CURLE_COULDNT_RESOLVE_PROXY 5 / /
define HB_CURLE_COULDNT_RESOLVE_HOST 6 / /
define HB_CURLE_COULDNT_CONNECT 7 / /
define HB_CURLE_FTP_WEIRD_SERVER_REPLY 8 / /
define HB_CURLE_REMOTE_ACCESS_DENIED 9 / a service was denied by the server due to lack of access - when login fails this is not returned. /
define HB_CURLE_OBSOLETE10 10 / NOT USED /
define HB_CURLE_FTP_WEIRD_PASS_REPLY 11 / /
define HB_CURLE_OBSOLETE12 12 / NOT USED /
define HB_CURLE_FTP_WEIRD_PASV_REPLY 13 / /
define HB_CURLE_FTP_WEIRD_227_FORMAT 14 / /
define HB_CURLE_FTP_CANT_GET_HOST 15 / /
define HB_CURLE_OBSOLETE16 16 / NOT USED /
define HB_CURLE_FTP_COULDNT_SET_TYPE 17 / /
define HB_CURLE_PARTIAL_FILE 18 / /
define HB_CURLE_FTP_COULDNT_RETR_FILE 19 / /
define HB_CURLE_OBSOLETE20 20 / NOT USED /
define HB_CURLE_QUOTE_ERROR 21 / quote command failure /
define HB_CURLE_HTTP_RETURNED_ERROR 22 / /
define HB_CURLE_WRITE_ERROR 23 / /
define HB_CURLE_OBSOLETE24 24 / NOT USED /
define HB_CURLE_UPLOAD_FAILED 25 / failed upload "command" /
define HB_CURLE_READ_ERROR 26 / could open/read from file /
define HB_CURLE_OUT_OF_MEMORY 27 / /
define HB_CURLE_OPERATION_TIMEDOUT 28 / the timeout time was reached /
define HB_CURLE_OBSOLETE29 29 / NOT USED /
define HB_CURLE_FTP_PORT_FAILED 30 / FTP PORT operation failed /
define HB_CURLE_FTP_COULDNT_USE_REST 31 / the REST command failed /
define HB_CURLE_OBSOLETE32 32 / NOT USED /
define HB_CURLE_RANGE_ERROR 33 / RANGE "command" didn't work /
define HB_CURLE_HTTP_POST_ERROR 34 / /
define HB_CURLE_SSL_CONNECT_ERROR 35 / wrong when connecting with SSL /
define HB_CURLE_BAD_DOWNLOAD_RESUME 36 / couldn't resume download /
define HB_CURLE_FILE_COULDNT_READ_FILE 37 / /
define HB_CURLE_LDAP_CANNOT_BIND 38 / /
define HB_CURLE_LDAP_SEARCH_FAILED 39 / /
define HB_CURLE_OBSOLETE40 40 / NOT USED /
define HB_CURLE_FUNCTION_NOT_FOUND 41 / /
define HB_CURLE_ABORTED_BY_CALLBACK 42 / /
define HB_CURLE_BAD_FUNCTION_ARGUMENT 43 / /
define HB_CURLE_OBSOLETE44 44 / NOT USED /
define HB_CURLE_INTERFACE_FAILED 45 / CURLOPT_INTERFACE failed /
define HB_CURLE_OBSOLETE46 46 / NOT USED /
define HB_CURLE_TOO_MANY_REDIRECTS 47 / catch endless re-direct loops /
define HB_CURLE_UNKNOWN_OPTION 48 / User specified an unknown option /
define HB_CURLE_UNKNOWN_TELNET_OPTION HB_CURLE_UNKNOWN_OPTION
define HB_CURLE_TELNET_OPTION_SYNTAX 49 / Malformed telnet option /
define HB_CURLE_OBSOLETE50 50 / NOT USED /
define HB_CURLE_PEER_FAILED_VERIFICATION 51 / peer's certificate or fingerprint wasn't verified fine /
define HB_CURLE_GOT_NOTHING 52 / when this is a specific error /
define HB_CURLE_SSL_ENGINE_NOTFOUND 53 / SSL crypto engine not found /
define HB_CURLE_SSL_ENGINE_SETFAILED 54 / can not set SSL crypto engine as default /
define HB_CURLE_SEND_ERROR 55 / failed sending network data /
define HB_CURLE_RECV_ERROR 56 / failure in receiving network data /
define HB_CURLE_OBSOLETE57 57 / NOT IN USE /
define HB_CURLE_SSL_CERTPROBLEM 58 / problem with the local certificate /
define HB_CURLE_SSL_CIPHER 59 / couldn't use specified cipher /
define HB_CURLE_SSL_CACERT 60 / problem with the CA cert (path?) /
define HB_CURLE_BAD_CONTENT_ENCODING 61 / Unrecognized transfer encoding /
define HB_CURLE_LDAP_INVALID_URL 62 / Invalid LDAP URL /
define HB_CURLE_FILESIZE_EXCEEDED 63 / Maximum file size exceeded /
define HB_CURLE_USE_SSL_FAILED 64 / Requested FTP SSL level failed /
define HB_CURLE_SEND_FAIL_REWIND 65 / Sending the data requires a rewind that failed /
define HB_CURLE_SSL_ENGINE_INITFAILED 66 / failed to initialise ENGINE /
define HB_CURLE_LOGIN_DENIED 67 / user, password or similar was not accepted and we failed to login /
define HB_CURLE_TFTP_NOTFOUND 68 / file not found on server /
define HB_CURLE_TFTP_PERM 69 / permission problem on server /
define HB_CURLE_REMOTE_DISK_FULL 70 / out of disk space on server /
define HB_CURLE_TFTP_ILLEGAL 71 / Illegal TFTP operation /
define HB_CURLE_TFTP_UNKNOWNID 72 / Unknown transfer ID /
define HB_CURLE_REMOTE_FILE_EXISTS 73 / File already exists /
define HB_CURLE_TFTP_NOSUCHUSER 74 / No such user /
define HB_CURLE_CONV_FAILED 75 / conversion failed /
define HB_CURLE_CONV_REQD 76 / caller must register conversion callbacks using curl_easy_setopt options CURLOPT_CONV_FROM_NETWORK_FUNCTION, CURLOPT_CONV_TO_NETWORK_FUNCTION, and CURLOPT_CONV_FROM_UTF8_FUNCTION /
define HB_CURLE_SSL_CACERT_BADFILE 77 / could not load CACERT file, missing or wrong format /
define HB_CURLE_REMOTE_FILE_NOT_FOUND 78 / remote file not found /
define HB_CURLE_SSH 79 / error from the SSH layer, somewhat generic so the error message will be of interest when this has happened /
define HB_CURLE_SSL_SHUTDOWN_FAILED 80 / Failed to shut down the SSL connection /
define HB_CURLE_AGAIN 81 / socket is not ready for send/recv, wait till it's ready and try again /
define HB_CURLE_SSL_CRL_BADFILE 82 / could not load CRL file, missing or wrong format (Added in 7.19.0) /
define HB_CURLE_SSL_ISSUER_ERROR 83 / Issuer check failed. (Added in 7.19.0) /
define HB_CURLE_FTP_PRET_FAILED 84 / a PRET command failed /
define HB_CURLE_RTSP_CSEQ_ERROR 85 / mismatch of RTSP CSeq numbers /
define HB_CURLE_RTSP_SESSION_ERROR 86 / mismatch of RTSP Session Identifiers /
define HB_CURLE_FTP_BAD_FILE_LIST 87 / unable to parse FTP file list /
define HB_CURLE_CHUNK_FAILED 88 / chunk callback reported error /
endif / HBCURL_CH_ /