mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-07 13:33:22 +00:00
643 lines
26 KiB
Nim
643 lines
26 KiB
Nim
#
|
|
# $Id: header,v 1.1 2000/07/13 06:33:45 michael Exp $
|
|
# This file is part of the Free Pascal packages
|
|
# Copyright (c) 1999-2000 by the Free Pascal development team
|
|
#
|
|
# See the file COPYING.FPC, included in this distribution,
|
|
# for details about the copyright.
|
|
#
|
|
# 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.
|
|
#
|
|
# **********************************************************************
|
|
#
|
|
# the curl library is governed by its own copyright, see the curl
|
|
# website for this.
|
|
#
|
|
|
|
import times
|
|
|
|
when defined(windows):
|
|
const libname = "libcurl.dll"
|
|
elif defined(macosx):
|
|
const libname = "libcurl-7.19.3.dylib"
|
|
elif defined(unix):
|
|
const libname = "libcurl.so.4"
|
|
|
|
type
|
|
Pcurl_calloc_callback* = ptr Tcurl_calloc_callback
|
|
Pcurl_closepolicy* = ptr Tcurl_closepolicy
|
|
Pcurl_forms* = ptr Tcurl_forms
|
|
Pcurl_ftpauth* = ptr Tcurl_ftpauth
|
|
Pcurl_ftpmethod* = ptr Tcurl_ftpmethod
|
|
Pcurl_ftpssl* = ptr Tcurl_ftpssl
|
|
PCURL_HTTP_VERSION* = ptr TCURL_HTTP_VERSION
|
|
Pcurl_httppost* = ptr Tcurl_httppost
|
|
PPcurl_httppost* = ptr Pcurl_httppost
|
|
Pcurl_infotype* = ptr Tcurl_infotype
|
|
Pcurl_lock_access* = ptr Tcurl_lock_access
|
|
Pcurl_lock_data* = ptr Tcurl_lock_data
|
|
Pcurl_malloc_callback* = ptr tcurl_malloc_callback
|
|
PCURL_NETRC_OPTION* = ptr TCURL_NETRC_OPTION
|
|
Pcurl_proxytype* = ptr Tcurl_proxytype
|
|
Pcurl_realloc_callback* = ptr tcurl_realloc_callback
|
|
Pcurl_slist* = ptr Tcurl_slist
|
|
Pcurl_socket* = ptr Tcurl_socket
|
|
PCURL_SSL_VERSION* = ptr TCURL_SSL_VERSION
|
|
Pcurl_strdup_callback* = ptr Tcurl_strdup_callback
|
|
PCURL_TIMECOND* = ptr TCURL_TIMECOND
|
|
Pcurl_version_info_data* = ptr Tcurl_version_info_data
|
|
PCURLcode* = ptr TCURLcode
|
|
PCURLFORMcode* = ptr TCURLFORMcode
|
|
PCURLformoption* = ptr TCURLformoption
|
|
PCURLINFO* = ptr TCURLINFO
|
|
Pcurliocmd* = ptr Tcurliocmd
|
|
Pcurlioerr* = ptr Tcurlioerr
|
|
PCURLM* = ptr TCURLM
|
|
PCURLMcode* = ptr TCURLMcode
|
|
PCURLMoption* = ptr TCURLMoption
|
|
PCURLMSG* = ptr TCURLMSG
|
|
PCURLoption* = ptr TCURLoption
|
|
PCURLSH* = ptr TCURLSH
|
|
PCURLSHcode* = ptr TCURLSHcode
|
|
PCURLSHoption* = ptr TCURLSHoption
|
|
PCURLversion* = ptr TCURLversion
|
|
Pfd_set* = pointer
|
|
PCURL* = ptr TCurl
|
|
TCurl* = pointer
|
|
Tcurl_httppost* {.final, pure.} = object
|
|
next*: Pcurl_httppost
|
|
name*: cstring
|
|
namelength*: int32
|
|
contents*: cstring
|
|
contentslength*: int32
|
|
buffer*: cstring
|
|
bufferlength*: int32
|
|
contenttype*: cstring
|
|
contentheader*: Pcurl_slist
|
|
more*: Pcurl_httppost
|
|
flags*: int32
|
|
showfilename*: cstring
|
|
|
|
Tcurl_progress_callback* = proc (clientp: pointer, dltotal: float64,
|
|
dlnow: float64, ultotal: float64,
|
|
ulnow: float64): int32{.cdecl.}
|
|
Tcurl_write_callback* = proc (buffer: cstring, size: int, nitems: int,
|
|
outstream: pointer): int{.cdecl.}
|
|
Tcurl_read_callback* = proc (buffer: cstring, size: int, nitems: int,
|
|
instream: pointer): int{.cdecl.}
|
|
Tcurl_passwd_callback* = proc (clientp: pointer, prompt: cstring,
|
|
buffer: cstring, buflen: int32): int32{.cdecl.}
|
|
Tcurlioerr* = enum
|
|
CURLIOE_OK, CURLIOE_UNKNOWNCMD, CURLIOE_FAILRESTART, CURLIOE_LAST
|
|
Tcurliocmd* = enum
|
|
CURLIOCMD_NOP, CURLIOCMD_RESTARTREAD, CURLIOCMD_LAST
|
|
Tcurl_ioctl_callback* = proc (handle: PCURL, cmd: int32,
|
|
clientp: pointer): Tcurlioerr {.cdecl.}
|
|
Tcurl_malloc_callback* = proc (size: int): pointer {.cdecl.}
|
|
Tcurl_free_callback* = proc (p: pointer) {.cdecl.}
|
|
Tcurl_realloc_callback* = proc (p: pointer, size: int): pointer {.cdecl.}
|
|
Tcurl_strdup_callback* = proc (str: cstring): cstring {.cdecl.}
|
|
Tcurl_calloc_callback* = proc (nmemb: int, size: int): pointer
|
|
Tcurl_infotype* = enum
|
|
CURLINFO_TEXT = 0, CURLINFO_HEADER_IN, CURLINFO_HEADER_OUT,
|
|
CURLINFO_DATA_IN, CURLINFO_DATA_OUT, CURLINFO_SSL_DATA_IN,
|
|
CURLINFO_SSL_DATA_OUT, CURLINFO_END
|
|
Tcurl_debug_callback* = proc (handle: PCURL, theType: Tcurl_infotype,
|
|
data: cstring, size: int,
|
|
userptr: pointer): int32 {.cdecl.}
|
|
TCURLcode* = enum
|
|
CURLE_OK = 0, CURLE_UNSUPPORTED_PROTOCOL, CURLE_FAILED_INIT,
|
|
CURLE_URL_MALFORMAT, CURLE_URL_MALFORMAT_USER, CURLE_COULDNT_RESOLVE_PROXY,
|
|
CURLE_COULDNT_RESOLVE_HOST, CURLE_COULDNT_CONNECT,
|
|
CURLE_FTP_WEIRD_SERVER_REPLY, CURLE_FTP_ACCESS_DENIED,
|
|
CURLE_FTP_USER_PASSWORD_INCORRECT, CURLE_FTP_WEIRD_PASS_REPLY,
|
|
CURLE_FTP_WEIRD_USER_REPLY, CURLE_FTP_WEIRD_PASV_REPLY,
|
|
CURLE_FTP_WEIRD_227_FORMAT, CURLE_FTP_CANT_GET_HOST,
|
|
CURLE_FTP_CANT_RECONNECT, CURLE_FTP_COULDNT_SET_BINARY, CURLE_PARTIAL_FILE,
|
|
CURLE_FTP_COULDNT_RETR_FILE, CURLE_FTP_WRITE_ERROR, CURLE_FTP_QUOTE_ERROR,
|
|
CURLE_HTTP_RETURNED_ERROR, CURLE_WRITE_ERROR, CURLE_MALFORMAT_USER,
|
|
CURLE_FTP_COULDNT_STOR_FILE, CURLE_READ_ERROR, CURLE_OUT_OF_MEMORY,
|
|
CURLE_OPERATION_TIMEOUTED, CURLE_FTP_COULDNT_SET_ASCII,
|
|
CURLE_FTP_PORT_FAILED, CURLE_FTP_COULDNT_USE_REST,
|
|
CURLE_FTP_COULDNT_GET_SIZE, CURLE_HTTP_RANGE_ERROR, CURLE_HTTP_POST_ERROR,
|
|
CURLE_SSL_CONNECT_ERROR, CURLE_BAD_DOWNLOAD_RESUME,
|
|
CURLE_FILE_COULDNT_READ_FILE, CURLE_LDAP_CANNOT_BIND,
|
|
CURLE_LDAP_SEARCH_FAILED, CURLE_LIBRARY_NOT_FOUND, CURLE_FUNCTION_NOT_FOUND,
|
|
CURLE_ABORTED_BY_CALLBACK, CURLE_BAD_FUNCTION_ARGUMENT,
|
|
CURLE_BAD_CALLING_ORDER, CURLE_INTERFACE_FAILED, CURLE_BAD_PASSWORD_ENTERED,
|
|
CURLE_TOO_MANY_REDIRECTS, CURLE_UNKNOWN_TELNET_OPTION,
|
|
CURLE_TELNET_OPTION_SYNTAX, CURLE_OBSOLETE, CURLE_SSL_PEER_CERTIFICATE,
|
|
CURLE_GOT_NOTHING, CURLE_SSL_ENGINE_NOTFOUND, CURLE_SSL_ENGINE_SETFAILED,
|
|
CURLE_SEND_ERROR, CURLE_RECV_ERROR, CURLE_SHARE_IN_USE,
|
|
CURLE_SSL_CERTPROBLEM, CURLE_SSL_CIPHER, CURLE_SSL_CACERT,
|
|
CURLE_BAD_CONTENT_ENCODING, CURLE_LDAP_INVALID_URL, CURLE_FILESIZE_EXCEEDED,
|
|
CURLE_FTP_SSL_FAILED, CURLE_SEND_FAIL_REWIND, CURLE_SSL_ENGINE_INITFAILED,
|
|
CURLE_LOGIN_DENIED, CURLE_TFTP_NOTFOUND, CURLE_TFTP_PERM,
|
|
CURLE_TFTP_DISKFULL, CURLE_TFTP_ILLEGAL, CURLE_TFTP_UNKNOWNID,
|
|
CURLE_TFTP_EXISTS, CURLE_TFTP_NOSUCHUSER, CURLE_CONV_FAILED,
|
|
CURLE_CONV_REQD, CURL_LAST
|
|
Tcurl_conv_callback* = proc (buffer: cstring, len: int): TCURLcode {.cdecl.}
|
|
Tcurl_ssl_ctx_callback* = proc (curl: PCURL,
|
|
ssl_ctx, userptr: pointer): TCURLcode {.cdecl.}
|
|
Tcurl_proxytype* = enum
|
|
CURLPROXY_HTTP = 0, CURLPROXY_SOCKS4 = 4, CURLPROXY_SOCKS5 = 5
|
|
Tcurl_ftpssl* = enum
|
|
CURLFTPSSL_NONE, CURLFTPSSL_TRY, CURLFTPSSL_CONTROL, CURLFTPSSL_ALL,
|
|
CURLFTPSSL_LAST
|
|
Tcurl_ftpauth* = enum
|
|
CURLFTPAUTH_DEFAULT, CURLFTPAUTH_SSL, CURLFTPAUTH_TLS, CURLFTPAUTH_LAST
|
|
Tcurl_ftpmethod* = enum
|
|
CURLFTPMETHOD_DEFAULT, CURLFTPMETHOD_MULTICWD, CURLFTPMETHOD_NOCWD,
|
|
CURLFTPMETHOD_SINGLECWD, CURLFTPMETHOD_LAST
|
|
TCURLoption* = enum
|
|
CURLOPT_PORT = 0 + 3,
|
|
CURLOPT_TIMEOUT = 0 + 13,
|
|
CURLOPT_INFILESIZE = 0 + 14,
|
|
CURLOPT_LOW_SPEED_LIMIT = 0 + 19,
|
|
CURLOPT_LOW_SPEED_TIME = 0 + 20,
|
|
CURLOPT_RESUME_FROM = 0 + 21,
|
|
CURLOPT_CRLF = 0 + 27,
|
|
CURLOPT_SSLVERSION = 0 + 32,
|
|
CURLOPT_TIMECONDITION = 0 + 33,
|
|
CURLOPT_TIMEVALUE = 0 + 34,
|
|
CURLOPT_VERBOSE = 0 + 41,
|
|
CURLOPT_HEADER = 0 + 42,
|
|
CURLOPT_NOPROGRESS = 0 + 43,
|
|
CURLOPT_NOBODY = 0 + 44,
|
|
CURLOPT_FAILONERROR = 0 + 45,
|
|
CURLOPT_UPLOAD = 0 + 46,
|
|
CURLOPT_POST = 0 + 47,
|
|
CURLOPT_FTPLISTONLY = 0 + 48,
|
|
CURLOPT_FTPAPPEND = 0 + 50,
|
|
CURLOPT_NETRC = 0 + 51,
|
|
CURLOPT_FOLLOWLOCATION = 0 + 52,
|
|
CURLOPT_TRANSFERTEXT = 0 + 53,
|
|
CURLOPT_PUT = 0 + 54,
|
|
CURLOPT_AUTOREFERER = 0 + 58,
|
|
CURLOPT_PROXYPORT = 0 + 59,
|
|
CURLOPT_POSTFIELDSIZE = 0 + 60,
|
|
CURLOPT_HTTPPROXYTUNNEL = 0 + 61,
|
|
CURLOPT_SSL_VERIFYPEER = 0 + 64,
|
|
CURLOPT_MAXREDIRS = 0 + 68,
|
|
CURLOPT_FILETIME = 0 + 69,
|
|
CURLOPT_MAXCONNECTS = 0 + 71,
|
|
CURLOPT_CLOSEPOLICY = 0 + 72,
|
|
CURLOPT_FRESH_CONNECT = 0 + 74,
|
|
CURLOPT_FORBID_REUSE = 0 + 75,
|
|
CURLOPT_CONNECTTIMEOUT = 0 + 78,
|
|
CURLOPT_HTTPGET = 0 + 80,
|
|
CURLOPT_SSL_VERIFYHOST = 0 + 81,
|
|
CURLOPT_HTTP_VERSION = 0 + 84,
|
|
CURLOPT_FTP_USE_EPSV = 0 + 85,
|
|
CURLOPT_SSLENGINE_DEFAULT = 0 + 90,
|
|
CURLOPT_DNS_USE_GLOBAL_CACHE = 0 + 91,
|
|
CURLOPT_DNS_CACHE_TIMEOUT = 0 + 92,
|
|
CURLOPT_COOKIESESSION = 0 + 96,
|
|
CURLOPT_BUFFERSIZE = 0 + 98,
|
|
CURLOPT_NOSIGNAL = 0 + 99,
|
|
CURLOPT_PROXYTYPE = 0 + 101,
|
|
CURLOPT_UNRESTRICTED_AUTH = 0 + 105,
|
|
CURLOPT_FTP_USE_EPRT = 0 + 106,
|
|
CURLOPT_HTTPAUTH = 0 + 107,
|
|
CURLOPT_FTP_CREATE_MISSING_DIRS = 0 + 110,
|
|
CURLOPT_PROXYAUTH = 0 + 111,
|
|
CURLOPT_FTP_RESPONSE_TIMEOUT = 0 + 112,
|
|
CURLOPT_IPRESOLVE = 0 + 113,
|
|
CURLOPT_MAXFILESIZE = 0 + 114,
|
|
CURLOPT_FTP_SSL = 0 + 119,
|
|
CURLOPT_TCP_NODELAY = 0 + 121,
|
|
CURLOPT_FTPSSLAUTH = 0 + 129,
|
|
CURLOPT_IGNORE_CONTENT_LENGTH = 0 + 136,
|
|
CURLOPT_FTP_SKIP_PASV_IP = 0 + 137,
|
|
CURLOPT_FTP_FILEMETHOD = 0 + 138,
|
|
CURLOPT_LOCALPORT = 0 + 139,
|
|
CURLOPT_LOCALPORTRANGE = 0 + 140,
|
|
CURLOPT_CONNECT_ONLY = 0 + 141,
|
|
|
|
CURLOPT_FILE = 10000 + 1,
|
|
CURLOPT_URL = 10000 + 2,
|
|
CURLOPT_PROXY = 10000 + 4,
|
|
CURLOPT_USERPWD = 10000 + 5,
|
|
CURLOPT_PROXYUSERPWD = 10000 + 6,
|
|
CURLOPT_RANGE = 10000 + 7,
|
|
CURLOPT_INFILE = 10000 + 9,
|
|
CURLOPT_ERRORBUFFER = 10000 + 10,
|
|
CURLOPT_POSTFIELDS = 10000 + 15,
|
|
CURLOPT_REFERER = 10000 + 16,
|
|
CURLOPT_FTPPORT = 10000 + 17,
|
|
CURLOPT_USERAGENT = 10000 + 18,
|
|
CURLOPT_COOKIE = 10000 + 22,
|
|
CURLOPT_HTTPHEADER = 10000 + 23,
|
|
CURLOPT_HTTPPOST = 10000 + 24,
|
|
CURLOPT_SSLCERT = 10000 + 25,
|
|
CURLOPT_SSLCERTPASSWD = 10000 + 26,
|
|
CURLOPT_QUOTE = 10000 + 28,
|
|
CURLOPT_WRITEHEADER = 10000 + 29,
|
|
CURLOPT_COOKIEFILE = 10000 + 31,
|
|
CURLOPT_CUSTOMREQUEST = 10000 + 36,
|
|
CURLOPT_STDERR = 10000 + 37,
|
|
CURLOPT_POSTQUOTE = 10000 + 39,
|
|
CURLOPT_WRITEINFO = 10000 + 40,
|
|
CURLOPT_PROGRESSDATA = 10000 + 57,
|
|
CURLOPT_INTERFACE = 10000 + 62,
|
|
CURLOPT_KRB4LEVEL = 10000 + 63,
|
|
CURLOPT_CAINFO = 10000 + 65,
|
|
CURLOPT_TELNETOPTIONS = 10000 + 70,
|
|
CURLOPT_RANDOM_FILE = 10000 + 76,
|
|
CURLOPT_EGDSOCKET = 10000 + 77,
|
|
CURLOPT_COOKIEJAR = 10000 + 82,
|
|
CURLOPT_SSL_CIPHER_LIST = 10000 + 83,
|
|
CURLOPT_SSLCERTTYPE = 10000 + 86,
|
|
CURLOPT_SSLKEY = 10000 + 87,
|
|
CURLOPT_SSLKEYTYPE = 10000 + 88,
|
|
CURLOPT_SSLENGINE = 10000 + 89,
|
|
CURLOPT_PREQUOTE = 10000 + 93,
|
|
CURLOPT_DEBUGDATA = 10000 + 95,
|
|
CURLOPT_CAPATH = 10000 + 97,
|
|
CURLOPT_SHARE = 10000 + 100,
|
|
CURLOPT_ENCODING = 10000 + 102,
|
|
CURLOPT_PRIVATE = 10000 + 103,
|
|
CURLOPT_HTTP200ALIASES = 10000 + 104,
|
|
CURLOPT_SSL_CTX_DATA = 10000 + 109,
|
|
CURLOPT_NETRC_FILE = 10000 + 118,
|
|
CURLOPT_SOURCE_USERPWD = 10000 + 123,
|
|
CURLOPT_SOURCE_PREQUOTE = 10000 + 127,
|
|
CURLOPT_SOURCE_POSTQUOTE = 10000 + 128,
|
|
CURLOPT_IOCTLDATA = 10000 + 131,
|
|
CURLOPT_SOURCE_URL = 10000 + 132,
|
|
CURLOPT_SOURCE_QUOTE = 10000 + 133,
|
|
CURLOPT_FTP_ACCOUNT = 10000 + 134,
|
|
CURLOPT_COOKIELIST = 10000 + 135,
|
|
CURLOPT_FTP_ALTERNATIVE_TO_USER = 10000 + 147,
|
|
CURLOPT_LASTENTRY = 10000 + 148,
|
|
|
|
CURLOPT_WRITEFUNCTION = 20000 + 11,
|
|
CURLOPT_READFUNCTION = 20000 + 12,
|
|
CURLOPT_PROGRESSFUNCTION = 20000 + 56,
|
|
CURLOPT_HEADERFUNCTION = 20000 + 79,
|
|
CURLOPT_DEBUGFUNCTION = 20000 + 94,
|
|
CURLOPT_SSL_CTX_FUNCTION = 20000 + 108,
|
|
CURLOPT_IOCTLFUNCTION = 20000 + 130,
|
|
CURLOPT_CONV_FROM_NETWORK_FUNCTION = 20000 + 142,
|
|
CURLOPT_CONV_TO_NETWORK_FUNCTION = 20000 + 143,
|
|
CURLOPT_CONV_FROM_UTF8_FUNCTION = 20000 + 144,
|
|
|
|
CURLOPT_INFILESIZE_LARGE = 30000 + 115,
|
|
CURLOPT_RESUME_FROM_LARGE = 30000 + 116,
|
|
CURLOPT_MAXFILESIZE_LARGE = 30000 + 117,
|
|
CURLOPT_POSTFIELDSIZE_LARGE = 30000 + 120,
|
|
CURLOPT_MAX_SEND_SPEED_LARGE = 30000 + 145,
|
|
CURLOPT_MAX_RECV_SPEED_LARGE = 30000 + 146
|
|
|
|
|
|
TCURL_HTTP_VERSION* = enum
|
|
CURL_HTTP_VERSION_NONE, CURL_HTTP_VERSION_1_0, CURL_HTTP_VERSION_1_1,
|
|
CURL_HTTP_VERSION_LAST
|
|
|
|
TCURL_NETRC_OPTION* = enum
|
|
CURL_NETRC_IGNORED, CURL_NETRC_OPTIONAL, CURL_NETRC_REQUIRED,
|
|
CURL_NETRC_LAST
|
|
|
|
TCURL_SSL_VERSION* = enum
|
|
CURL_SSLVERSION_DEFAULT, CURL_SSLVERSION_TLSv1, CURL_SSLVERSION_SSLv2,
|
|
CURL_SSLVERSION_SSLv3, CURL_SSLVERSION_LAST
|
|
|
|
TCURL_TIMECOND* = enum
|
|
CURL_TIMECOND_NONE, CURL_TIMECOND_IFMODSINCE, CURL_TIMECOND_IFUNMODSINCE,
|
|
CURL_TIMECOND_LASTMOD, CURL_TIMECOND_LAST
|
|
|
|
TCURLformoption* = enum
|
|
CURLFORM_NOTHING, CURLFORM_COPYNAME, CURLFORM_PTRNAME, CURLFORM_NAMELENGTH,
|
|
CURLFORM_COPYCONTENTS, CURLFORM_PTRCONTENTS, CURLFORM_CONTENTSLENGTH,
|
|
CURLFORM_FILECONTENT, CURLFORM_ARRAY, CURLFORM_OBSOLETE, CURLFORM_FILE,
|
|
CURLFORM_BUFFER, CURLFORM_BUFFERPTR, CURLFORM_BUFFERLENGTH,
|
|
CURLFORM_CONTENTTYPE, CURLFORM_CONTENTHEADER, CURLFORM_FILENAME,
|
|
CURLFORM_END, CURLFORM_OBSOLETE2, CURLFORM_LASTENTRY
|
|
|
|
Tcurl_forms* {.pure, final.} = object
|
|
option*: TCURLformoption
|
|
value*: cstring
|
|
|
|
TCURLFORMcode* = enum
|
|
CURL_FORMADD_OK, CURL_FORMADD_MEMORY, CURL_FORMADD_OPTION_TWICE,
|
|
CURL_FORMADD_NULL, CURL_FORMADD_UNKNOWN_OPTION, CURL_FORMADD_INCOMPLETE,
|
|
CURL_FORMADD_ILLEGAL_ARRAY, CURL_FORMADD_DISABLED, CURL_FORMADD_LAST
|
|
|
|
Tcurl_formget_callback* = proc (arg: pointer, buf: cstring,
|
|
length: int): int {.cdecl.}
|
|
Tcurl_slist* {.pure, final.} = object
|
|
data*: cstring
|
|
next*: Pcurl_slist
|
|
|
|
TCURLINFO* = enum
|
|
CURLINFO_NONE = 0,
|
|
CURLINFO_LASTONE = 30,
|
|
CURLINFO_EFFECTIVE_URL = 0x00100000 + 1,
|
|
CURLINFO_CONTENT_TYPE = 0x00100000 + 18,
|
|
CURLINFO_PRIVATE = 0x00100000 + 21,
|
|
CURLINFO_FTP_ENTRY_PATH = 0x00100000 + 30,
|
|
|
|
CURLINFO_RESPONSE_CODE = 0x00200000 + 2,
|
|
CURLINFO_HEADER_SIZE = 0x00200000 + 11,
|
|
CURLINFO_REQUEST_SIZE = 0x00200000 + 12,
|
|
CURLINFO_SSL_VERIFYRESULT = 0x00200000 + 13,
|
|
CURLINFO_FILETIME = 0x00200000 + 14,
|
|
CURLINFO_REDIRECT_COUNT = 0x00200000 + 20,
|
|
CURLINFO_HTTP_CONNECTCODE = 0x00200000 + 22,
|
|
CURLINFO_HTTPAUTH_AVAIL = 0x00200000 + 23,
|
|
CURLINFO_PROXYAUTH_AVAIL = 0x00200000 + 24,
|
|
CURLINFO_OS_ERRNO = 0x00200000 + 25,
|
|
CURLINFO_NUM_CONNECTS = 0x00200000 + 26,
|
|
CURLINFO_LASTSOCKET = 0x00200000 + 29,
|
|
|
|
CURLINFO_TOTAL_TIME = 0x00300000 + 3,
|
|
CURLINFO_NAMELOOKUP_TIME = 0x00300000 + 4,
|
|
CURLINFO_CONNECT_TIME = 0x00300000 + 5,
|
|
CURLINFO_PRETRANSFER_TIME = 0x00300000 + 6,
|
|
CURLINFO_SIZE_UPLOAD = 0x00300000 + 7,
|
|
CURLINFO_SIZE_DOWNLOAD = 0x00300000 + 8,
|
|
CURLINFO_SPEED_DOWNLOAD = 0x00300000 + 9,
|
|
CURLINFO_SPEED_UPLOAD = 0x00300000 + 10,
|
|
CURLINFO_CONTENT_LENGTH_DOWNLOAD = 0x00300000 + 15,
|
|
CURLINFO_CONTENT_LENGTH_UPLOAD = 0x00300000 + 16,
|
|
CURLINFO_STARTTRANSFER_TIME = 0x00300000 + 17,
|
|
CURLINFO_REDIRECT_TIME = 0x00300000 + 19,
|
|
|
|
CURLINFO_SSL_ENGINES = 0x00400000 + 27,
|
|
CURLINFO_COOKIELIST = 0x00400000 + 28
|
|
|
|
Tcurl_closepolicy* = enum
|
|
CURLCLOSEPOLICY_NONE, CURLCLOSEPOLICY_OLDEST,
|
|
CURLCLOSEPOLICY_LEAST_RECENTLY_USED, CURLCLOSEPOLICY_LEAST_TRAFFIC,
|
|
CURLCLOSEPOLICY_SLOWEST, CURLCLOSEPOLICY_CALLBACK, CURLCLOSEPOLICY_LAST
|
|
Tcurl_lock_data* = enum
|
|
CURL_LOCK_DATA_NONE = 0, CURL_LOCK_DATA_SHARE, CURL_LOCK_DATA_COOKIE,
|
|
CURL_LOCK_DATA_DNS, CURL_LOCK_DATA_SSL_SESSION, CURL_LOCK_DATA_CONNECT,
|
|
CURL_LOCK_DATA_LAST
|
|
Tcurl_lock_access* = enum
|
|
CURL_LOCK_ACCESS_NONE = 0, CURL_LOCK_ACCESS_SHARED = 1,
|
|
CURL_LOCK_ACCESS_SINGLE = 2, CURL_LOCK_ACCESS_LAST
|
|
|
|
Tcurl_lock_function* = proc (handle: PCURL, data: Tcurl_lock_data,
|
|
locktype: Tcurl_lock_access,
|
|
userptr: pointer) {.cdecl.}
|
|
Tcurl_unlock_function* = proc (handle: PCURL, data: Tcurl_lock_data,
|
|
userptr: pointer) {.cdecl.}
|
|
TCURLSH* = pointer
|
|
TCURLSHcode* = enum
|
|
CURLSHE_OK, CURLSHE_BAD_OPTION, CURLSHE_IN_USE, CURLSHE_INVALID,
|
|
CURLSHE_NOMEM, CURLSHE_LAST
|
|
|
|
TCURLSHoption* = enum
|
|
CURLSHOPT_NONE, CURLSHOPT_SHARE, CURLSHOPT_UNSHARE, CURLSHOPT_LOCKFUNC,
|
|
CURLSHOPT_UNLOCKFUNC, CURLSHOPT_USERDATA, CURLSHOPT_LAST
|
|
|
|
TCURLversion* = enum
|
|
CURLVERSION_FIRST, CURLVERSION_SECOND, CURLVERSION_THIRD, CURLVERSION_LAST
|
|
|
|
Tcurl_version_info_data* {.pure, final.} = object
|
|
age*: TCURLversion
|
|
version*: cstring
|
|
version_num*: int32
|
|
host*: cstring
|
|
features*: int32
|
|
ssl_version*: cstring
|
|
ssl_version_num*: int32
|
|
libz_version*: cstring
|
|
protocols*: cstringArray
|
|
ares*: cstring
|
|
ares_num*: int32
|
|
libidn*: cstring
|
|
iconv_ver_num*: int32
|
|
|
|
TCURLM* = pointer
|
|
Tcurl_socket* = int32
|
|
TCURLMcode* = enum
|
|
CURLM_CALL_MULTI_PERFORM = -1,
|
|
CURLM_OK = 0,
|
|
CURLM_BAD_HANDLE,
|
|
CURLM_BAD_EASY_HANDLE,
|
|
CURLM_OUT_OF_MEMORY,
|
|
CURLM_INTERNAL_ERROR,
|
|
CURLM_BAD_SOCKET,
|
|
CURLM_UNKNOWN_OPTION,
|
|
CURLM_LAST
|
|
|
|
TCURLMSGEnum* = enum
|
|
CURLMSG_NONE, CURLMSG_DONE, CURLMSG_LAST
|
|
TCURLMsg* {.pure, final.} = object
|
|
msg*: TCURLMSGEnum
|
|
easy_handle*: PCURL
|
|
whatever*: Pointer #data : record
|
|
# case longint of
|
|
# 0 : ( whatever : pointer );
|
|
# 1 : ( result : CURLcode );
|
|
# end;
|
|
|
|
Tcurl_socket_callback* = proc (easy: PCURL, s: Tcurl_socket, what: int32,
|
|
userp, socketp: pointer): int32 {.cdecl.}
|
|
TCURLMoption* = enum
|
|
CURLMOPT_SOCKETDATA = 10000 + 2,
|
|
CURLMOPT_LASTENTRY = 10000 + 3,
|
|
CURLMOPT_SOCKETFUNCTION = 20000 + 1
|
|
|
|
const
|
|
CURLOPT_SSLKEYPASSWD* = CURLOPT_SSLCERTPASSWD
|
|
|
|
CURLAUTH_ANY* = not (0)
|
|
CURLAUTH_BASIC* = 1 shl 0
|
|
CURLAUTH_ANYSAFE* = not (CURLAUTH_BASIC)
|
|
CURLAUTH_DIGEST* = 1 shl 1
|
|
CURLAUTH_GSSNEGOTIATE* = 1 shl 2
|
|
CURLAUTH_NONE* = 0
|
|
CURLAUTH_NTLM* = 1 shl 3
|
|
CURLE_ALREADY_COMPLETE* = 99999
|
|
CURLE_FTP_BAD_DOWNLOAD_RESUME* = CURLE_BAD_DOWNLOAD_RESUME
|
|
CURLE_FTP_PARTIAL_FILE* = CURLE_PARTIAL_FILE
|
|
CURLE_HTTP_NOT_FOUND* = CURLE_HTTP_RETURNED_ERROR
|
|
CURLE_HTTP_PORT_FAILED* = CURLE_INTERFACE_FAILED
|
|
CURLE_OPERATION_TIMEDOUT* = CURLE_OPERATION_TIMEOUTED
|
|
CURL_ERROR_SIZE* = 256
|
|
CURL_FORMAT_OFF_T* = "%ld"
|
|
CURL_GLOBAL_NOTHING* = 0
|
|
CURL_GLOBAL_SSL* = 1 shl 0
|
|
CURL_GLOBAL_WIN32* = 1 shl 1
|
|
CURL_GLOBAL_ALL* = CURL_GLOBAL_SSL or CURL_GLOBAL_WIN32
|
|
CURL_GLOBAL_DEFAULT* = CURL_GLOBAL_ALL
|
|
CURLINFO_DOUBLE* = 0x00300000
|
|
CURLINFO_HTTP_CODE* = CURLINFO_RESPONSE_CODE
|
|
CURLINFO_LONG* = 0x00200000
|
|
CURLINFO_MASK* = 0x000FFFFF
|
|
CURLINFO_SLIST* = 0x00400000
|
|
CURLINFO_STRING* = 0x00100000
|
|
CURLINFO_TYPEMASK* = 0x00F00000
|
|
CURL_IPRESOLVE_V4* = 1
|
|
CURL_IPRESOLVE_V6* = 2
|
|
CURL_IPRESOLVE_WHATEVER* = 0
|
|
CURL_MAX_WRITE_SIZE* = 16384
|
|
CURLM_CALL_MULTI_SOCKET* = CURLM_CALL_MULTI_PERFORM
|
|
CURLOPT_CLOSEFUNCTION* = - (5)
|
|
CURLOPT_FTPASCII* = CURLOPT_TRANSFERTEXT
|
|
CURLOPT_HEADERDATA* = CURLOPT_WRITEHEADER
|
|
CURLOPT_HTTPREQUEST* = - (1)
|
|
CURLOPT_MUTE* = - (2)
|
|
CURLOPT_PASSWDDATA* = - (4)
|
|
CURLOPT_PASSWDFUNCTION* = - (3)
|
|
CURLOPT_PASV_HOST* = - (9)
|
|
CURLOPT_READDATA* = CURLOPT_INFILE
|
|
CURLOPT_SOURCE_HOST* = - (6)
|
|
CURLOPT_SOURCE_PATH* = - (7)
|
|
CURLOPT_SOURCE_PORT* = - (8)
|
|
CURLOPTTYPE_FUNCTIONPOINT* = 20000
|
|
CURLOPTTYPE_LONG* = 0
|
|
CURLOPTTYPE_OBJECTPOINT* = 10000
|
|
CURLOPTTYPE_OFF_T* = 30000
|
|
CURLOPT_WRITEDATA* = CURLOPT_FILE
|
|
CURL_POLL_IN* = 1
|
|
CURL_POLL_INOUT* = 3
|
|
CURL_POLL_NONE* = 0
|
|
CURL_POLL_OUT* = 2
|
|
CURL_POLL_REMOVE* = 4
|
|
CURL_READFUNC_ABORT* = 0x10000000
|
|
CURL_SOCKET_BAD* = - (1)
|
|
CURL_SOCKET_TIMEOUT* = CURL_SOCKET_BAD
|
|
CURL_VERSION_ASYNCHDNS* = 1 shl 7
|
|
CURL_VERSION_CONV* = 1 shl 12
|
|
CURL_VERSION_DEBUG* = 1 shl 6
|
|
CURL_VERSION_GSSNEGOTIATE* = 1 shl 5
|
|
CURL_VERSION_IDN* = 1 shl 10
|
|
CURL_VERSION_IPV6* = 1 shl 0
|
|
CURL_VERSION_KERBEROS4* = 1 shl 1
|
|
CURL_VERSION_LARGEFILE* = 1 shl 9
|
|
CURL_VERSION_LIBZ* = 1 shl 3
|
|
CURLVERSION_NOW* = CURLVERSION_THIRD
|
|
CURL_VERSION_NTLM* = 1 shl 4
|
|
CURL_VERSION_SPNEGO* = 1 shl 8
|
|
CURL_VERSION_SSL* = 1 shl 2
|
|
CURL_VERSION_SSPI* = 1 shl 11
|
|
FILE_OFFSET_BITS* = 0
|
|
FILESIZEBITS* = 0
|
|
FUNCTIONPOINT* = CURLOPTTYPE_FUNCTIONPOINT
|
|
HTTPPOST_BUFFER* = 1 shl 4
|
|
HTTPPOST_FILENAME* = 1 shl 0
|
|
HTTPPOST_PTRBUFFER* = 1 shl 5
|
|
HTTPPOST_PTRCONTENTS* = 1 shl 3
|
|
HTTPPOST_PTRNAME* = 1 shl 2
|
|
HTTPPOST_READFILE* = 1 shl 1
|
|
LIBCURL_VERSION* = "7.15.5"
|
|
LIBCURL_VERSION_MAJOR* = 7
|
|
LIBCURL_VERSION_MINOR* = 15
|
|
LIBCURL_VERSION_NUM* = 0x00070F05
|
|
LIBCURL_VERSION_PATCH* = 5
|
|
|
|
proc curl_strequal*(s1, s2: cstring): int32{.cdecl,
|
|
dynlib: libname, importc: "curl_strequal".}
|
|
proc curl_strnequal*(s1, s2: cstring, n: int): int32 {.cdecl,
|
|
dynlib: libname, importc: "curl_strnequal".}
|
|
proc curl_formadd*(httppost, last_post: PPcurl_httppost): TCURLFORMcode {.
|
|
cdecl, varargs, dynlib: libname, importc: "curl_formadd".}
|
|
|
|
proc curl_formget*(form: Pcurl_httppost, arg: pointer,
|
|
append: Tcurl_formget_callback): int32 {.cdecl,
|
|
dynlib: libname, importc: "curl_formget".}
|
|
proc curl_formfree*(form: Pcurl_httppost){.cdecl, dynlib: libname,
|
|
importc: "curl_formfree".}
|
|
proc curl_getenv*(variable: cstring): cstring{.cdecl, dynlib: libname,
|
|
importc: "curl_getenv".}
|
|
proc curl_version*(): cstring{.cdecl, dynlib: libname, importc: "curl_version".}
|
|
proc curl_easy_escape*(handle: PCURL, str: cstring, len: int32): cstring{.cdecl,
|
|
dynlib: libname, importc: "curl_easy_escape".}
|
|
proc curl_escape*(str: cstring, len: int32): cstring{.cdecl,
|
|
dynlib: libname, importc: "curl_escape".}
|
|
proc curl_easy_unescape*(handle: PCURL, str: cstring, len: int32,
|
|
outlength: var int32): cstring{.cdecl,
|
|
dynlib: libname, importc: "curl_easy_unescape".}
|
|
proc curl_unescape*(str: cstring, len: int32): cstring{.cdecl,
|
|
dynlib: libname, importc: "curl_unescape".}
|
|
proc curl_free*(p: pointer){.cdecl, dynlib: libname,
|
|
importc: "curl_free".}
|
|
proc curl_global_init*(flags: int32): TCURLcode {.cdecl, dynlib: libname,
|
|
importc: "curl_global_init".}
|
|
proc curl_global_init_mem*(flags: int32, m: Tcurl_malloc_callback,
|
|
f: Tcurl_free_callback, r: Tcurl_realloc_callback,
|
|
s: Tcurl_strdup_callback,
|
|
c: Tcurl_calloc_callback): TCURLcode {.
|
|
cdecl, dynlib: libname, importc: "curl_global_init_mem".}
|
|
proc curl_global_cleanup*() {.cdecl, dynlib: libname,
|
|
importc: "curl_global_cleanup".}
|
|
proc curl_slist_append*(curl_slist: Pcurl_slist, P: cstring): Pcurl_slist {.
|
|
cdecl, dynlib: libname, importc: "curl_slist_append".}
|
|
proc curl_slist_free_all*(para1: Pcurl_slist) {.cdecl, dynlib: libname,
|
|
importc: "curl_slist_free_all".}
|
|
proc curl_getdate*(p: cstring, unused: ptr TTime): TTime {.cdecl,
|
|
dynlib: libname, importc: "curl_getdate".}
|
|
proc curl_share_init*(): PCURLSH{.cdecl, dynlib: libname,
|
|
importc: "curl_share_init".}
|
|
proc curl_share_setopt*(para1: PCURLSH, option: TCURLSHoption): TCURLSHcode {.
|
|
cdecl, varargs, dynlib: libname, importc: "curl_share_setopt".}
|
|
|
|
proc curl_share_cleanup*(para1: PCURLSH): TCURLSHcode {.cdecl,
|
|
dynlib: libname, importc: "curl_share_cleanup".}
|
|
proc curl_version_info*(para1: TCURLversion): Pcurl_version_info_data{.cdecl,
|
|
dynlib: libname, importc: "curl_version_info".}
|
|
proc curl_easy_strerror*(para1: TCURLcode): cstring {.cdecl,
|
|
dynlib: libname, importc: "curl_easy_strerror".}
|
|
proc curl_share_strerror*(para1: TCURLSHcode): cstring {.cdecl,
|
|
dynlib: libname, importc: "curl_share_strerror".}
|
|
proc curl_easy_init*(): PCURL {.cdecl, dynlib: libname,
|
|
importc: "curl_easy_init".}
|
|
proc curl_easy_setopt*(curl: PCURL, option: TCURLoption): TCURLcode {.cdecl,
|
|
varargs, dynlib: libname, importc: "curl_easy_setopt".}
|
|
|
|
proc curl_easy_perform*(curl: PCURL): TCURLcode {.cdecl, dynlib: libname,
|
|
importc: "curl_easy_perform".}
|
|
proc curl_easy_cleanup*(curl: PCURL) {.cdecl, dynlib: libname,
|
|
importc: "curl_easy_cleanup".}
|
|
proc curl_easy_getinfo*(curl: PCURL, info: TCURLINFO): TCURLcode {.
|
|
cdecl, varargs, dynlib: libname, importc: "curl_easy_getinfo".}
|
|
|
|
proc curl_easy_duphandle*(curl: PCURL): PCURL {.cdecl, dynlib: libname,
|
|
importc: "curl_easy_duphandle".}
|
|
proc curl_easy_reset*(curl: PCURL) {.cdecl, dynlib: libname,
|
|
importc: "curl_easy_reset".}
|
|
proc curl_multi_init*(): PCURLM {.cdecl, dynlib: libname,
|
|
importc: "curl_multi_init".}
|
|
proc curl_multi_add_handle*(multi_handle: PCURLM,
|
|
curl_handle: PCURL): TCURLMcode {.
|
|
cdecl, dynlib: libname, importc: "curl_multi_add_handle".}
|
|
proc curl_multi_remove_handle*(multi_handle: PCURLM,
|
|
curl_handle: PCURL): TCURLMcode {.
|
|
cdecl, dynlib: libname, importc: "curl_multi_remove_handle".}
|
|
proc curl_multi_fdset*(multi_handle: PCURLM, read_fd_set: Pfd_set,
|
|
write_fd_set: Pfd_set, exc_fd_set: Pfd_set,
|
|
max_fd: var int32): TCURLMcode {.cdecl,
|
|
dynlib: libname, importc: "curl_multi_fdset".}
|
|
proc curl_multi_perform*(multi_handle: PCURLM,
|
|
running_handles: var int32): TCURLMcode {.
|
|
cdecl, dynlib: libname, importc: "curl_multi_perform".}
|
|
proc curl_multi_cleanup*(multi_handle: PCURLM): TCURLMcode {.cdecl,
|
|
dynlib: libname, importc: "curl_multi_cleanup".}
|
|
proc curl_multi_info_read*(multi_handle: PCURLM,
|
|
msgs_in_queue: var int32): PCURLMsg {.
|
|
cdecl, dynlib: libname, importc: "curl_multi_info_read".}
|
|
proc curl_multi_strerror*(para1: TCURLMcode): cstring {.cdecl,
|
|
dynlib: libname, importc: "curl_multi_strerror".}
|
|
proc curl_multi_socket*(multi_handle: PCURLM, s: Tcurl_socket,
|
|
running_handles: var int32): TCURLMcode {.cdecl,
|
|
dynlib: libname, importc: "curl_multi_socket".}
|
|
proc curl_multi_socket_all*(multi_handle: PCURLM,
|
|
running_handles: var int32): TCURLMcode {.
|
|
cdecl, dynlib: libname, importc: "curl_multi_socket_all".}
|
|
proc curl_multi_timeout*(multi_handle: PCURLM, milliseconds: var int32): TCURLMcode{.
|
|
cdecl, dynlib: libname, importc: "curl_multi_timeout".}
|
|
proc curl_multi_setopt*(multi_handle: PCURLM, option: TCURLMoption): TCURLMcode{.
|
|
cdecl, varargs, dynlib: libname, importc: "curl_multi_setopt".}
|
|
|
|
proc curl_multi_assign*(multi_handle: PCURLM, sockfd: Tcurl_socket,
|
|
sockp: pointer): TCURLMcode {.cdecl,
|
|
dynlib: libname, importc: "curl_multi_assign".}
|
|
|
|
|