Jelajahi Sumber

* Updated to version 7.22.0 (as installed on ubuntu 12.04

git-svn-id: trunk@26760 -
michael 11 tahun lalu
induk
melakukan
70c0243992
1 mengubah file dengan 252 tambahan dan 47 penghapusan
  1. 252 47
      packages/libcurl/src/libcurl.pp

+ 252 - 47
packages/libcurl/src/libcurl.pp

@@ -79,6 +79,7 @@ Type
   PCURL = ^CURL;
   CURL = pointer;
   curl_off_t = off_t;
+  curl_socket_t = longint;
 
   curl_httppost = record
     next : Pcurl_httppost;
@@ -93,18 +94,68 @@ Type
     more : Pcurl_httppost;
     flags : longint;
     showfilename : Pchar;
+    userp : pointer;
   end;
 
+  curlfiletype = (
+      CURLFILETYPE_FILE,
+      CURLFILETYPE_DIRECTORY,
+      CURLFILETYPE_SYMLINK,
+      CURLFILETYPE_DEVICE_BLOCK,
+      CURLFILETYPE_DEVICE_CHAR,
+      CURLFILETYPE_NAMEDPIPE,
+      CURLFILETYPE_SOCKET,
+      CURLFILETYPE_DOOR,
+      CURLFILETYPE_UNKNOWN);
+  curl_fileinfo = record
+    filename : ^char;
+    filetype : curlfiletype;
+    time : time_t;
+    perm : dword;
+    uid : longint;
+    gid : longint;
+    size : curl_off_t;
+    hardlinks : longint;
+    strings : record
+        time : ^char;
+        perm : ^char;
+        user : ^char;
+        group : ^char;
+        target : ^char;
+      end;
+    flags : dword;
+    b_data : ^char;
+    b_size : size_t;
+    b_used : size_t;
+  end;
 
   curl_progress_callback = function (clientp:pointer; dltotal:double; dlnow:double; ultotal:double; ulnow:double):longint;cdecl;
   curl_write_callback = function (buffer:Pchar; size:size_t; nitems:size_t; outstream:pointer):size_t;cdecl;
   curl_read_callback = function (buffer:Pchar; size:size_t; nitems:size_t; instream:pointer):size_t;cdecl;
   curl_passwd_callback = function (clientp:pointer; prompt:Pchar; buffer:Pchar; buflen:longint):longint;cdecl;
+  curl_chunk_bgn_callback = function (transfer_info:pointer; ptr:pointer; remains:longint):longint;cdecl;
+  curl_chunk_end_callback = function (ptr:pointer):longint;cdecl;
+  curl_fnmatch_callback = function (ptr:pointer; pattern:Pchar; _string:Pchar):longint;cdecl;
+  curl_seek_callback = function (instream:pointer; offset:curl_off_t; origin:longint):longint;cdecl;
+  curlsocktype = (
+    CURLSOCKTYPE_IPCXN,
+    CURLSOCKTYPE_LAST
+  );
+
+  curl_sockopt_callback = function (clientp:pointer; curlfd:curl_socket_t; purpose:curlsocktype):longint;cdecl;
+  curl_sockaddr = record
+    family : longint;
+    socktype : longint;
+    protocol : longint;
+    addrlen : dword;
+    addr : array[0..0] of byte; // variable length, needs typecast
+  end;
+  pcurl_sockaddr = ^curl_sockaddr;
 
+  curl_opensocket_callback = function (clientp:pointer; purpose:curlsocktype; address:Pcurl_sockaddr):curl_socket_t;cdecl;
+  curl_closesocket_callback = function (clientp:pointer; item:curl_socket_t):longint;cdecl;
 
   curlioerr = (CURLIOE_OK, CURLIOE_UNKNOWNCMD, CURLIOE_FAILRESTART, CURLIOE_LAST);
-
-
   curliocmd = (CURLIOCMD_NOP, CURLIOCMD_RESTARTREAD, CURLIOCMD_LAST);
 
   curl_ioctl_callback = function (handle:PCURL; cmd:longint; clientp:pointer):curlioerr;cdecl;
@@ -121,59 +172,115 @@ Type
 
   curl_debug_callback = function (handle:PCURL; _type:curl_infotype; data:Pchar; size:size_t; userptr:pointer):longint;cdecl;
 
-  CURLcode = (CURLE_OK := 0,CURLE_UNSUPPORTED_PROTOCOL,
+  CURLcode = (CURLE_OK,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_SERVER_REPLY,CURLE_REMOTE_ACCESS_DENIED,
+    CURLE_OBSOLETE10,CURLE_FTP_WEIRD_PASS_REPLY,
+    CURLE_OBSOLETE12,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_OBSOLETE16, CURLE_FTP_COULDNT_SET_TYPE,
     CURLE_PARTIAL_FILE,CURLE_FTP_COULDNT_RETR_FILE,
-    CURLE_FTP_WRITE_ERROR,CURLE_FTP_QUOTE_ERROR,
+    CURLE_OBSOLETE20,CURLE_QUOTE_ERROR,
     CURLE_HTTP_RETURNED_ERROR,CURLE_WRITE_ERROR,
-    CURLE_MALFORMAT_USER,CURLE_FTP_COULDNT_STOR_FILE,
+    CURLE_OBSOLETE24,CURLE_UPLOAD_FAILED ,
     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_OBSOLETE32,CURLE_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_OBSOLETE40,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_OBSOLETE44,CURLE_INTERFACE_FAILED,
+    CURLE_OBSOLETE46,CURLE_TOO_MANY_REDIRECTS,
     CURLE_UNKNOWN_TELNET_OPTION,CURLE_TELNET_OPTION_SYNTAX,
-    CURLE_OBSOLETE,CURLE_SSL_PEER_CERTIFICATE,
+    CURLE_OBSOLETE50,CURLE_PEER_FAILED_VERIFICATION,
     CURLE_GOT_NOTHING,CURLE_SSL_ENGINE_NOTFOUND,
     CURLE_SSL_ENGINE_SETFAILED,CURLE_SEND_ERROR,
-    CURLE_RECV_ERROR,CURLE_SHARE_IN_USE,
+    CURLE_RECV_ERROR,CURLE_OBSOLETE57,
     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_USE_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_REMOTE_DISK_FULL,CURLE_TFTP_ILLEGAL,
+    CURLE_TFTP_UNKNOWNID,CURLE_REMOTE_FILE_EXISTS,
     CURLE_TFTP_NOSUCHUSER,CURLE_CONV_FAILED,
-    CURLE_CONV_REQD,CURL_LAST);
+    CURLE_CONV_REQD,CURLE_SSL_CACERT_BADFILE,
+    CURLE_REMOTE_FILE_NOT_FOUND,CURLE_SSH,
+    CURLE_SSL_SHUTDOWN_FAILED,CURLE_AGAIN,
+    CURLE_SSL_CRL_BADFILE,CURLE_SSL_ISSUER_ERROR,
+    CURLE_FTP_PRET_FAILED,CURLE_RTSP_CSEQ_ERROR,
+    CURLE_RTSP_SESSION_ERROR,CURLE_FTP_BAD_FILE_LIST,
+    CURLE_CHUNK_FAILEDCURL_LAST);
  
   curl_conv_callback = function (buffer:Pchar; length:size_t):CURLcode;cdecl;
   curl_ssl_ctx_callback = function (curl:PCURL; ssl_ctx:pointer; userptr:pointer):CURLcode;cdecl;
 
-  curl_proxytype = (CURLPROXY_HTTP := 0,CURLPROXY_SOCKS4 := 4, CURLPROXY_SOCKS5 := 5);
-
-  curl_ftpssl = (CURLFTPSSL_NONE,CURLFTPSSL_TRY,CURLFTPSSL_CONTROL, CURLFTPSSL_ALL,CURLFTPSSL_LAST);
-
-  curl_ftpauth = (CURLFTPAUTH_DEFAULT,CURLFTPAUTH_SSL, CURLFTPAUTH_TLS,CURLFTPAUTH_LAST);
-
-  curl_ftpmethod = (CURLFTPMETHOD_DEFAULT,CURLFTPMETHOD_MULTICWD,  CURLFTPMETHOD_NOCWD,CURLFTPMETHOD_SINGLECWD,
-                    CURLFTPMETHOD_LAST);
-
-  CURLoption = (CURLOPT_FILE := 10000+1,CURLOPT_URL := 10000+2,
+  curl_proxytype = (
+    CURLPROXY_HTTP := 0,
+    CURLPROXY_SOCKS4 := 4,
+    CURLPROXY_SOCKS5 := 5,
+    CURLPROXY_SOCKS4A := 6,
+    CURLPROXY_SOCKS5_HOSTNAME := 7);
+
+  curl_khkey = record
+    key : ^char;
+    len : size_t;
+    keytype : (CURLKHTYPE_UNKNOWN,CURLKHTYPE_RSA1,
+    CURLKHTYPE_RSA,CURLKHTYPE_DSS);
+   end;
+  pcurl_khkey = ^curl_khkey;
+
+  curl_khstat = (CURLKHSTAT_FINE_ADD_TO_FILE,
+    CURLKHSTAT_FINE,
+    CURLKHSTAT_REJECT,
+    CURLKHSTAT_DEFER,
+    CURLKHSTAT_LAST
+  );
+
+  curl_khmatch = (
+    CURLKHMATCH_OK,
+    CURLKHMATCH_MISMATCH,
+    CURLKHMATCH_MISSING,
+    CURLKHMATCH_LAST);
+  curl_sshkeycallback = function (easy:PCURL; knownkey:Pcurl_khkey; foundkey:Pcurl_khkey; _para4:curl_khmatch; clientp:pointer):longint;cdecl;
+
+  curl_usessl = (
+      CURLUSESSL_NONE,
+      CURLUSESSL_TRY,
+      CURLUSESSL_CONTROL,
+      CURLUSESSL_ALL,
+      CURLUSESSL_LAST);
+
+  curl_ftpccc = (CURLFTPSSL_CCC_NONE,CURLFTPSSL_CCC_PASSIVE,
+    CURLFTPSSL_CCC_ACTIVE,CURLFTPSSL_CCC_LAST
+   );
+
+  curl_ftpauth = (
+    CURLFTPAUTH_DEFAULT,
+    CURLFTPAUTH_SSL,
+    CURLFTPAUTH_TLS,
+    CURLFTPAUTH_LAST);
+
+  curl_ftpssl = curl_usessl;
+
+  curl_ftpcreatedir = (
+      CURLFTP_CREATE_DIR_NONE,CURLFTP_CREATE_DIR,
+      CURLFTP_CREATE_DIR_RETRY,CURLFTP_CREATE_DIR_LAST
+      );
+
+
+  curl_ftpmethod = (CURLFTPMETHOD_DEFAULT,CURLFTPMETHOD_MULTICWD,
+    CURLFTPMETHOD_NOCWD,CURLFTPMETHOD_SINGLECWD,
+    CURLFTPMETHOD_LAST);
+
+  CURLoption = (
+     CURLOPT_FILE := 10000+1,CURLOPT_URL := 10000+2,
      CURLOPT_PORT := 0+3,CURLOPT_PROXY := 10000+4,
      CURLOPT_USERPWD := 10000+5,CURLOPT_PROXYUSERPWD := 10000+6,
      CURLOPT_RANGE := 10000+7,CURLOPT_INFILE := 10000+9,
@@ -244,18 +351,59 @@ Type
      CURLOPT_MAX_SEND_SPEED_LARGE := 30000+145,
      CURLOPT_MAX_RECV_SPEED_LARGE := 30000+146,
      CURLOPT_FTP_ALTERNATIVE_TO_USER := 10000+147,
-     CURLOPT_LASTENTRY);
+     CURLOPT_SOCKOPTFUNCTION := 20000+148,CURLOPT_SOCKOPTDATA := 10000+149,
+     CURLOPT_SSL_SESSIONID_CACHE := 0+150,CURLOPT_SSH_AUTH_TYPES := 0+151,
+     CURLOPT_SSH_PUBLIC_KEYFILE := 10000+152,CURLOPT_SSH_PRIVATE_KEYFILE := 10000+153,
+     CURLOPT_FTP_SSL_CCC := 0+154,CURLOPT_TIMEOUT_MS := 0+155,
+     CURLOPT_CONNECTTIMEOUT_MS := 0+156,CURLOPT_HTTP_TRANSFER_DECODING := 0+157,
+     CURLOPT_HTTP_CONTENT_DECODING := 0+158,
+     CURLOPT_NEW_FILE_PERMS := 0+159,CURLOPT_NEW_DIRECTORY_PERMS := 0+160,
+     CURLOPT_POSTREDIR := 0+161,CURLOPT_SSH_HOST_PUBLIC_KEY_MD5 := 10000+162,
+     CURLOPT_OPENSOCKETFUNCTION := 20000+163,CURLOPT_OPENSOCKETDATA := 10000+164,
+     CURLOPT_COPYPOSTFIELDS := 10000+165,CURLOPT_PROXY_TRANSFER_MODE := 0+166,
+     CURLOPT_SEEKFUNCTION := 20000+167,CURLOPT_SEEKDATA := 10000+168,
+     CURLOPT_CRLFILE := 10000+169,CURLOPT_ISSUERCERT := 10000+170,
+     CURLOPT_ADDRESS_SCOPE := 0+171,CURLOPT_CERTINFO := 0+172,
+     CURLOPT_USERNAME := 10000+173,CURLOPT_PASSWORD := 10000+174,
+     CURLOPT_PROXYUSERNAME := 10000+175,CURLOPT_PROXYPASSWORD := 10000+176,
+     CURLOPT_NOPROXY := 10000+177,CURLOPT_TFTP_BLKSIZE := 0+178,
+     CURLOPT_SOCKS5_GSSAPI_SERVICE := 10000+179,
+     CURLOPT_SOCKS5_GSSAPI_NEC := 0+180,CURLOPT_PROTOCOLS := 0+181,
+     CURLOPT_REDIR_PROTOCOLS := 0+182,CURLOPT_SSH_KNOWNHOSTS := 10000+183,
+     CURLOPT_SSH_KEYFUNCTION := 20000+184,CURLOPT_SSH_KEYDATA := 10000+185,
+     CURLOPT_MAIL_FROM := 10000+186,CURLOPT_MAIL_RCPT := 10000+187,
+     CURLOPT_FTP_USE_PRET := 0+188,CURLOPT_RTSP_REQUEST := 0+189,
+     CURLOPT_RTSP_SESSION_ID := 10000+190,CURLOPT_RTSP_STREAM_URI := 10000+191,
+     CURLOPT_RTSP_TRANSPORT := 10000+192,CURLOPT_RTSP_CLIENT_CSEQ := 0+193,
+     CURLOPT_RTSP_SERVER_CSEQ := 0+194,CURLOPT_INTERLEAVEDATA := 10000+195,
+     CURLOPT_INTERLEAVEFUNCTION := 20000+196,CURLOPT_WILDCARDMATCH := 0+197,
+     CURLOPT_CHUNK_BGN_FUNCTION := 20000+198,CURLOPT_CHUNK_END_FUNCTION := 20000+199,
+     CURLOPT_FNMATCH_FUNCTION := 20000+200,CURLOPT_CHUNK_DATA := 10000+201,
+     CURLOPT_FNMATCH_DATA := 10000+202,CURLOPT_RESOLVE := 10000+203,
+     CURLOPT_TLSAUTH_USERNAME := 10000+204,CURLOPT_TLSAUTH_PASSWORD := 10000+205,
+     CURLOPT_TLSAUTH_TYPE := 10000+206,CURLOPT_TRANSFER_ENCODING := 0+207,
+     CURLOPT_CLOSESOCKETFUNCTION := 20000+208,CURLOPT_CLOSESOCKETDATA := 10000+209,
+     CURLOPT_GSSAPI_DELEGATION := 0+210,CURLOPT_LASTENTRY);
 
   CURL_HTTP_VERSION = (CURL_HTTP_VERSION_NONE,CURL_HTTP_VERSION_1_0,
                        CURL_HTTP_VERSION_1_1,CURL_HTTP_VERSION_LAST);
 
-  CURL_NETRC_OPTION = (CURL_NETRC_IGNORED,CURL_NETRC_OPTIONAL,
+   curl_rtspreq = (CURL_RTSPREQ_NONE,CURL_RTSPREQ_OPTIONS,
+      CURL_RTSPREQ_DESCRIBE,CURL_RTSPREQ_ANNOUNCE,
+      CURL_RTSPREQ_SETUP,CURL_RTSPREQ_PLAY,
+      CURL_RTSPREQ_PAUSE,CURL_RTSPREQ_TEARDOWN,
+      CURL_RTSPREQ_GET_PARAMETER,CURL_RTSPREQ_SET_PARAMETER,
+      CURL_RTSPREQ_RECORD,CURL_RTSPREQ_RECEIVE,
+      CURL_RTSPREQ_LAST);
+
+   CURL_NETRC_OPTION = (CURL_NETRC_IGNORED,CURL_NETRC_OPTIONAL,
                        CURL_NETRC_REQUIRED,CURL_NETRC_LAST);
 
   CURL_SSL_VERSION = (CURL_SSLVERSION_DEFAULT,CURL_SSLVERSION_TLSv1,
                       CURL_SSLVERSION_SSLv2,CURL_SSLVERSION_SSLv3,
                       CURL_SSLVERSION_LAST);
 
+  CURL_TLSAUTH = (CURL_TLSAUTH_NONE,CURL_TLSAUTH_SRP,CURL_TLSAUTH_LAST);
 
   CURL_TIMECOND = (CURL_TIMECOND_NONE,CURL_TIMECOND_IFMODSINCE,
                    CURL_TIMECOND_IFUNMODSINCE,CURL_TIMECOND_LASTMOD,
@@ -269,7 +417,7 @@ Type
                     CURLFORM_BUFFERPTR,CURLFORM_BUFFERLENGTH,
                     CURLFORM_CONTENTTYPE,CURLFORM_CONTENTHEADER,
                     CURLFORM_FILENAME,CURLFORM_END,CURLFORM_OBSOLETE2,
-                    CURLFORM_LASTENTRY);
+                    CURLFORM_STREAM, CURLFORM_LASTENTRY);
 
   curl_forms = record
     option : CURLformoption;
@@ -304,7 +452,13 @@ Type
     CURLINFO_OS_ERRNO := $200000+25,CURLINFO_NUM_CONNECTS := $200000+26,
     CURLINFO_SSL_ENGINES := $400000+27,CURLINFO_COOKIELIST := $400000+28,
     CURLINFO_LASTSOCKET := $200000+29,CURLINFO_FTP_ENTRY_PATH := $100000+30,
-    CURLINFO_LASTONE := 30);
+    CURLINFO_REDIRECT_URL := $100000+31,CURLINFO_PRIMARY_IP := $100000+32,
+    CURLINFO_APPCONNECT_TIME := $300000+33,CURLINFO_CERTINFO := $400000+34,
+    CURLINFO_CONDITION_UNMET := $200000+35,CURLINFO_RTSP_SESSION_ID := $100000+36,
+    CURLINFO_RTSP_CLIENT_CSEQ := $200000+37,CURLINFO_RTSP_SERVER_CSEQ := $200000+38,
+    CURLINFO_RTSP_CSEQ_RECV := $200000+39,CURLINFO_PRIMARY_PORT := $200000+40,
+    CURLINFO_LOCAL_IP := $100000+41,CURLINFO_LOCAL_PORT := $200000+42,
+    CURLINFO_LASTONE := 42);
  
   curl_closepolicy = (CURLCLOSEPOLICY_NONE,CURLCLOSEPOLICY_OLDEST,
                       CURLCLOSEPOLICY_LEAST_RECENTLY_USED,
@@ -350,11 +504,11 @@ Type
     ares_num : longint;
     libidn : Pchar;
     iconv_ver_num : longint;
+    libssh_version : ^char;
   end;
   CURLM = pointer;
  
-  curl_socket_t = longint;
- 
+
   CURLMcode = (CURLM_CALL_MULTI_PERFORM := -(1),CURLM_OK,
                CURLM_BAD_HANDLE,CURLM_BAD_EASY_HANDLE,
                CURLM_OUT_OF_MEMORY,CURLM_INTERNAL_ERROR,
@@ -372,7 +526,14 @@ Type
     end;
   end;
   curl_socket_callback = function (easy:PCURL; s:curl_socket_t; what:longint; userp:pointer; socketp:pointer):longint;cdecl;
-  CURLMoption = (CURLMOPT_SOCKETFUNCTION := 20000+1,CURLMOPT_SOCKETDATA := 10000+2, CURLMOPT_LASTENTRY);
+  CURLMoption = (
+    CURLMOPT_SOCKETFUNCTION := 20000+1,
+    CURLMOPT_SOCKETDATA := 10000+2,
+    CURLMOPT_PIPELINING := 0+3,
+    CURLMOPT_TIMERFUNCTION := 20000+4,
+    CURLMOPT_TIMERDATA := 10000+5,
+    CURLMOPT_MAXCONNECTS := 0+6,
+    CURLMOPT_LASTENTRY);
 
 const
   CURLAUTH_ANY =  not (0);     
@@ -381,14 +542,50 @@ const
   CURLAUTH_DIGEST = 1 shl 1;     
   CURLAUTH_GSSNEGOTIATE = 1 shl 2;     
   CURLAUTH_NONE = 0;     
-  CURLAUTH_NTLM = 1 shl 3;     
-  CURLE_ALREADY_COMPLETE = 99999;     
+  CURLAUTH_NTLM = 1 shl 3;
+
+  CURL_CHUNK_BGN_FUNC_OK = 0;
+  CURL_CHUNK_BGN_FUNC_FAIL = 1;
+  CURL_CHUNK_BGN_FUNC_SKIP = 2;
+  CURL_CHUNK_END_FUNC_OK = 0;
+  CURL_CHUNK_END_FUNC_FAIL = 1;
+
+  CURL_FNMATCHFUNC_MATCH = 0;
+  CURL_FNMATCHFUNC_NOMATCH = 1;
+  CURL_FNMATCHFUNC_FAIL = 2;
+
+  CURL_SEEKFUNC_OK = 0;
+  CURL_SEEKFUNC_FAIL = 1;
+  CURL_SEEKFUNC_CANTSEEK = 2;
+  CURL_READFUNC_ABORT = $10000000;
+  CURL_READFUNC_PAUSE = $10000001;
+  CURL_SOCKOPT_OK = 0;
+  CURL_SOCKOPT_ERROR = 1;
+  CURL_SOCKOPT_ALREADY_CONNECTED = 2;
+
+  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;     
+  CURLE_FTP_ACCESS_DENIED = CURLE_REMOTE_ACCESS_DENIED;
+  CURLE_FTP_COULDNT_SET_BINARY = CURLE_FTP_COULDNT_SET_TYPE;
+  CURLE_FTP_QUOTE_ERROR = CURLE_QUOTE_ERROR;
+  CURLE_TFTP_DISKFULL = CURLE_REMOTE_DISK_FULL;
+  CURLE_TFTP_EXISTS = CURLE_REMOTE_FILE_EXISTS;
+  CURLE_HTTP_RANGE_ERROR = CURLE_RANGE_ERROR;
+  CURLE_FTP_SSL_FAILED = CURLE_USE_SSL_FAILED;
+  CURLE_FTP_COULDNT_STOR_FILE = CURLE_UPLOAD_FAILED;
+
+
+  CURLFTPSSL_NONE = CURLUSESSL_NONE;
+  CURLFTPSSL_TRY = CURLUSESSL_TRY;
+  CURLFTPSSL_CONTROL = CURLUSESSL_CONTROL;
+  CURLFTPSSL_ALL = CURLUSESSL_ALL;
+  CURLFTPSSL_LAST = CURLUSESSL_LAST;
+
+  CURL_ERROR_SIZE = 256;
   CURL_FORMAT_OFF_T = '%ld';     
   CURL_GLOBAL_NOTHING = 0;     
   CURL_GLOBAL_SSL = 1 shl 0;     
@@ -424,12 +621,15 @@ const
   CURLOPTTYPE_OBJECTPOINT = 10000;     
   CURLOPTTYPE_OFF_T = 30000;     
   CURLOPT_WRITEDATA = CURLOPT_FILE;     
-  CURL_POLL_IN = 1;     
+  CURL_REDIR_GET_ALL = 0;
+  CURL_REDIR_POST_301 = 1;
+  CURL_REDIR_POST_302 = 2;
+  CURL_POLL_IN = 1;
   CURL_POLL_INOUT = 3;     
   CURL_POLL_NONE = 0;     
   CURL_POLL_OUT = 2;     
   CURL_POLL_REMOVE = 4;     
-  CURL_READFUNC_ABORT = $10000000;     
+
   CURL_SOCKET_BAD = -(1);      
   CURL_SOCKET_TIMEOUT = CURL_SOCKET_BAD;     
   CURL_VERSION_ASYNCHDNS = 1 shl 7;     
@@ -455,12 +655,17 @@ const
   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 = $070f05;     
-  LIBCURL_VERSION_PATCH = 5;     
- 
+  LIBCURL_COPYRIGHT = '1996 - 2011 Daniel Stenberg, <[email protected]>.';
+  LIBCURL_VERSION = '7.22.0';
+  LIBCURL_VERSION_MAJOR = 7;
+  LIBCURL_VERSION_MINOR = 22;
+  LIBCURL_VERSION_PATCH = 0;
+  LIBCURL_VERSION_NUM = $071600;
+  LIBCURL_TIMESTAMP = 'Tue Sep 13 16:53:51 UTC 2011';
+  CURL_CSELECT_IN = $01;
+  CURL_CSELECT_OUT = $02;
+  CURL_CSELECT_ERR = $04;
+
 function curl_strequal(s1:Pchar; s2:Pchar):longint;cdecl;external External_library name 'curl_strequal';
 function curl_strnequal(s1:Pchar; s2:Pchar; n:size_t):longint;cdecl;external External_library name 'curl_strnequal';