add a custom download function
This commit is contained in:
401
vapi/libcurl.vapi
Normal file
401
vapi/libcurl.vapi
Normal file
@@ -0,0 +1,401 @@
|
||||
/*
|
||||
* licurl-vala
|
||||
* Vala bindings for libcurl
|
||||
*
|
||||
* Copyright (C) 2016 Guillaume Benoit <guillaume@manjaro.org>
|
||||
*
|
||||
* 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 of the License, 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 get of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
|
||||
[CCode (cheader_filename = "curl/curl.h")]
|
||||
namespace Curl {
|
||||
[CCode (cprefix = "curl_")]
|
||||
public static Curl.Code global_init (long flags);
|
||||
public static void global_cleanup ();
|
||||
public static unowned string version ();
|
||||
|
||||
[CCode (cname = "CURL", cprefix = "curl_easy_", free_function = "curl_easy_cleanup")]
|
||||
[Compact]
|
||||
public class Easy {
|
||||
[CCode (cname = "curl_easy_init")]
|
||||
public Easy();
|
||||
public void cleanup ();
|
||||
[PrintfFormat]
|
||||
public Curl.Code getinfo (Curl.Info info, ...);
|
||||
public Curl.Code easy_pause (int bitmask);
|
||||
public Curl.Code perform ();
|
||||
public void reset ();
|
||||
[PrintfFormat]
|
||||
public Curl.Code setopt (Curl.Option option, ...);
|
||||
public static unowned string strerror (Curl.Code errornum);
|
||||
}
|
||||
|
||||
[CCode (cname = "CURLcode", cprefix = "CURLE_", has_type_id = false)]
|
||||
public enum Code {
|
||||
OK,
|
||||
UNSUPPORTED_PROTOCOL,
|
||||
FAILED_INIT,
|
||||
URL_MALFORMAT,
|
||||
NOT_BUILT_IN,
|
||||
COULDNT_RESOLVE_PROXY,
|
||||
COULDNT_RESOLVE_HOST,
|
||||
COULDNT_CONNECT,
|
||||
FTP_WEIRD_SERVER_REPLY,
|
||||
REMOTE_ACCESS_DENIED,
|
||||
FTP_WEIRD_PASS_REPLY,
|
||||
FTP_WEIRD_PASV_REPLY,
|
||||
FTP_WEIRD_227_FORMAT,
|
||||
FTP_CANT_GET_HOST,
|
||||
FTP_COULDNT_SET_TYPE,
|
||||
PARTIAL_FILE,
|
||||
FTP_COULDNT_RETR_FILE,
|
||||
QUOTE_ERROR,
|
||||
HTTP_RETURNED_ERROR,
|
||||
WRITE_ERROR,
|
||||
UPLOAD_FAILED,
|
||||
READ_ERROR,
|
||||
OUT_OF_MEMORY,
|
||||
OPERATION_TIMEDOUT,
|
||||
FTP_PORT_FAILED,
|
||||
FTP_COULDNT_USE_REST,
|
||||
RANGE_ERROR,
|
||||
HTTP_POST_ERROR,
|
||||
SSL_CONNECT_ERROR,
|
||||
BAD_DOWNLOAD_RESUME,
|
||||
FILE_COULDNT_READ_FILE,
|
||||
LDAP_CANNOT_BIND,
|
||||
LDAP_SEARCH_FAILED,
|
||||
FUNCTION_NOT_FOUND,
|
||||
ABORTED_BY_CALLBACK,
|
||||
BAD_FUNCTION_ARGUMENT,
|
||||
INTERFACE_FAILED,
|
||||
TOO_MANY_REDIRECTS,
|
||||
UNKNOWN_OPTION,
|
||||
TELNET_OPTION_SYNTAX,
|
||||
PEER_FAILED_VERIFICATION,
|
||||
GOT_NOTHING,
|
||||
SSL_ENGINE_NOTFOUND,
|
||||
SSL_ENGINE_SETFAILED,
|
||||
SEND_ERROR,
|
||||
RECV_ERROR,
|
||||
SSL_CERTPROBLEM,
|
||||
SSL_CIPHER,
|
||||
SSL_CACERT,
|
||||
BAD_CONTENT_ENCODING,
|
||||
LDAP_INVALID_URL,
|
||||
FILESIZE_EXCEEDED,
|
||||
USE_SSL_FAILED,
|
||||
SEND_FAIL_REWIND,
|
||||
SSL_ENGINE_INITFAILED,
|
||||
LOGIN_DENIED,
|
||||
TFTP_NOTFOUND,
|
||||
TFTP_PERM,
|
||||
REMOTE_DISK_FULL,
|
||||
TFTP_ILLEGAL,
|
||||
TFTP_UNKNOWNID,
|
||||
REMOTE_FILE_EXISTS,
|
||||
TFTP_NOSUCHUSER,
|
||||
CONV_FAILED,
|
||||
CONV_REQD,
|
||||
SSL_CACERT_BADFILE,
|
||||
REMOTE_FILE_NOT_FOUND,
|
||||
SSH,
|
||||
SSL_SHUTDOWN_FAILED,
|
||||
AGAIN,
|
||||
SSL_CRL_BADFILE,
|
||||
SSL_ISSUER_ERROR,
|
||||
FTP_PRET_FAILED,
|
||||
RTSP_CSEQ_ERROR,
|
||||
RTSP_SESSION_ERROR,
|
||||
FTP_BAD_FILE_LIST,
|
||||
CHUNK_FAILED
|
||||
}
|
||||
|
||||
[CCode (cname = "CURLINFO", cprefix = "CURLINFO_", has_type_id = false)]
|
||||
public enum Info {
|
||||
NONE,
|
||||
EFFECTIVE_URL,
|
||||
RESPONSE_CODE,
|
||||
TOTAL_TIME,
|
||||
NAMELOOKUP_TIME,
|
||||
CONNECT_TIME,
|
||||
PRETRANSFER_TIME,
|
||||
SIZE_UPLOAD,
|
||||
SIZE_DOWNLOAD,
|
||||
SPEED_DOWNLOAD,
|
||||
SPEED_UPLOAD,
|
||||
HEADER_SIZE,
|
||||
REQUEST_SIZE,
|
||||
SSL_VERIFYRESULT,
|
||||
FILETIME,
|
||||
CONTENT_LENGTH_DOWNLOAD,
|
||||
CONTENT_LENGTH_UPLOAD,
|
||||
STARTTRANSFER_TIME,
|
||||
CONTENT_TYPE,
|
||||
REDIRECT_TIME,
|
||||
REDIRECT_COUNT,
|
||||
PRIVATE,
|
||||
HTTP_CONNECTCODE,
|
||||
HTTPAUTH_AVAIL,
|
||||
PROXYAUTH_AVAIL,
|
||||
OS_ERRNO,
|
||||
NUM_CONNECTS,
|
||||
SSL_ENGINES,
|
||||
COOKIELIST,
|
||||
LASTSOCKET,
|
||||
FTP_ENTRY_PATH,
|
||||
REDIRECT_URL,
|
||||
PRIMARY_IP,
|
||||
APPCONNECT_TIME,
|
||||
CERTINFO,
|
||||
CONDITION_UNMET,
|
||||
RTSP_SESSION_ID,
|
||||
RTSP_CLIENT_CSEQ,
|
||||
RTSP_SERVER_CSEQ,
|
||||
RTSP_CSEQ_RECV,
|
||||
PRIMARY_PORT,
|
||||
LOCAL_IP,
|
||||
LOCAL_PORT,
|
||||
LASTONE
|
||||
}
|
||||
|
||||
[CCode (cname = "CURL_NETRC_OPTION", cprefix = "CURL_NETRC_", has_type_id = false)]
|
||||
public enum NetRCOption {
|
||||
IGNORED,
|
||||
OPTIONAL,
|
||||
REQUIRED,
|
||||
LAST
|
||||
}
|
||||
|
||||
[CCode (cname = "CURLoption", cprefix = "CURLOPT_", has_type_id = false)]
|
||||
public enum Option {
|
||||
FILE,
|
||||
WRITEDATA,
|
||||
URL,
|
||||
PORT,
|
||||
PROXY,
|
||||
USERPWD,
|
||||
PROXYUSERPWD,
|
||||
RANGE,
|
||||
INFILE,
|
||||
READDATA,
|
||||
ERRORBUFFER,
|
||||
WRITEFUNCTION,
|
||||
READFUNCTION,
|
||||
TIMEOUT,
|
||||
INFILESIZE,
|
||||
POSTFIELDS,
|
||||
REFERER,
|
||||
FTPPORT,
|
||||
USERAGENT,
|
||||
LOW_SPEED_LIMIT,
|
||||
LOW_SPEED_TIME,
|
||||
RESUME_FROM,
|
||||
COOKIE,
|
||||
HTTPHEADER,
|
||||
RTSPHEADER,
|
||||
HTTPPOST,
|
||||
SSLCERT,
|
||||
KEYPASSWD,
|
||||
CRLF,
|
||||
QUOTE,
|
||||
WRITEHEADER,
|
||||
HEADERDATA,
|
||||
COOKIEFILE,
|
||||
SSLVERSION,
|
||||
TIMECONDITION,
|
||||
TIMEVALUE,
|
||||
CUSTOMREQUEST,
|
||||
STDERR,
|
||||
POSTQUOTE,
|
||||
WRITEINFO,
|
||||
VERBOSE,
|
||||
HEADER,
|
||||
NOPROGRESS,
|
||||
NOBODY,
|
||||
FAILONERROR,
|
||||
UPLOAD,
|
||||
POST,
|
||||
DIRLISTONLY,
|
||||
APPEND,
|
||||
NETRC,
|
||||
FOLLOWLOCATION,
|
||||
TRANSFERTEXT,
|
||||
PUT,
|
||||
XFERINFOFUNCTION,
|
||||
XFERINFODATA,
|
||||
AUTOREFERER,
|
||||
PROXYPORT,
|
||||
POSTFIELDSIZE,
|
||||
HTTPPROXYTUNNEL,
|
||||
INTERFACE,
|
||||
KRBLEVEL,
|
||||
SSL_VERIFYPEER,
|
||||
CAINFO,
|
||||
MAXREDIRS,
|
||||
FILETIME,
|
||||
TELNETOPTIONS,
|
||||
MAXCONNECTS,
|
||||
FRESH_CONNECT,
|
||||
FORBID_REUSE,
|
||||
RANDOM_FILE,
|
||||
EGDSOCKET,
|
||||
CONNECTTIMEOUT,
|
||||
HEADERFUNCTION,
|
||||
HTTPGET,
|
||||
SSL_VERIFYHOST,
|
||||
COOKIEJAR,
|
||||
SSL_CIPHER_LIST,
|
||||
HTTP_VERSION,
|
||||
FTP_USE_EPSV,
|
||||
SSLCERTTYPE,
|
||||
SSLKEY,
|
||||
SSLKEYTYPE,
|
||||
SSLENGINE,
|
||||
SSLENGINE_DEFAULT,
|
||||
DNS_CACHE_TIMEOUT,
|
||||
PREQUOTE,
|
||||
DEBUGFUNCTION,
|
||||
DEBUGDATA,
|
||||
COOKIESESSION,
|
||||
CAPATH,
|
||||
BUFFERSIZE,
|
||||
NOSIGNAL,
|
||||
SHARE,
|
||||
PROXYTYPE,
|
||||
ACCEPT_ENCODING,
|
||||
PRIVATE,
|
||||
HTTP200ALIASES,
|
||||
UNRESTRICTED_AUTH,
|
||||
FTP_USE_EPRT,
|
||||
HTTPAUTH,
|
||||
SSL_CTX_FUNCTION,
|
||||
SSL_CTX_DATA,
|
||||
FTP_CREATE_MISSING_DIRS,
|
||||
PROXYAUTH,
|
||||
FTP_RESPONSE_TIMEOUT,
|
||||
IPRESOLVE,
|
||||
MAXFILESIZE,
|
||||
INFILESIZE_LARGE,
|
||||
RESUME_FROM_LARGE,
|
||||
MAXFILESIZE_LARGE,
|
||||
NETRC_FILE,
|
||||
USE_SSL,
|
||||
POSTFIELDSIZE_LARGE,
|
||||
TCP_NODELAY,
|
||||
FTPSSLAUTH,
|
||||
IOCTLFUNCTION,
|
||||
IOCTLDATA,
|
||||
FTP_ACCOUNT,
|
||||
COOKIELIST,
|
||||
IGNORE_CONTENT_LENGTH,
|
||||
FTP_SKIP_PASV_IP,
|
||||
FTP_FILEMETHOD,
|
||||
LOCALPORT,
|
||||
LOCALPORTRANGE,
|
||||
CONNECT_ONLY,
|
||||
CONV_FROM_NETWORK_FUNCTION,
|
||||
CONV_TO_NETWORK_FUNCTION,
|
||||
CONV_FROM_UTF8_FUNCTION,
|
||||
MAX_SEND_SPEED_LARGE,
|
||||
MAX_RECV_SPEED_LARGE,
|
||||
FTP_ALTERNATIVE_TO_USER,
|
||||
SOCKOPTFUNCTION,
|
||||
SOCKOPTDATA,
|
||||
SSL_SESSIONID_CACHE,
|
||||
SSH_AUTH_TYPES,
|
||||
SSH_PUBLIC_KEYFILE,
|
||||
SSH_PRIVATE_KEYFILE,
|
||||
FTP_SSL_CCC,
|
||||
TIMEOUT_MS,
|
||||
CONNECTTIMEOUT_MS,
|
||||
HTTP_TRANSFER_DECODING,
|
||||
HTTP_CONTENT_DECODING,
|
||||
NEW_FILE_PERMS,
|
||||
NEW_DIRECTORY_PERMS,
|
||||
POSTREDIR,
|
||||
SSH_HOST_PUBLIC_KEY_MD5,
|
||||
OPENSOCKETFUNCTION,
|
||||
OPENSOCKETDATA,
|
||||
COPYPOSTFIELDS,
|
||||
PROXY_TRANSFER_MODE,
|
||||
SEEKFUNCTION,
|
||||
SEEKDATA,
|
||||
CRLFILE,
|
||||
ISSUERCERT,
|
||||
ADDRESS_SCOPE,
|
||||
CERTINFO,
|
||||
USERNAME,
|
||||
PASSWORD,
|
||||
PROXYUSERNAME,
|
||||
PROXYPASSWORD,
|
||||
NOPROXY,
|
||||
TFTP_BLKSIZE,
|
||||
SOCKS5_GSSAPI_SERVICE,
|
||||
SOCKS5_GSSAPI_NEC,
|
||||
PROTOCOLS,
|
||||
REDIR_PROTOCOLS,
|
||||
SSH_KNOWNHOSTS,
|
||||
SSH_KEYFUNCTION,
|
||||
SSH_KEYDATA,
|
||||
MAIL_FROM,
|
||||
MAIL_RCPT,
|
||||
FTP_USE_PRET,
|
||||
RTSP_REQUEST,
|
||||
RTSP_SESSION_ID,
|
||||
RTSP_STREAM_URI,
|
||||
RTSP_TRANSPORT,
|
||||
RTSP_CLIENT_CSEQ,
|
||||
RTSP_SERVER_CSEQ,
|
||||
INTERLEAVEDATA,
|
||||
INTERLEAVEFUNCTION,
|
||||
WILDCARDMATCH,
|
||||
CHUNK_BGN_FUNCTION,
|
||||
CHUNK_END_FUNCTION,
|
||||
FNMATCH_FUNCTION,
|
||||
CHUNK_DATA,
|
||||
FNMATCH_DATA,
|
||||
RESOLVE,
|
||||
TLSAUTH_USERNAME,
|
||||
TLSAUTH_PASSWORD,
|
||||
TLSAUTH_TYPE,
|
||||
TRANSFER_ENCODING,
|
||||
CLOSESOCKETFUNCTION,
|
||||
CLOSESOCKETDATA,
|
||||
LASTENTRY
|
||||
}
|
||||
|
||||
[CCode (cname = "curl_TimeCond", cprefix = "CURL_TIMECOND_", has_type_id = false)]
|
||||
public enum TimeCond {
|
||||
NONE,
|
||||
IFMODSINCE,
|
||||
IFUNMODSINCE,
|
||||
LASTMOD,
|
||||
LAST
|
||||
}
|
||||
|
||||
[CCode (cname = "curl_progress_callback", has_target = false)]
|
||||
public delegate int ProgressCallback (void* user_data, uint64 dltotal, uint64 dlnow, uint64 ultotal, uint64 ulnow);
|
||||
|
||||
[CCode (cname = "CURLAUTH_ANY", cheader_filename = "curl/curl.h")]
|
||||
public const int CURLAUTH_ANY;
|
||||
|
||||
[CCode (cname = "CURL_ERROR_SIZE")]
|
||||
public const int ERROR_SIZE;
|
||||
|
||||
[CCode (cname = "CURL_GLOBAL_SSL")]
|
||||
public const int GLOBAL_SSL;
|
||||
|
||||
}
|
Reference in New Issue
Block a user