libcurl.pp 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741
  1. {
  2. $Id: header,v 1.1 2000/07/13 06:33:45 michael Exp $
  3. This file is part of the Free Pascal packages
  4. Copyright (c) 1999-2000 by the Free Pascal development team
  5. See the file COPYING.FPC, included in this distribution,
  6. for details about the copyright.
  7. This program is distributed in the hope that it will be useful,
  8. but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  10. **********************************************************************}
  11. {
  12. the curl library is governed by its own copyright, see the curl
  13. website for this.
  14. }
  15. {$mode objfpc}
  16. unit libcurl;
  17. interface
  18. {$IFDEF WINDOWS}
  19. uses
  20. ctypes;
  21. type
  22. time_t = clong;
  23. PTime_t = ^time_t;
  24. off_t = clong;
  25. {$ELSE}
  26. uses
  27. unixtype;
  28. {$ENDIF}
  29. {$IFDEF FPC}
  30. {$PACKRECORDS C}
  31. {$ENDIF}
  32. { Automatically converted by H2Pas 1.0.0 from curl.h
  33. The following command line parameters were used:
  34. -D -l libcurl -p curl.h }
  35. const
  36. External_library='libcurl'; {Setup as you need}
  37. Type
  38. Pchar = ^char;
  39. Pcurl_calloc_callback = ^curl_calloc_callback;
  40. Pcurl_closepolicy = ^curl_closepolicy;
  41. Pcurl_forms = ^curl_forms;
  42. Pcurl_ftpauth = ^curl_ftpauth;
  43. Pcurl_ftpmethod = ^curl_ftpmethod;
  44. Pcurl_ftpssl = ^curl_ftpssl;
  45. PCURL_HTTP_VERSION = ^CURL_HTTP_VERSION;
  46. Pcurl_httppost = ^curl_httppost;
  47. PPcurl_httppost = ^Pcurl_httppost;
  48. Pcurl_infotype = ^curl_infotype;
  49. Pcurl_lock_access = ^curl_lock_access;
  50. Pcurl_lock_data = ^curl_lock_data;
  51. Pcurl_malloc_callback = ^curl_malloc_callback;
  52. PCURL_NETRC_OPTION = ^CURL_NETRC_OPTION;
  53. Pcurl_off_t = ^curl_off_t;
  54. Pcurl_proxytype = ^curl_proxytype;
  55. Pcurl_realloc_callback = ^curl_realloc_callback;
  56. Pcurl_slist = ^curl_slist;
  57. Pcurl_socket_t = ^curl_socket_t;
  58. PCURL_SSL_VERSION = ^CURL_SSL_VERSION;
  59. Pcurl_strdup_callback = ^curl_strdup_callback;
  60. PCURL_TIMECOND = ^CURL_TIMECOND;
  61. Pcurl_version_info_data = ^curl_version_info_data;
  62. PCURLcode = ^CURLcode;
  63. PCURLFORMcode = ^CURLFORMcode;
  64. PCURLformoption = ^CURLformoption;
  65. PCURLINFO = ^CURLINFO;
  66. Pcurliocmd = ^curliocmd;
  67. Pcurlioerr = ^curlioerr;
  68. PCURLM = ^CURLM;
  69. PCURLMcode = ^CURLMcode;
  70. PCURLMoption = ^CURLMoption;
  71. PCURLMSG = ^CURLMSG;
  72. PCURLoption = ^CURLoption;
  73. PCURLSH = ^CURLSH;
  74. PCURLSHcode = ^CURLSHcode;
  75. PCURLSHoption = ^CURLSHoption;
  76. PCURLversion = ^CURLversion;
  77. Pfd_set = pointer;
  78. PCURL = ^CURL;
  79. CURL = pointer;
  80. curl_off_t = off_t;
  81. curl_socket_t = longint;
  82. curl_httppost = record
  83. next : Pcurl_httppost;
  84. name : Pchar;
  85. namelength : longint;
  86. contents : Pchar;
  87. contentslength : longint;
  88. buffer : Pchar;
  89. bufferlength : longint;
  90. contenttype : Pchar;
  91. contentheader : Pcurl_slist;
  92. more : Pcurl_httppost;
  93. flags : longint;
  94. showfilename : Pchar;
  95. userp : pointer;
  96. end;
  97. curlfiletype = (
  98. CURLFILETYPE_FILE,
  99. CURLFILETYPE_DIRECTORY,
  100. CURLFILETYPE_SYMLINK,
  101. CURLFILETYPE_DEVICE_BLOCK,
  102. CURLFILETYPE_DEVICE_CHAR,
  103. CURLFILETYPE_NAMEDPIPE,
  104. CURLFILETYPE_SOCKET,
  105. CURLFILETYPE_DOOR,
  106. CURLFILETYPE_UNKNOWN);
  107. curl_fileinfo = record
  108. filename : ^char;
  109. filetype : curlfiletype;
  110. time : time_t;
  111. perm : dword;
  112. uid : longint;
  113. gid : longint;
  114. size : curl_off_t;
  115. hardlinks : longint;
  116. strings : record
  117. time : ^char;
  118. perm : ^char;
  119. user : ^char;
  120. group : ^char;
  121. target : ^char;
  122. end;
  123. flags : dword;
  124. b_data : ^char;
  125. b_size : size_t;
  126. b_used : size_t;
  127. end;
  128. curl_progress_callback = function (clientp:pointer; dltotal:double; dlnow:double; ultotal:double; ulnow:double):longint;cdecl;
  129. curl_write_callback = function (buffer:Pchar; size:size_t; nitems:size_t; outstream:pointer):size_t;cdecl;
  130. curl_read_callback = function (buffer:Pchar; size:size_t; nitems:size_t; instream:pointer):size_t;cdecl;
  131. curl_passwd_callback = function (clientp:pointer; prompt:Pchar; buffer:Pchar; buflen:longint):longint;cdecl;
  132. curl_chunk_bgn_callback = function (transfer_info:pointer; ptr:pointer; remains:longint):longint;cdecl;
  133. curl_chunk_end_callback = function (ptr:pointer):longint;cdecl;
  134. curl_fnmatch_callback = function (ptr:pointer; pattern:Pchar; _string:Pchar):longint;cdecl;
  135. curl_seek_callback = function (instream:pointer; offset:curl_off_t; origin:longint):longint;cdecl;
  136. curlsocktype = (
  137. CURLSOCKTYPE_IPCXN,
  138. CURLSOCKTYPE_LAST
  139. );
  140. curl_sockopt_callback = function (clientp:pointer; curlfd:curl_socket_t; purpose:curlsocktype):longint;cdecl;
  141. curl_sockaddr = record
  142. family : longint;
  143. socktype : longint;
  144. protocol : longint;
  145. addrlen : dword;
  146. addr : array[0..0] of byte; // variable length, needs typecast
  147. end;
  148. pcurl_sockaddr = ^curl_sockaddr;
  149. curl_opensocket_callback = function (clientp:pointer; purpose:curlsocktype; address:Pcurl_sockaddr):curl_socket_t;cdecl;
  150. curl_closesocket_callback = function (clientp:pointer; item:curl_socket_t):longint;cdecl;
  151. curlioerr = (CURLIOE_OK, CURLIOE_UNKNOWNCMD, CURLIOE_FAILRESTART, CURLIOE_LAST);
  152. curliocmd = (CURLIOCMD_NOP, CURLIOCMD_RESTARTREAD, CURLIOCMD_LAST);
  153. curl_ioctl_callback = function (handle:PCURL; cmd:longint; clientp:pointer):curlioerr;cdecl;
  154. curl_malloc_callback = function(size: size_t) : pointer; cdecl;
  155. curl_free_callback = procedure (ptr:pointer); cdecl;
  156. curl_realloc_callback = function(ptr : pointer; size:size_t) : pointer; cdecl;
  157. curl_strdup_callback = function(str : pchar) : pchar; cdecl;
  158. curl_calloc_callback = function(nmemb : size_t; size : size_t) : pointer;
  159. curl_infotype = (CURLINFO_TEXT := 0,CURLINFO_HEADER_IN,
  160. CURLINFO_HEADER_OUT,CURLINFO_DATA_IN,
  161. CURLINFO_DATA_OUT,CURLINFO_SSL_DATA_IN,
  162. CURLINFO_SSL_DATA_OUT,CURLINFO_END);
  163. curl_debug_callback = function (handle:PCURL; _type:curl_infotype; data:Pchar; size:size_t; userptr:pointer):longint;cdecl;
  164. CURLcode = (CURLE_OK,CURLE_UNSUPPORTED_PROTOCOL,
  165. CURLE_FAILED_INIT,CURLE_URL_MALFORMAT,
  166. CURLE_URL_MALFORMAT_USER,CURLE_COULDNT_RESOLVE_PROXY,
  167. CURLE_COULDNT_RESOLVE_HOST,CURLE_COULDNT_CONNECT,
  168. CURLE_FTP_WEIRD_SERVER_REPLY,CURLE_REMOTE_ACCESS_DENIED,
  169. CURLE_OBSOLETE10,CURLE_FTP_WEIRD_PASS_REPLY,
  170. CURLE_OBSOLETE12,CURLE_FTP_WEIRD_PASV_REPLY,
  171. CURLE_FTP_WEIRD_227_FORMAT,CURLE_FTP_CANT_GET_HOST,
  172. CURLE_OBSOLETE16, CURLE_FTP_COULDNT_SET_TYPE,
  173. CURLE_PARTIAL_FILE,CURLE_FTP_COULDNT_RETR_FILE,
  174. CURLE_OBSOLETE20,CURLE_QUOTE_ERROR,
  175. CURLE_HTTP_RETURNED_ERROR,CURLE_WRITE_ERROR,
  176. CURLE_OBSOLETE24,CURLE_UPLOAD_FAILED ,
  177. CURLE_READ_ERROR,CURLE_OUT_OF_MEMORY,
  178. CURLE_OPERATION_TIMEOUTED,CURLE_FTP_COULDNT_SET_ASCII,
  179. CURLE_FTP_PORT_FAILED,CURLE_FTP_COULDNT_USE_REST,
  180. CURLE_OBSOLETE32,CURLE_RANGE_ERROR,
  181. CURLE_HTTP_POST_ERROR,CURLE_SSL_CONNECT_ERROR,
  182. CURLE_BAD_DOWNLOAD_RESUME,CURLE_FILE_COULDNT_READ_FILE,
  183. CURLE_LDAP_CANNOT_BIND,CURLE_LDAP_SEARCH_FAILED,
  184. CURLE_OBSOLETE40,CURLE_FUNCTION_NOT_FOUND,
  185. CURLE_ABORTED_BY_CALLBACK,CURLE_BAD_FUNCTION_ARGUMENT,
  186. CURLE_OBSOLETE44,CURLE_INTERFACE_FAILED,
  187. CURLE_OBSOLETE46,CURLE_TOO_MANY_REDIRECTS,
  188. CURLE_UNKNOWN_TELNET_OPTION,CURLE_TELNET_OPTION_SYNTAX,
  189. CURLE_OBSOLETE50,CURLE_PEER_FAILED_VERIFICATION,
  190. CURLE_GOT_NOTHING,CURLE_SSL_ENGINE_NOTFOUND,
  191. CURLE_SSL_ENGINE_SETFAILED,CURLE_SEND_ERROR,
  192. CURLE_RECV_ERROR,CURLE_OBSOLETE57,
  193. CURLE_SSL_CERTPROBLEM,CURLE_SSL_CIPHER,
  194. CURLE_SSL_CACERT,CURLE_BAD_CONTENT_ENCODING,
  195. CURLE_LDAP_INVALID_URL,CURLE_FILESIZE_EXCEEDED,
  196. CURLE_USE_SSL_FAILED,CURLE_SEND_FAIL_REWIND,
  197. CURLE_SSL_ENGINE_INITFAILED,CURLE_LOGIN_DENIED,
  198. CURLE_TFTP_NOTFOUND,CURLE_TFTP_PERM,
  199. CURLE_REMOTE_DISK_FULL,CURLE_TFTP_ILLEGAL,
  200. CURLE_TFTP_UNKNOWNID,CURLE_REMOTE_FILE_EXISTS,
  201. CURLE_TFTP_NOSUCHUSER,CURLE_CONV_FAILED,
  202. CURLE_CONV_REQD,CURLE_SSL_CACERT_BADFILE,
  203. CURLE_REMOTE_FILE_NOT_FOUND,CURLE_SSH,
  204. CURLE_SSL_SHUTDOWN_FAILED,CURLE_AGAIN,
  205. CURLE_SSL_CRL_BADFILE,CURLE_SSL_ISSUER_ERROR,
  206. CURLE_FTP_PRET_FAILED,CURLE_RTSP_CSEQ_ERROR,
  207. CURLE_RTSP_SESSION_ERROR,CURLE_FTP_BAD_FILE_LIST,
  208. CURLE_CHUNK_FAILEDCURL_LAST);
  209. curl_conv_callback = function (buffer:Pchar; length:size_t):CURLcode;cdecl;
  210. curl_ssl_ctx_callback = function (curl:PCURL; ssl_ctx:pointer; userptr:pointer):CURLcode;cdecl;
  211. curl_proxytype = (
  212. CURLPROXY_HTTP := 0,
  213. CURLPROXY_SOCKS4 := 4,
  214. CURLPROXY_SOCKS5 := 5,
  215. CURLPROXY_SOCKS4A := 6,
  216. CURLPROXY_SOCKS5_HOSTNAME := 7);
  217. curl_khkey = record
  218. key : ^char;
  219. len : size_t;
  220. keytype : (CURLKHTYPE_UNKNOWN,CURLKHTYPE_RSA1,
  221. CURLKHTYPE_RSA,CURLKHTYPE_DSS);
  222. end;
  223. pcurl_khkey = ^curl_khkey;
  224. curl_khstat = (CURLKHSTAT_FINE_ADD_TO_FILE,
  225. CURLKHSTAT_FINE,
  226. CURLKHSTAT_REJECT,
  227. CURLKHSTAT_DEFER,
  228. CURLKHSTAT_LAST
  229. );
  230. curl_khmatch = (
  231. CURLKHMATCH_OK,
  232. CURLKHMATCH_MISMATCH,
  233. CURLKHMATCH_MISSING,
  234. CURLKHMATCH_LAST);
  235. curl_sshkeycallback = function (easy:PCURL; knownkey:Pcurl_khkey; foundkey:Pcurl_khkey; _para4:curl_khmatch; clientp:pointer):longint;cdecl;
  236. curl_usessl = (
  237. CURLUSESSL_NONE,
  238. CURLUSESSL_TRY,
  239. CURLUSESSL_CONTROL,
  240. CURLUSESSL_ALL,
  241. CURLUSESSL_LAST);
  242. curl_ftpccc = (CURLFTPSSL_CCC_NONE,CURLFTPSSL_CCC_PASSIVE,
  243. CURLFTPSSL_CCC_ACTIVE,CURLFTPSSL_CCC_LAST
  244. );
  245. curl_ftpauth = (
  246. CURLFTPAUTH_DEFAULT,
  247. CURLFTPAUTH_SSL,
  248. CURLFTPAUTH_TLS,
  249. CURLFTPAUTH_LAST);
  250. curl_ftpssl = curl_usessl;
  251. curl_ftpcreatedir = (
  252. CURLFTP_CREATE_DIR_NONE,CURLFTP_CREATE_DIR,
  253. CURLFTP_CREATE_DIR_RETRY,CURLFTP_CREATE_DIR_LAST
  254. );
  255. curl_ftpmethod = (CURLFTPMETHOD_DEFAULT,CURLFTPMETHOD_MULTICWD,
  256. CURLFTPMETHOD_NOCWD,CURLFTPMETHOD_SINGLECWD,
  257. CURLFTPMETHOD_LAST);
  258. CURLoption = (
  259. CURLOPT_FILE := 10000+1,CURLOPT_URL := 10000+2,
  260. CURLOPT_PORT := 0+3,CURLOPT_PROXY := 10000+4,
  261. CURLOPT_USERPWD := 10000+5,CURLOPT_PROXYUSERPWD := 10000+6,
  262. CURLOPT_RANGE := 10000+7,CURLOPT_INFILE := 10000+9,
  263. CURLOPT_ERRORBUFFER := 10000+10,CURLOPT_WRITEFUNCTION := 20000+11,
  264. CURLOPT_READFUNCTION := 20000+12,CURLOPT_TIMEOUT := 0+13,
  265. CURLOPT_INFILESIZE := 0+14,CURLOPT_POSTFIELDS := 10000+15,
  266. CURLOPT_REFERER := 10000+16,CURLOPT_FTPPORT := 10000+17,
  267. CURLOPT_USERAGENT := 10000+18,CURLOPT_LOW_SPEED_LIMIT := 0+19,
  268. CURLOPT_LOW_SPEED_TIME := 0+20,CURLOPT_RESUME_FROM := 0+21,
  269. CURLOPT_COOKIE := 10000+22,CURLOPT_HTTPHEADER := 10000+23,
  270. CURLOPT_HTTPPOST := 10000+24,CURLOPT_SSLCERT := 10000+25,
  271. CURLOPT_SSLCERTPASSWD := 10000+26,CURLOPT_SSLKEYPASSWD := 10000+26,
  272. CURLOPT_CRLF := 0+27,CURLOPT_QUOTE := 10000+28,
  273. CURLOPT_WRITEHEADER := 10000+29,CURLOPT_COOKIEFILE := 10000+31,
  274. CURLOPT_SSLVERSION := 0+32,CURLOPT_TIMECONDITION := 0+33,
  275. CURLOPT_TIMEVALUE := 0+34,CURLOPT_CUSTOMREQUEST := 10000+36,
  276. CURLOPT_STDERR := 10000+37,CURLOPT_POSTQUOTE := 10000+39,
  277. CURLOPT_WRITEINFO := 10000+40,CURLOPT_VERBOSE := 0+41,
  278. CURLOPT_HEADER := 0+42,CURLOPT_NOPROGRESS := 0+43,
  279. CURLOPT_NOBODY := 0+44,CURLOPT_FAILONERROR := 0+45,
  280. CURLOPT_UPLOAD := 0+46,CURLOPT_POST := 0+47,
  281. CURLOPT_FTPLISTONLY := 0+48,CURLOPT_FTPAPPEND := 0+50,
  282. CURLOPT_NETRC := 0+51,CURLOPT_FOLLOWLOCATION := 0+52,
  283. CURLOPT_TRANSFERTEXT := 0+53,CURLOPT_PUT := 0+54,
  284. CURLOPT_PROGRESSFUNCTION := 20000+56,CURLOPT_PROGRESSDATA := 10000+57,
  285. CURLOPT_AUTOREFERER := 0+58,CURLOPT_PROXYPORT := 0+59,
  286. CURLOPT_POSTFIELDSIZE := 0+60,CURLOPT_HTTPPROXYTUNNEL := 0+61,
  287. CURLOPT_INTERFACE := 10000+62,CURLOPT_KRB4LEVEL := 10000+63,
  288. CURLOPT_SSL_VERIFYPEER := 0+64,CURLOPT_CAINFO := 10000+65,
  289. CURLOPT_MAXREDIRS := 0+68,CURLOPT_FILETIME := 0+69,
  290. CURLOPT_TELNETOPTIONS := 10000+70,CURLOPT_MAXCONNECTS := 0+71,
  291. CURLOPT_CLOSEPOLICY := 0+72,CURLOPT_FRESH_CONNECT := 0+74,
  292. CURLOPT_FORBID_REUSE := 0+75,CURLOPT_RANDOM_FILE := 10000+76,
  293. CURLOPT_EGDSOCKET := 10000+77,CURLOPT_CONNECTTIMEOUT := 0+78,
  294. CURLOPT_HEADERFUNCTION := 20000+79,CURLOPT_HTTPGET := 0+80,
  295. CURLOPT_SSL_VERIFYHOST := 0+81,CURLOPT_COOKIEJAR := 10000+82,
  296. CURLOPT_SSL_CIPHER_LIST := 10000+83,CURLOPT_HTTP_VERSION := 0+84,
  297. CURLOPT_FTP_USE_EPSV := 0+85,CURLOPT_SSLCERTTYPE := 10000+86,
  298. CURLOPT_SSLKEY := 10000+87,CURLOPT_SSLKEYTYPE := 10000+88,
  299. CURLOPT_SSLENGINE := 10000+89,CURLOPT_SSLENGINE_DEFAULT := 0+90,
  300. CURLOPT_DNS_USE_GLOBAL_CACHE := 0+91,
  301. CURLOPT_DNS_CACHE_TIMEOUT := 0+92,CURLOPT_PREQUOTE := 10000+93,
  302. CURLOPT_DEBUGFUNCTION := 20000+94,CURLOPT_DEBUGDATA := 10000+95,
  303. CURLOPT_COOKIESESSION := 0+96,CURLOPT_CAPATH := 10000+97,
  304. CURLOPT_BUFFERSIZE := 0+98,CURLOPT_NOSIGNAL := 0+99,
  305. CURLOPT_SHARE := 10000+100,CURLOPT_PROXYTYPE := 0+101,
  306. CURLOPT_ENCODING := 10000+102,CURLOPT_PRIVATE := 10000+103,
  307. CURLOPT_HTTP200ALIASES := 10000+104,CURLOPT_UNRESTRICTED_AUTH := 0+105,
  308. CURLOPT_FTP_USE_EPRT := 0+106,CURLOPT_HTTPAUTH := 0+107,
  309. CURLOPT_SSL_CTX_FUNCTION := 20000+108,CURLOPT_SSL_CTX_DATA := 10000+109,
  310. CURLOPT_FTP_CREATE_MISSING_DIRS := 0+110,
  311. CURLOPT_PROXYAUTH := 0+111,CURLOPT_FTP_RESPONSE_TIMEOUT := 0+112,
  312. CURLOPT_IPRESOLVE := 0+113,CURLOPT_MAXFILESIZE := 0+114,
  313. CURLOPT_INFILESIZE_LARGE := 30000+115,CURLOPT_RESUME_FROM_LARGE := 30000+116,
  314. CURLOPT_MAXFILESIZE_LARGE := 30000+117,CURLOPT_NETRC_FILE := 10000+118,
  315. CURLOPT_FTP_SSL := 0+119,CURLOPT_POSTFIELDSIZE_LARGE := 30000+120,
  316. CURLOPT_TCP_NODELAY := 0+121,CURLOPT_SOURCE_USERPWD := 10000+123,
  317. CURLOPT_SOURCE_PREQUOTE := 10000+127,CURLOPT_SOURCE_POSTQUOTE := 10000+128,
  318. CURLOPT_FTPSSLAUTH := 0+129,CURLOPT_IOCTLFUNCTION := 20000+130,
  319. CURLOPT_IOCTLDATA := 10000+131,CURLOPT_SOURCE_URL := 10000+132,
  320. CURLOPT_SOURCE_QUOTE := 10000+133,CURLOPT_FTP_ACCOUNT := 10000+134,
  321. CURLOPT_COOKIELIST := 10000+135,CURLOPT_IGNORE_CONTENT_LENGTH := 0+136,
  322. CURLOPT_FTP_SKIP_PASV_IP := 0+137,CURLOPT_FTP_FILEMETHOD := 0+138,
  323. CURLOPT_LOCALPORT := 0+139,CURLOPT_LOCALPORTRANGE := 0+140,
  324. CURLOPT_CONNECT_ONLY := 0+141,CURLOPT_CONV_FROM_NETWORK_FUNCTION := 20000+142,
  325. CURLOPT_CONV_TO_NETWORK_FUNCTION := 20000+143,
  326. CURLOPT_CONV_FROM_UTF8_FUNCTION := 20000+144,
  327. CURLOPT_MAX_SEND_SPEED_LARGE := 30000+145,
  328. CURLOPT_MAX_RECV_SPEED_LARGE := 30000+146,
  329. CURLOPT_FTP_ALTERNATIVE_TO_USER := 10000+147,
  330. CURLOPT_SOCKOPTFUNCTION := 20000+148,CURLOPT_SOCKOPTDATA := 10000+149,
  331. CURLOPT_SSL_SESSIONID_CACHE := 0+150,CURLOPT_SSH_AUTH_TYPES := 0+151,
  332. CURLOPT_SSH_PUBLIC_KEYFILE := 10000+152,CURLOPT_SSH_PRIVATE_KEYFILE := 10000+153,
  333. CURLOPT_FTP_SSL_CCC := 0+154,CURLOPT_TIMEOUT_MS := 0+155,
  334. CURLOPT_CONNECTTIMEOUT_MS := 0+156,CURLOPT_HTTP_TRANSFER_DECODING := 0+157,
  335. CURLOPT_HTTP_CONTENT_DECODING := 0+158,
  336. CURLOPT_NEW_FILE_PERMS := 0+159,CURLOPT_NEW_DIRECTORY_PERMS := 0+160,
  337. CURLOPT_POSTREDIR := 0+161,CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 := 10000+162,
  338. CURLOPT_OPENSOCKETFUNCTION := 20000+163,CURLOPT_OPENSOCKETDATA := 10000+164,
  339. CURLOPT_COPYPOSTFIELDS := 10000+165,CURLOPT_PROXY_TRANSFER_MODE := 0+166,
  340. CURLOPT_SEEKFUNCTION := 20000+167,CURLOPT_SEEKDATA := 10000+168,
  341. CURLOPT_CRLFILE := 10000+169,CURLOPT_ISSUERCERT := 10000+170,
  342. CURLOPT_ADDRESS_SCOPE := 0+171,CURLOPT_CERTINFO := 0+172,
  343. CURLOPT_USERNAME := 10000+173,CURLOPT_PASSWORD := 10000+174,
  344. CURLOPT_PROXYUSERNAME := 10000+175,CURLOPT_PROXYPASSWORD := 10000+176,
  345. CURLOPT_NOPROXY := 10000+177,CURLOPT_TFTP_BLKSIZE := 0+178,
  346. CURLOPT_SOCKS5_GSSAPI_SERVICE := 10000+179,
  347. CURLOPT_SOCKS5_GSSAPI_NEC := 0+180,CURLOPT_PROTOCOLS := 0+181,
  348. CURLOPT_REDIR_PROTOCOLS := 0+182,CURLOPT_SSH_KNOWNHOSTS := 10000+183,
  349. CURLOPT_SSH_KEYFUNCTION := 20000+184,CURLOPT_SSH_KEYDATA := 10000+185,
  350. CURLOPT_MAIL_FROM := 10000+186,CURLOPT_MAIL_RCPT := 10000+187,
  351. CURLOPT_FTP_USE_PRET := 0+188,CURLOPT_RTSP_REQUEST := 0+189,
  352. CURLOPT_RTSP_SESSION_ID := 10000+190,CURLOPT_RTSP_STREAM_URI := 10000+191,
  353. CURLOPT_RTSP_TRANSPORT := 10000+192,CURLOPT_RTSP_CLIENT_CSEQ := 0+193,
  354. CURLOPT_RTSP_SERVER_CSEQ := 0+194,CURLOPT_INTERLEAVEDATA := 10000+195,
  355. CURLOPT_INTERLEAVEFUNCTION := 20000+196,CURLOPT_WILDCARDMATCH := 0+197,
  356. CURLOPT_CHUNK_BGN_FUNCTION := 20000+198,CURLOPT_CHUNK_END_FUNCTION := 20000+199,
  357. CURLOPT_FNMATCH_FUNCTION := 20000+200,CURLOPT_CHUNK_DATA := 10000+201,
  358. CURLOPT_FNMATCH_DATA := 10000+202,CURLOPT_RESOLVE := 10000+203,
  359. CURLOPT_TLSAUTH_USERNAME := 10000+204,CURLOPT_TLSAUTH_PASSWORD := 10000+205,
  360. CURLOPT_TLSAUTH_TYPE := 10000+206,CURLOPT_TRANSFER_ENCODING := 0+207,
  361. CURLOPT_CLOSESOCKETFUNCTION := 20000+208,CURLOPT_CLOSESOCKETDATA := 10000+209,
  362. CURLOPT_GSSAPI_DELEGATION := 0+210,CURLOPT_LASTENTRY);
  363. CURL_HTTP_VERSION = (CURL_HTTP_VERSION_NONE,CURL_HTTP_VERSION_1_0,
  364. CURL_HTTP_VERSION_1_1,CURL_HTTP_VERSION_LAST);
  365. curl_rtspreq = (CURL_RTSPREQ_NONE,CURL_RTSPREQ_OPTIONS,
  366. CURL_RTSPREQ_DESCRIBE,CURL_RTSPREQ_ANNOUNCE,
  367. CURL_RTSPREQ_SETUP,CURL_RTSPREQ_PLAY,
  368. CURL_RTSPREQ_PAUSE,CURL_RTSPREQ_TEARDOWN,
  369. CURL_RTSPREQ_GET_PARAMETER,CURL_RTSPREQ_SET_PARAMETER,
  370. CURL_RTSPREQ_RECORD,CURL_RTSPREQ_RECEIVE,
  371. CURL_RTSPREQ_LAST);
  372. CURL_NETRC_OPTION = (CURL_NETRC_IGNORED,CURL_NETRC_OPTIONAL,
  373. CURL_NETRC_REQUIRED,CURL_NETRC_LAST);
  374. CURL_SSL_VERSION = (CURL_SSLVERSION_DEFAULT,CURL_SSLVERSION_TLSv1,
  375. CURL_SSLVERSION_SSLv2,CURL_SSLVERSION_SSLv3,
  376. CURL_SSLVERSION_LAST);
  377. CURL_TLSAUTH = (CURL_TLSAUTH_NONE,CURL_TLSAUTH_SRP,CURL_TLSAUTH_LAST);
  378. CURL_TIMECOND = (CURL_TIMECOND_NONE,CURL_TIMECOND_IFMODSINCE,
  379. CURL_TIMECOND_IFUNMODSINCE,CURL_TIMECOND_LASTMOD,
  380. CURL_TIMECOND_LAST);
  381. CURLformoption = (CURLFORM_NOTHING,CURLFORM_COPYNAME,CURLFORM_PTRNAME,
  382. CURLFORM_NAMELENGTH,CURLFORM_COPYCONTENTS,
  383. CURLFORM_PTRCONTENTS,CURLFORM_CONTENTSLENGTH,
  384. CURLFORM_FILECONTENT,CURLFORM_ARRAY,
  385. CURLFORM_OBSOLETE,CURLFORM_FILE,CURLFORM_BUFFER,
  386. CURLFORM_BUFFERPTR,CURLFORM_BUFFERLENGTH,
  387. CURLFORM_CONTENTTYPE,CURLFORM_CONTENTHEADER,
  388. CURLFORM_FILENAME,CURLFORM_END,CURLFORM_OBSOLETE2,
  389. CURLFORM_STREAM, CURLFORM_LASTENTRY);
  390. curl_forms = record
  391. option : CURLformoption;
  392. value : Pchar;
  393. end;
  394. CURLFORMcode = (CURL_FORMADD_OK,CURL_FORMADD_MEMORY,
  395. CURL_FORMADD_OPTION_TWICE,CURL_FORMADD_NULL,
  396. CURL_FORMADD_UNKNOWN_OPTION,CURL_FORMADD_INCOMPLETE,
  397. CURL_FORMADD_ILLEGAL_ARRAY,CURL_FORMADD_DISABLED,
  398. CURL_FORMADD_LAST);
  399. curl_formget_callback = function (arg:pointer; buf:Pchar; len:size_t):size_t;cdecl;
  400. curl_slist = record
  401. data : Pchar;
  402. next : Pcurl_slist;
  403. end;
  404. CURLINFO = (CURLINFO_NONE,CURLINFO_EFFECTIVE_URL := $100000+1,
  405. CURLINFO_RESPONSE_CODE := $200000+2,CURLINFO_TOTAL_TIME := $300000+3,
  406. CURLINFO_NAMELOOKUP_TIME := $300000+4,CURLINFO_CONNECT_TIME := $300000+5,
  407. CURLINFO_PRETRANSFER_TIME := $300000+6,CURLINFO_SIZE_UPLOAD := $300000+7,
  408. CURLINFO_SIZE_DOWNLOAD := $300000+8,CURLINFO_SPEED_DOWNLOAD := $300000+9,
  409. CURLINFO_SPEED_UPLOAD := $300000+10,CURLINFO_HEADER_SIZE := $200000+11,
  410. CURLINFO_REQUEST_SIZE := $200000+12,CURLINFO_SSL_VERIFYRESULT := $200000+13,
  411. CURLINFO_FILETIME := $200000+14,CURLINFO_CONTENT_LENGTH_DOWNLOAD := $300000+15,
  412. CURLINFO_CONTENT_LENGTH_UPLOAD := $300000+16,
  413. CURLINFO_STARTTRANSFER_TIME := $300000+17,CURLINFO_CONTENT_TYPE := $100000+18,
  414. CURLINFO_REDIRECT_TIME := $300000+19,CURLINFO_REDIRECT_COUNT := $200000+20,
  415. CURLINFO_PRIVATE := $100000+21,CURLINFO_HTTP_CONNECTCODE := $200000+22,
  416. CURLINFO_HTTPAUTH_AVAIL := $200000+23,CURLINFO_PROXYAUTH_AVAIL := $200000+24,
  417. CURLINFO_OS_ERRNO := $200000+25,CURLINFO_NUM_CONNECTS := $200000+26,
  418. CURLINFO_SSL_ENGINES := $400000+27,CURLINFO_COOKIELIST := $400000+28,
  419. CURLINFO_LASTSOCKET := $200000+29,CURLINFO_FTP_ENTRY_PATH := $100000+30,
  420. CURLINFO_REDIRECT_URL := $100000+31,CURLINFO_PRIMARY_IP := $100000+32,
  421. CURLINFO_APPCONNECT_TIME := $300000+33,CURLINFO_CERTINFO := $400000+34,
  422. CURLINFO_CONDITION_UNMET := $200000+35,CURLINFO_RTSP_SESSION_ID := $100000+36,
  423. CURLINFO_RTSP_CLIENT_CSEQ := $200000+37,CURLINFO_RTSP_SERVER_CSEQ := $200000+38,
  424. CURLINFO_RTSP_CSEQ_RECV := $200000+39,CURLINFO_PRIMARY_PORT := $200000+40,
  425. CURLINFO_LOCAL_IP := $100000+41,CURLINFO_LOCAL_PORT := $200000+42,
  426. CURLINFO_LASTONE := 42);
  427. curl_closepolicy = (CURLCLOSEPOLICY_NONE,CURLCLOSEPOLICY_OLDEST,
  428. CURLCLOSEPOLICY_LEAST_RECENTLY_USED,
  429. CURLCLOSEPOLICY_LEAST_TRAFFIC,CURLCLOSEPOLICY_SLOWEST,
  430. CURLCLOSEPOLICY_CALLBACK,CURLCLOSEPOLICY_LAST);
  431. curl_lock_data = (CURL_LOCK_DATA_NONE := 0,CURL_LOCK_DATA_SHARE,
  432. CURL_LOCK_DATA_COOKIE,CURL_LOCK_DATA_DNS,
  433. CURL_LOCK_DATA_SSL_SESSION,CURL_LOCK_DATA_CONNECT,
  434. CURL_LOCK_DATA_LAST);
  435. curl_lock_access = (CURL_LOCK_ACCESS_NONE := 0,
  436. CURL_LOCK_ACCESS_SHARED := 1,
  437. CURL_LOCK_ACCESS_SINGLE := 2,
  438. CURL_LOCK_ACCESS_LAST);
  439. curl_lock_function = procedure (handle:PCURL; data:curl_lock_data; locktype:curl_lock_access; userptr:pointer);cdecl;
  440. curl_unlock_function = procedure (handle:PCURL; data:curl_lock_data; userptr:pointer);cdecl;
  441. CURLSH = pointer;
  442. CURLSHcode = (CURLSHE_OK,CURLSHE_BAD_OPTION,CURLSHE_IN_USE,
  443. CURLSHE_INVALID,CURLSHE_NOMEM,CURLSHE_LAST);
  444. CURLSHoption = (CURLSHOPT_NONE,CURLSHOPT_SHARE,CURLSHOPT_UNSHARE,
  445. CURLSHOPT_LOCKFUNC,CURLSHOPT_UNLOCKFUNC,
  446. CURLSHOPT_USERDATA,CURLSHOPT_LAST);
  447. CURLversion = (CURLVERSION_FIRST,CURLVERSION_SECOND,
  448. CURLVERSION_THIRD,CURLVERSION_LAST);
  449. curl_version_info_data = record
  450. age : CURLversion;
  451. version : Pchar;
  452. version_num : dword;
  453. host : Pchar;
  454. features : longint;
  455. ssl_version : Pchar;
  456. ssl_version_num : longint;
  457. libz_version : Pchar;
  458. protocols : ^Pchar;
  459. ares : Pchar;
  460. ares_num : longint;
  461. libidn : Pchar;
  462. iconv_ver_num : longint;
  463. libssh_version : ^char;
  464. end;
  465. CURLM = pointer;
  466. CURLMcode = (CURLM_CALL_MULTI_PERFORM := -(1),CURLM_OK,
  467. CURLM_BAD_HANDLE,CURLM_BAD_EASY_HANDLE,
  468. CURLM_OUT_OF_MEMORY,CURLM_INTERNAL_ERROR,
  469. CURLM_BAD_SOCKET,CURLM_UNKNOWN_OPTION, CURLM_LAST);
  470. TCURLMSG = (CURLMSG_NONE,CURLMSG_DONE,CURLMSG_LAST);
  471. CURLMsg = record
  472. msg : TCURLMSG;
  473. easy_handle : PCURL;
  474. data : record
  475. case longint of
  476. 0 : ( whatever : pointer );
  477. 1 : ( result : CURLcode );
  478. end;
  479. end;
  480. curl_socket_callback = function (easy:PCURL; s:curl_socket_t; what:longint; userp:pointer; socketp:pointer):longint;cdecl;
  481. CURLMoption = (
  482. CURLMOPT_SOCKETFUNCTION := 20000+1,
  483. CURLMOPT_SOCKETDATA := 10000+2,
  484. CURLMOPT_PIPELINING := 0+3,
  485. CURLMOPT_TIMERFUNCTION := 20000+4,
  486. CURLMOPT_TIMERDATA := 10000+5,
  487. CURLMOPT_MAXCONNECTS := 0+6,
  488. CURLMOPT_LASTENTRY);
  489. const
  490. CURLAUTH_ANY = not (0);
  491. CURLAUTH_BASIC = 1 shl 0;
  492. CURLAUTH_ANYSAFE = not (CURLAUTH_BASIC);
  493. CURLAUTH_DIGEST = 1 shl 1;
  494. CURLAUTH_GSSNEGOTIATE = 1 shl 2;
  495. CURLAUTH_NONE = 0;
  496. CURLAUTH_NTLM = 1 shl 3;
  497. CURL_CHUNK_BGN_FUNC_OK = 0;
  498. CURL_CHUNK_BGN_FUNC_FAIL = 1;
  499. CURL_CHUNK_BGN_FUNC_SKIP = 2;
  500. CURL_CHUNK_END_FUNC_OK = 0;
  501. CURL_CHUNK_END_FUNC_FAIL = 1;
  502. CURL_FNMATCHFUNC_MATCH = 0;
  503. CURL_FNMATCHFUNC_NOMATCH = 1;
  504. CURL_FNMATCHFUNC_FAIL = 2;
  505. CURL_SEEKFUNC_OK = 0;
  506. CURL_SEEKFUNC_FAIL = 1;
  507. CURL_SEEKFUNC_CANTSEEK = 2;
  508. CURL_READFUNC_ABORT = $10000000;
  509. CURL_READFUNC_PAUSE = $10000001;
  510. CURL_SOCKOPT_OK = 0;
  511. CURL_SOCKOPT_ERROR = 1;
  512. CURL_SOCKOPT_ALREADY_CONNECTED = 2;
  513. CURLE_ALREADY_COMPLETE = 99999;
  514. CURLE_FTP_BAD_DOWNLOAD_RESUME = CURLE_BAD_DOWNLOAD_RESUME;
  515. CURLE_FTP_PARTIAL_FILE = CURLE_PARTIAL_FILE;
  516. CURLE_HTTP_NOT_FOUND = CURLE_HTTP_RETURNED_ERROR;
  517. CURLE_HTTP_PORT_FAILED = CURLE_INTERFACE_FAILED;
  518. CURLE_OPERATION_TIMEDOUT = CURLE_OPERATION_TIMEOUTED;
  519. CURLE_FTP_ACCESS_DENIED = CURLE_REMOTE_ACCESS_DENIED;
  520. CURLE_FTP_COULDNT_SET_BINARY = CURLE_FTP_COULDNT_SET_TYPE;
  521. CURLE_FTP_QUOTE_ERROR = CURLE_QUOTE_ERROR;
  522. CURLE_TFTP_DISKFULL = CURLE_REMOTE_DISK_FULL;
  523. CURLE_TFTP_EXISTS = CURLE_REMOTE_FILE_EXISTS;
  524. CURLE_HTTP_RANGE_ERROR = CURLE_RANGE_ERROR;
  525. CURLE_FTP_SSL_FAILED = CURLE_USE_SSL_FAILED;
  526. CURLE_FTP_COULDNT_STOR_FILE = CURLE_UPLOAD_FAILED;
  527. CURLFTPSSL_NONE = CURLUSESSL_NONE;
  528. CURLFTPSSL_TRY = CURLUSESSL_TRY;
  529. CURLFTPSSL_CONTROL = CURLUSESSL_CONTROL;
  530. CURLFTPSSL_ALL = CURLUSESSL_ALL;
  531. CURLFTPSSL_LAST = CURLUSESSL_LAST;
  532. CURL_ERROR_SIZE = 256;
  533. CURL_FORMAT_OFF_T = '%ld';
  534. CURL_GLOBAL_NOTHING = 0;
  535. CURL_GLOBAL_SSL = 1 shl 0;
  536. CURL_GLOBAL_WIN32 = 1 shl 1;
  537. CURL_GLOBAL_ALL = CURL_GLOBAL_SSL or CURL_GLOBAL_WIN32;
  538. CURL_GLOBAL_DEFAULT = CURL_GLOBAL_ALL;
  539. CURLINFO_DOUBLE = $300000;
  540. CURLINFO_HTTP_CODE = CURLINFO_RESPONSE_CODE;
  541. CURLINFO_LONG = $200000;
  542. CURLINFO_MASK = $0fffff;
  543. CURLINFO_SLIST = $400000;
  544. CURLINFO_STRING = $100000;
  545. CURLINFO_TYPEMASK = $f00000;
  546. CURL_IPRESOLVE_V4 = 1;
  547. CURL_IPRESOLVE_V6 = 2;
  548. CURL_IPRESOLVE_WHATEVER = 0;
  549. CURL_MAX_WRITE_SIZE = 16384;
  550. CURLM_CALL_MULTI_SOCKET = CURLM_CALL_MULTI_PERFORM;
  551. CURLOPT_CLOSEFUNCTION = -(5);
  552. CURLOPT_FTPASCII = CURLOPT_TRANSFERTEXT;
  553. CURLOPT_HEADERDATA = CURLOPT_WRITEHEADER;
  554. CURLOPT_HTTPREQUEST = -(1);
  555. CURLOPT_MUTE = -(2);
  556. CURLOPT_PASSWDDATA = -(4);
  557. CURLOPT_PASSWDFUNCTION = -(3);
  558. CURLOPT_PASV_HOST = -(9);
  559. CURLOPT_READDATA = CURLOPT_INFILE;
  560. CURLOPT_SOURCE_HOST = -(6);
  561. CURLOPT_SOURCE_PATH = -(7);
  562. CURLOPT_SOURCE_PORT = -(8);
  563. CURLOPTTYPE_FUNCTIONPOINT = 20000;
  564. CURLOPTTYPE_LONG = 0;
  565. CURLOPTTYPE_OBJECTPOINT = 10000;
  566. CURLOPTTYPE_OFF_T = 30000;
  567. CURLOPT_WRITEDATA = CURLOPT_FILE;
  568. CURL_REDIR_GET_ALL = 0;
  569. CURL_REDIR_POST_301 = 1;
  570. CURL_REDIR_POST_302 = 2;
  571. CURL_POLL_IN = 1;
  572. CURL_POLL_INOUT = 3;
  573. CURL_POLL_NONE = 0;
  574. CURL_POLL_OUT = 2;
  575. CURL_POLL_REMOVE = 4;
  576. CURL_SOCKET_BAD = -(1);
  577. CURL_SOCKET_TIMEOUT = CURL_SOCKET_BAD;
  578. CURL_VERSION_ASYNCHDNS = 1 shl 7;
  579. CURL_VERSION_CONV = 1 shl 12;
  580. CURL_VERSION_DEBUG = 1 shl 6;
  581. CURL_VERSION_GSSNEGOTIATE = 1 shl 5;
  582. CURL_VERSION_IDN = 1 shl 10;
  583. CURL_VERSION_IPV6 = 1 shl 0;
  584. CURL_VERSION_KERBEROS4 = 1 shl 1;
  585. CURL_VERSION_LARGEFILE = 1 shl 9;
  586. CURL_VERSION_LIBZ = 1 shl 3;
  587. CURLVERSION_NOW = CURLVERSION_THIRD;
  588. CURL_VERSION_NTLM = 1 shl 4;
  589. CURL_VERSION_SPNEGO = 1 shl 8;
  590. CURL_VERSION_SSL = 1 shl 2;
  591. CURL_VERSION_SSPI = 1 shl 11;
  592. _FILE_OFFSET_BITS = 0;
  593. FILESIZEBITS = 0;
  594. FUNCTIONPOINT = CURLOPTTYPE_FUNCTIONPOINT;
  595. HTTPPOST_BUFFER = 1 shl 4;
  596. HTTPPOST_FILENAME = 1 shl 0;
  597. HTTPPOST_PTRBUFFER = 1 shl 5;
  598. HTTPPOST_PTRCONTENTS = 1 shl 3;
  599. HTTPPOST_PTRNAME = 1 shl 2;
  600. HTTPPOST_READFILE = 1 shl 1;
  601. LIBCURL_COPYRIGHT = '1996 - 2011 Daniel Stenberg, <[email protected]>.';
  602. LIBCURL_VERSION = '7.22.0';
  603. LIBCURL_VERSION_MAJOR = 7;
  604. LIBCURL_VERSION_MINOR = 22;
  605. LIBCURL_VERSION_PATCH = 0;
  606. LIBCURL_VERSION_NUM = $071600;
  607. LIBCURL_TIMESTAMP = 'Tue Sep 13 16:53:51 UTC 2011';
  608. CURL_CSELECT_IN = $01;
  609. CURL_CSELECT_OUT = $02;
  610. CURL_CSELECT_ERR = $04;
  611. function curl_strequal(s1:Pchar; s2:Pchar):longint;cdecl;external External_library name 'curl_strequal';
  612. function curl_strnequal(s1:Pchar; s2:Pchar; n:size_t):longint;cdecl;external External_library name 'curl_strnequal';
  613. function curl_formadd(httppost:PPcurl_httppost; last_post:PPcurl_httppost; args:array of const):CURLFORMcode;cdecl;external External_library name 'curl_formadd';
  614. function curl_formadd(httppost:PPcurl_httppost; last_post:PPcurl_httppost):CURLFORMcode;cdecl;external External_library name 'curl_formadd';
  615. function curl_formget(form:Pcurl_httppost; arg:pointer; append:curl_formget_callback):longint;cdecl;external External_library name 'curl_formget';
  616. procedure curl_formfree(form:Pcurl_httppost);cdecl;external External_library name 'curl_formfree';
  617. function curl_getenv(variable:Pchar):Pchar;cdecl;external External_library name 'curl_getenv';
  618. function curl_version:Pchar;cdecl;external External_library name 'curl_version';
  619. function curl_easy_escape(handle:PCURL; _string:Pchar; length:longint):Pchar;cdecl;external External_library name 'curl_easy_escape';
  620. function curl_escape(_string:Pchar; length:longint):Pchar;cdecl;external External_library name 'curl_escape';
  621. function curl_easy_unescape(handle:PCURL; _string:Pchar; length:longint; outlength:Plongint):Pchar;cdecl;external External_library name 'curl_easy_unescape';
  622. function curl_unescape(_string:Pchar; length:longint):Pchar;cdecl;external External_library name 'curl_unescape';
  623. procedure curl_free(p:pointer);cdecl;external External_library name 'curl_free';
  624. function curl_global_init(flags:longint):CURLcode;cdecl;external External_library name 'curl_global_init';
  625. function curl_global_init_mem(flags:longint; m:curl_malloc_callback; f:curl_free_callback; r:curl_realloc_callback; s:curl_strdup_callback;
  626. c:curl_calloc_callback):CURLcode;cdecl;external External_library name 'curl_global_init_mem';
  627. procedure curl_global_cleanup;cdecl;external External_library name 'curl_global_cleanup';
  628. function curl_slist_append (curl_slist : Pcurl_slist; P : PChar) : Pcurl_slist; cdecl; external External_library name 'curl_slist_append';
  629. procedure curl_slist_free_all(_para1:Pcurl_slist);cdecl;external External_library name 'curl_slist_free_all';
  630. function curl_getdate(p:Pchar; unused:Ptime_t):time_t;cdecl;external External_library name 'curl_getdate';
  631. function curl_share_init:PCURLSH;cdecl;external External_library name 'curl_share_init';
  632. function curl_share_setopt(_para1:PCURLSH; option:CURLSHoption; args:array of const):CURLSHcode;cdecl;external External_library name 'curl_share_setopt';
  633. function curl_share_setopt(_para1:PCURLSH; option:CURLSHoption):CURLSHcode;cdecl;external External_library name 'curl_share_setopt';
  634. function curl_share_cleanup(_para1:PCURLSH):CURLSHcode;cdecl;external External_library name 'curl_share_cleanup';
  635. function curl_version_info(_para1:CURLversion):Pcurl_version_info_data;cdecl;external External_library name 'curl_version_info';
  636. function curl_easy_strerror(_para1:CURLcode):Pchar;cdecl;external External_library name 'curl_easy_strerror';
  637. function curl_share_strerror(_para1:CURLSHcode):Pchar;cdecl;external External_library name 'curl_share_strerror';
  638. function curl_easy_init:PCURL;cdecl;external External_library name 'curl_easy_init';
  639. function curl_easy_setopt(curl:PCURL; option:CURLoption; args:array of const):CURLcode;cdecl;external External_library name 'curl_easy_setopt';
  640. function curl_easy_setopt(curl:PCURL; option:CURLoption):CURLcode;cdecl;external External_library name 'curl_easy_setopt';
  641. function curl_easy_perform(curl:PCURL):CURLcode;cdecl;external External_library name 'curl_easy_perform';
  642. procedure curl_easy_cleanup(curl:PCURL);cdecl;external External_library name 'curl_easy_cleanup';
  643. function curl_easy_getinfo(curl:PCURL; info:CURLINFO; args:array of const):CURLcode;cdecl;external External_library name 'curl_easy_getinfo';
  644. function curl_easy_getinfo(curl:PCURL; info:CURLINFO):CURLcode;cdecl;external External_library name 'curl_easy_getinfo';
  645. function curl_easy_duphandle(curl:PCURL):PCURL;cdecl;external External_library name 'curl_easy_duphandle';
  646. procedure curl_easy_reset(curl:PCURL);cdecl;external External_library name 'curl_easy_reset';
  647. function curl_multi_init:PCURLM;cdecl;external External_library name 'curl_multi_init';
  648. function curl_multi_add_handle(multi_handle:PCURLM; curl_handle:PCURL):CURLMcode;cdecl;external External_library name 'curl_multi_add_handle';
  649. function curl_multi_remove_handle(multi_handle:PCURLM; curl_handle:PCURL):CURLMcode;cdecl;external External_library name 'curl_multi_remove_handle';
  650. function curl_multi_fdset(multi_handle:PCURLM; read_fd_set:Pfd_set; write_fd_set:Pfd_set; exc_fd_set:Pfd_set; max_fd:Plongint):CURLMcode;cdecl;external External_library name 'curl_multi_fdset';
  651. function curl_multi_perform(multi_handle:PCURLM; running_handles:Plongint):CURLMcode;cdecl;external External_library name 'curl_multi_perform';
  652. function curl_multi_cleanup(multi_handle:PCURLM):CURLMcode;cdecl;external External_library name 'curl_multi_cleanup';
  653. function curl_multi_info_read(multi_handle:PCURLM; msgs_in_queue:Plongint):PCURLMsg;cdecl;external External_library name 'curl_multi_info_read';
  654. function curl_multi_strerror(_para1:CURLMcode):Pchar;cdecl;external External_library name 'curl_multi_strerror';
  655. function curl_multi_socket(multi_handle:PCURLM; s:curl_socket_t; running_handles:Plongint):CURLMcode;cdecl;external External_library name 'curl_multi_socket';
  656. function curl_multi_socket_all(multi_handle:PCURLM; running_handles:Plongint):CURLMcode;cdecl;external External_library name 'curl_multi_socket_all';
  657. function curl_multi_timeout(multi_handle:PCURLM; milliseconds:Plongint):CURLMcode;cdecl;external External_library name 'curl_multi_timeout';
  658. function curl_multi_setopt(multi_handle:PCURLM; option:CURLMoption; args:array of const):CURLMcode;cdecl;external External_library name 'curl_multi_setopt';
  659. function curl_multi_setopt(multi_handle:PCURLM; option:CURLMoption):CURLMcode;cdecl;external External_library name 'curl_multi_setopt';
  660. function curl_multi_assign(multi_handle:PCURLM; sockfd:curl_socket_t; sockp:pointer):CURLMcode;cdecl;external External_library name 'curl_multi_assign';
  661. implementation
  662. end.