mirror of
https://github.com/clockworkpi/Menu.git
synced 2025-12-13 16:08:55 +01:00
403 lines
21 KiB
Plaintext
Executable File
403 lines
21 KiB
Plaintext
Executable File
|
|
// 7.63.0
|
|
|
|
module lib+ {
|
|
|
|
module curl+ {
|
|
|
|
module so {
|
|
|
|
struct struct {
|
|
curl_easy_cleanup void;
|
|
curl_easy_getinfo void;
|
|
curl_easy_init void;
|
|
curl_easy_perform void;
|
|
curl_easy_setopt void;
|
|
curl_easy_strerror void;
|
|
curl_global_cleanup void;
|
|
curl_global_init void;
|
|
curl_slist_append void;
|
|
curl_slist_free_all void;
|
|
}
|
|
|
|
var fn struct;
|
|
|
|
func init() bool {
|
|
import rt::c;
|
|
return dlsyms(dlopen("libcurl.so.4", RTLD_LAZY), &fn,
|
|
"curl_easy_cleanup",
|
|
"curl_easy_getinfo",
|
|
"curl_easy_init",
|
|
"curl_easy_perform",
|
|
"curl_easy_setopt",
|
|
"curl_easy_strerror",
|
|
"curl_global_cleanup",
|
|
"curl_global_init",
|
|
"curl_slist_append",
|
|
"curl_slist_free_all"
|
|
);
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
module curl+ {
|
|
|
|
enum CURLcode;
|
|
enum {
|
|
CURLE_OK = 0,
|
|
CURLE_UNSUPPORTED_PROTOCOL, /* 1 */
|
|
CURLE_FAILED_INIT, /* 2 */
|
|
CURLE_URL_MALFORMAT, /* 3 */
|
|
CURLE_NOT_BUILT_IN, /* 4 - [was obsoleted in August 2007 for
|
|
7.17.0, reused in April 2011 for 7.21.5] */
|
|
CURLE_COULDNT_RESOLVE_PROXY, /* 5 */
|
|
CURLE_COULDNT_RESOLVE_HOST, /* 6 */
|
|
CURLE_COULDNT_CONNECT, /* 7 */
|
|
CURLE_WEIRD_SERVER_REPLY, /* 8 */
|
|
CURLE_REMOTE_ACCESS_DENIED, /* 9 a service was denied by the server
|
|
due to lack of access - when login fails
|
|
this is not returned. */
|
|
CURLE_FTP_ACCEPT_FAILED, /* 10 - [was obsoleted in April 2006 for
|
|
7.15.4, reused in Dec 2011 for 7.24.0]*/
|
|
CURLE_FTP_WEIRD_PASS_REPLY, /* 11 */
|
|
CURLE_FTP_ACCEPT_TIMEOUT, /* 12 - timeout occurred accepting server
|
|
[was obsoleted in August 2007 for 7.17.0,
|
|
reused in Dec 2011 for 7.24.0]*/
|
|
CURLE_FTP_WEIRD_PASV_REPLY, /* 13 */
|
|
CURLE_FTP_WEIRD_227_FORMAT, /* 14 */
|
|
CURLE_FTP_CANT_GET_HOST, /* 15 */
|
|
CURLE_HTTP2, /* 16 - A problem in the http2 framing layer.
|
|
[was obsoleted in August 2007 for 7.17.0,
|
|
reused in July 2014 for 7.38.0] */
|
|
CURLE_FTP_COULDNT_SET_TYPE, /* 17 */
|
|
CURLE_PARTIAL_FILE, /* 18 */
|
|
CURLE_FTP_COULDNT_RETR_FILE, /* 19 */
|
|
CURLE_OBSOLETE20, /* 20 - NOT USED */
|
|
CURLE_QUOTE_ERROR, /* 21 - quote command failure */
|
|
CURLE_HTTP_RETURNED_ERROR, /* 22 */
|
|
CURLE_WRITE_ERROR, /* 23 */
|
|
CURLE_OBSOLETE24, /* 24 - NOT USED */
|
|
CURLE_UPLOAD_FAILED, /* 25 - failed upload "command" */
|
|
CURLE_READ_ERROR, /* 26 - couldn't open/read from file */
|
|
CURLE_OUT_OF_MEMORY, /* 27 */
|
|
/* Note: CURLE_OUT_OF_MEMORY may sometimes indicate a conversion error
|
|
instead of a memory allocation error if CURL_DOES_CONVERSIONS
|
|
is defined
|
|
*/
|
|
CURLE_OPERATION_TIMEDOUT, /* 28 - the timeout time was reached */
|
|
CURLE_OBSOLETE29, /* 29 - NOT USED */
|
|
CURLE_FTP_PORT_FAILED, /* 30 - FTP PORT operation failed */
|
|
CURLE_FTP_COULDNT_USE_REST, /* 31 - the REST command failed */
|
|
CURLE_OBSOLETE32, /* 32 - NOT USED */
|
|
CURLE_RANGE_ERROR, /* 33 - RANGE "command" didn't work */
|
|
CURLE_HTTP_POST_ERROR, /* 34 */
|
|
CURLE_SSL_CONNECT_ERROR, /* 35 - wrong when connecting with SSL */
|
|
CURLE_BAD_DOWNLOAD_RESUME, /* 36 - couldn't resume download */
|
|
CURLE_FILE_COULDNT_READ_FILE, /* 37 */
|
|
CURLE_LDAP_CANNOT_BIND, /* 38 */
|
|
CURLE_LDAP_SEARCH_FAILED, /* 39 */
|
|
CURLE_OBSOLETE40, /* 40 - NOT USED */
|
|
CURLE_FUNCTION_NOT_FOUND, /* 41 - NOT USED starting with 7.53.0 */
|
|
CURLE_ABORTED_BY_CALLBACK, /* 42 */
|
|
CURLE_BAD_FUNCTION_ARGUMENT, /* 43 */
|
|
CURLE_OBSOLETE44, /* 44 - NOT USED */
|
|
CURLE_INTERFACE_FAILED, /* 45 - CURLOPT_INTERFACE failed */
|
|
CURLE_OBSOLETE46, /* 46 - NOT USED */
|
|
CURLE_TOO_MANY_REDIRECTS, /* 47 - catch endless re-direct loops */
|
|
CURLE_UNKNOWN_OPTION, /* 48 - User specified an unknown option */
|
|
CURLE_TELNET_OPTION_SYNTAX, /* 49 - Malformed telnet option */
|
|
CURLE_OBSOLETE50, /* 50 - NOT USED */
|
|
CURLE_OBSOLETE51, /* 51 - NOT USED */
|
|
CURLE_GOT_NOTHING, /* 52 - when this is a specific error */
|
|
CURLE_SSL_ENGINE_NOTFOUND, /* 53 - SSL crypto engine not found */
|
|
CURLE_SSL_ENGINE_SETFAILED, /* 54 - can not set SSL crypto engine as
|
|
default */
|
|
CURLE_SEND_ERROR, /* 55 - failed sending network data */
|
|
CURLE_RECV_ERROR, /* 56 - failure in receiving network data */
|
|
CURLE_OBSOLETE57, /* 57 - NOT IN USE */
|
|
CURLE_SSL_CERTPROBLEM, /* 58 - problem with the local certificate */
|
|
CURLE_SSL_CIPHER, /* 59 - couldn't use specified cipher */
|
|
CURLE_PEER_FAILED_VERIFICATION, /* 60 - peer's certificate or fingerprint
|
|
wasn't verified fine */
|
|
CURLE_BAD_CONTENT_ENCODING, /* 61 - Unrecognized/bad encoding */
|
|
CURLE_LDAP_INVALID_URL, /* 62 - Invalid LDAP URL */
|
|
CURLE_FILESIZE_EXCEEDED, /* 63 - Maximum file size exceeded */
|
|
CURLE_USE_SSL_FAILED, /* 64 - Requested FTP SSL level failed */
|
|
CURLE_SEND_FAIL_REWIND, /* 65 - Sending the data requires a rewind
|
|
that failed */
|
|
CURLE_SSL_ENGINE_INITFAILED, /* 66 - failed to initialise ENGINE */
|
|
CURLE_LOGIN_DENIED, /* 67 - user, password or similar was not
|
|
accepted and we failed to login */
|
|
CURLE_TFTP_NOTFOUND, /* 68 - file not found on server */
|
|
CURLE_TFTP_PERM, /* 69 - permission problem on server */
|
|
CURLE_REMOTE_DISK_FULL, /* 70 - out of disk space on server */
|
|
CURLE_TFTP_ILLEGAL, /* 71 - Illegal TFTP operation */
|
|
CURLE_TFTP_UNKNOWNID, /* 72 - Unknown transfer ID */
|
|
CURLE_REMOTE_FILE_EXISTS, /* 73 - File already exists */
|
|
CURLE_TFTP_NOSUCHUSER, /* 74 - No such user */
|
|
CURLE_CONV_FAILED, /* 75 - conversion failed */
|
|
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 */
|
|
CURLE_SSL_CACERT_BADFILE, /* 77 - could not load CACERT file, missing
|
|
or wrong format */
|
|
CURLE_REMOTE_FILE_NOT_FOUND, /* 78 - remote file not found */
|
|
CURLE_SSH, /* 79 - error from the SSH layer, somewhat
|
|
generic so the error message will be of
|
|
interest when this has happened */
|
|
|
|
CURLE_SSL_SHUTDOWN_FAILED, /* 80 - Failed to shut down the SSL
|
|
connection */
|
|
CURLE_AGAIN, /* 81 - socket is not ready for send/recv,
|
|
wait till it's ready and try again (Added
|
|
in 7.18.2) */
|
|
CURLE_SSL_CRL_BADFILE, /* 82 - could not load CRL file, missing or
|
|
wrong format (Added in 7.19.0) */
|
|
CURLE_SSL_ISSUER_ERROR, /* 83 - Issuer check failed. (Added in
|
|
7.19.0) */
|
|
CURLE_FTP_PRET_FAILED, /* 84 - a PRET command failed */
|
|
CURLE_RTSP_CSEQ_ERROR, /* 85 - mismatch of RTSP CSeq numbers */
|
|
CURLE_RTSP_SESSION_ERROR, /* 86 - mismatch of RTSP Session Ids */
|
|
CURLE_FTP_BAD_FILE_LIST, /* 87 - unable to parse FTP file list */
|
|
CURLE_CHUNK_FAILED, /* 88 - chunk callback reported error */
|
|
CURLE_NO_CONNECTION_AVAILABLE, /* 89 - No connection available, the
|
|
session will be queued */
|
|
CURLE_SSL_PINNEDPUBKEYNOTMATCH, /* 90 - specified pinned public key did not
|
|
match */
|
|
CURLE_SSL_INVALIDCERTSTATUS, /* 91 - invalid certificate status */
|
|
CURLE_HTTP2_STREAM, /* 92 - stream error in HTTP/2 framing layer
|
|
*/
|
|
CURLE_RECURSIVE_API_CALL, /* 93 - an api function was called from
|
|
inside a callback */
|
|
CURL_LAST /* never use! */
|
|
}
|
|
|
|
define {
|
|
CURL_GLOBAL_SSL = 1 << 0; /* no purpose since since 7.57.0 */
|
|
CURL_GLOBAL_WIN32 = 1 << 1;
|
|
CURL_GLOBAL_ALL = CURL_GLOBAL_SSL | CURL_GLOBAL_WIN32;
|
|
CURL_GLOBAL_NOTHING = 0;
|
|
CURL_GLOBAL_DEFAULT = CURL_GLOBAL_ALL;
|
|
CURL_GLOBAL_ACK_EINTR = 1 << 2;
|
|
}
|
|
|
|
enum {
|
|
CURL_HTTP_VERSION_NONE, /* setting this means we don't care, and that we'd
|
|
like the library to choose the best possible
|
|
for us! */
|
|
CURL_HTTP_VERSION_1_0, /* please use HTTP 1.0 in the request */
|
|
CURL_HTTP_VERSION_1_1, /* please use HTTP 1.1 in the request */
|
|
CURL_HTTP_VERSION_2_0, /* please use HTTP 2 in the request */
|
|
CURL_HTTP_VERSION_2TLS, /* use version 2 for HTTPS, version 1.1 for HTTP */
|
|
CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, /* please use HTTP 2 without HTTP/1.1
|
|
Upgrade */
|
|
|
|
CURL_HTTP_VERSION_LAST /* *ILLEGAL* http version */
|
|
}
|
|
|
|
enum curl_proxytype; /* this enum was added in 7.10 */
|
|
enum {
|
|
CURLPROXY_HTTP = 0, /* added in 7.10, new in 7.19.4 default is to use
|
|
CONNECT HTTP/1.1 */
|
|
CURLPROXY_HTTP_1_0 = 1, /* added in 7.19.4, force to use CONNECT
|
|
HTTP/1.0 */
|
|
CURLPROXY_HTTPS = 2, /* added in 7.52.0 */
|
|
CURLPROXY_SOCKS4 = 4, /* support added in 7.15.2, enum existed already
|
|
in 7.10 */
|
|
CURLPROXY_SOCKS5 = 5, /* added in 7.10 */
|
|
CURLPROXY_SOCKS4A = 6, /* added in 7.18.0 */
|
|
CURLPROXY_SOCKS5_HOSTNAME = 7 /* Use the SOCKS5 protocol but pass along the
|
|
host name rather than the IP address. added
|
|
in 7.18.0 */
|
|
}
|
|
|
|
define {
|
|
CURLOPTTYPE_LONG = 0;
|
|
CURLOPTTYPE_OBJECTPOINT = 10000;
|
|
CURLOPTTYPE_STRINGPOINT = 10000;
|
|
CURLOPTTYPE_FUNCTIONPOINT = 20000;
|
|
CURLOPTTYPE_OFF_T = 30000;
|
|
}
|
|
|
|
enum CURLoption;
|
|
|
|
// xxx
|
|
define {
|
|
CURLOPT_WRITEDATA = CURLOPTTYPE_OBJECTPOINT + 1;
|
|
CURLOPT_URL = CURLOPTTYPE_STRINGPOINT + 2;
|
|
CURLOPT_PROXY = CURLOPTTYPE_STRINGPOINT + 4;
|
|
CURLOPT_USERPWD = CURLOPTTYPE_STRINGPOINT + 5;
|
|
CURLOPT_PROXYUSERPWD = CURLOPTTYPE_STRINGPOINT + 6;
|
|
CURLOPT_READDATA = CURLOPTTYPE_OBJECTPOINT + 9;
|
|
CURLOPT_WRITEFUNCTION = CURLOPTTYPE_FUNCTIONPOINT + 11;
|
|
CURLOPT_READFUNCTION = CURLOPTTYPE_FUNCTIONPOINT + 12;
|
|
CURLOPT_TIMEOUT = CURLOPTTYPE_LONG + 13;
|
|
CURLOPT_INFILESIZE = CURLOPTTYPE_LONG + 14;
|
|
CURLOPT_POSTFIELDS = CURLOPTTYPE_OBJECTPOINT + 15;
|
|
CURLOPT_HTTPHEADER = CURLOPTTYPE_OBJECTPOINT + 23;
|
|
CURLOPT_HEADERDATA = CURLOPTTYPE_OBJECTPOINT + 29;
|
|
CURLOPT_COOKIEFILE = CURLOPTTYPE_STRINGPOINT + 31;
|
|
CURLOPT_CUSTOMREQUEST = CURLOPTTYPE_STRINGPOINT + 36;
|
|
CURLOPT_VERBOSE = CURLOPTTYPE_LONG + 41;
|
|
CURLOPT_FAILONERROR = CURLOPTTYPE_LONG + 45;
|
|
CURLOPT_UPLOAD = CURLOPTTYPE_LONG + 46;
|
|
CURLOPT_POST = CURLOPTTYPE_LONG + 47;
|
|
CURLOPT_FOLLOWLOCATION = CURLOPTTYPE_LONG + 52;
|
|
CURLOPT_PUT = CURLOPTTYPE_LONG + 54;
|
|
CURLOPT_POSTFIELDSIZE = CURLOPTTYPE_LONG + 60;
|
|
CURLOPT_HTTPPROXYTUNNEL = CURLOPTTYPE_LONG + 61;
|
|
CURLOPT_SSL_VERIFYPEER = CURLOPTTYPE_LONG + 64;
|
|
CURLOPT_CONNECTTIMEOUT = CURLOPTTYPE_LONG + 78;
|
|
CURLOPT_HEADERFUNCTION = CURLOPTTYPE_FUNCTIONPOINT + 79;
|
|
CURLOPT_SSL_VERIFYHOST = CURLOPTTYPE_LONG + 81;
|
|
CURLOPT_COOKIEJAR = CURLOPTTYPE_STRINGPOINT + 82;
|
|
CURLOPT_HTTP_VERSION = CURLOPTTYPE_LONG + 84;
|
|
CURLOPT_NOSIGNAL = CURLOPTTYPE_LONG + 99;
|
|
CURLOPT_PROXYTYPE = CURLOPTTYPE_LONG + 101;
|
|
CURLOPT_COPYPOSTFIELDS = CURLOPTTYPE_OBJECTPOINT + 165;
|
|
CURLOPT_USERNAME = CURLOPTTYPE_STRINGPOINT + 173;
|
|
CURLOPT_PASSWORD = CURLOPTTYPE_STRINGPOINT + 174;
|
|
CURLOPT_PROXYUSERNAME = CURLOPTTYPE_STRINGPOINT + 175;
|
|
CURLOPT_PROXYPASSWORD = CURLOPTTYPE_STRINGPOINT + 176;
|
|
CURLOPT_MAIL_FROM = CURLOPTTYPE_STRINGPOINT + 186;
|
|
CURLOPT_MAIL_RCPT = CURLOPTTYPE_OBJECTPOINT + 187;
|
|
}
|
|
|
|
define {
|
|
CURLINFO_STRING = 0x100000;
|
|
CURLINFO_LONG = 0x200000;
|
|
CURLINFO_DOUBLE = 0x300000;
|
|
CURLINFO_SLIST = 0x400000;
|
|
CURLINFO_PTR = 0x400000; /* same as SLIST */
|
|
CURLINFO_SOCKET = 0x500000;
|
|
CURLINFO_OFF_T = 0x600000;
|
|
CURLINFO_MASK = 0x0fffff;
|
|
CURLINFO_TYPEMASK = 0xf00000;
|
|
}
|
|
|
|
enum CURLINFO;
|
|
enum {
|
|
CURLINFO_NONE, /* first, never use this */
|
|
CURLINFO_EFFECTIVE_URL = CURLINFO_STRING + 1,
|
|
CURLINFO_RESPONSE_CODE = CURLINFO_LONG + 2,
|
|
CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE + 3,
|
|
CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE + 4,
|
|
CURLINFO_CONNECT_TIME = CURLINFO_DOUBLE + 5,
|
|
CURLINFO_PRETRANSFER_TIME = CURLINFO_DOUBLE + 6,
|
|
CURLINFO_SIZE_UPLOAD = CURLINFO_DOUBLE + 7,
|
|
CURLINFO_SIZE_UPLOAD_T = CURLINFO_OFF_T + 7,
|
|
CURLINFO_SIZE_DOWNLOAD = CURLINFO_DOUBLE + 8,
|
|
CURLINFO_SIZE_DOWNLOAD_T = CURLINFO_OFF_T + 8,
|
|
CURLINFO_SPEED_DOWNLOAD = CURLINFO_DOUBLE + 9,
|
|
CURLINFO_SPEED_DOWNLOAD_T = CURLINFO_OFF_T + 9,
|
|
CURLINFO_SPEED_UPLOAD = CURLINFO_DOUBLE + 10,
|
|
CURLINFO_SPEED_UPLOAD_T = CURLINFO_OFF_T + 10,
|
|
CURLINFO_HEADER_SIZE = CURLINFO_LONG + 11,
|
|
CURLINFO_REQUEST_SIZE = CURLINFO_LONG + 12,
|
|
CURLINFO_SSL_VERIFYRESULT = CURLINFO_LONG + 13,
|
|
CURLINFO_FILETIME = CURLINFO_LONG + 14,
|
|
CURLINFO_FILETIME_T = CURLINFO_OFF_T + 14,
|
|
CURLINFO_CONTENT_LENGTH_DOWNLOAD = CURLINFO_DOUBLE + 15,
|
|
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T = CURLINFO_OFF_T + 15,
|
|
CURLINFO_CONTENT_LENGTH_UPLOAD = CURLINFO_DOUBLE + 16,
|
|
CURLINFO_CONTENT_LENGTH_UPLOAD_T = CURLINFO_OFF_T + 16,
|
|
CURLINFO_STARTTRANSFER_TIME = CURLINFO_DOUBLE + 17,
|
|
CURLINFO_CONTENT_TYPE = CURLINFO_STRING + 18,
|
|
CURLINFO_REDIRECT_TIME = CURLINFO_DOUBLE + 19,
|
|
CURLINFO_REDIRECT_COUNT = CURLINFO_LONG + 20,
|
|
CURLINFO_PRIVATE = CURLINFO_STRING + 21,
|
|
CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG + 22,
|
|
CURLINFO_HTTPAUTH_AVAIL = CURLINFO_LONG + 23,
|
|
CURLINFO_PROXYAUTH_AVAIL = CURLINFO_LONG + 24,
|
|
CURLINFO_OS_ERRNO = CURLINFO_LONG + 25,
|
|
CURLINFO_NUM_CONNECTS = CURLINFO_LONG + 26,
|
|
CURLINFO_SSL_ENGINES = CURLINFO_SLIST + 27,
|
|
CURLINFO_COOKIELIST = CURLINFO_SLIST + 28,
|
|
CURLINFO_LASTSOCKET = CURLINFO_LONG + 29,
|
|
CURLINFO_FTP_ENTRY_PATH = CURLINFO_STRING + 30,
|
|
CURLINFO_REDIRECT_URL = CURLINFO_STRING + 31,
|
|
CURLINFO_PRIMARY_IP = CURLINFO_STRING + 32,
|
|
CURLINFO_APPCONNECT_TIME = CURLINFO_DOUBLE + 33,
|
|
CURLINFO_CERTINFO = CURLINFO_PTR + 34,
|
|
CURLINFO_CONDITION_UNMET = CURLINFO_LONG + 35,
|
|
CURLINFO_RTSP_SESSION_ID = CURLINFO_STRING + 36,
|
|
CURLINFO_RTSP_CLIENT_CSEQ = CURLINFO_LONG + 37,
|
|
CURLINFO_RTSP_SERVER_CSEQ = CURLINFO_LONG + 38,
|
|
CURLINFO_RTSP_CSEQ_RECV = CURLINFO_LONG + 39,
|
|
CURLINFO_PRIMARY_PORT = CURLINFO_LONG + 40,
|
|
CURLINFO_LOCAL_IP = CURLINFO_STRING + 41,
|
|
CURLINFO_LOCAL_PORT = CURLINFO_LONG + 42,
|
|
CURLINFO_TLS_SESSION = CURLINFO_PTR + 43,
|
|
CURLINFO_ACTIVESOCKET = CURLINFO_SOCKET + 44,
|
|
CURLINFO_TLS_SSL_PTR = CURLINFO_PTR + 45,
|
|
CURLINFO_HTTP_VERSION = CURLINFO_LONG + 46,
|
|
CURLINFO_PROXY_SSL_VERIFYRESULT = CURLINFO_LONG + 47,
|
|
CURLINFO_PROTOCOL = CURLINFO_LONG + 48,
|
|
CURLINFO_SCHEME = CURLINFO_STRING + 49,
|
|
/* Fill in new entries below here! */
|
|
|
|
/* Preferably these would be defined conditionally based on the
|
|
sizeof curl_off_t being 64-bits */
|
|
CURLINFO_TOTAL_TIME_T = CURLINFO_OFF_T + 50,
|
|
CURLINFO_NAMELOOKUP_TIME_T = CURLINFO_OFF_T + 51,
|
|
CURLINFO_CONNECT_TIME_T = CURLINFO_OFF_T + 52,
|
|
CURLINFO_PRETRANSFER_TIME_T = CURLINFO_OFF_T + 53,
|
|
CURLINFO_STARTTRANSFER_TIME_T = CURLINFO_OFF_T + 54,
|
|
CURLINFO_REDIRECT_TIME_T = CURLINFO_OFF_T + 55,
|
|
CURLINFO_APPCONNECT_TIME_T = CURLINFO_OFF_T + 56,
|
|
|
|
CURLINFO_LASTONE = 56
|
|
}
|
|
|
|
}
|
|
|
|
module curl+ {
|
|
|
|
inline curl_easy_cleanup(curl+ CURL) {
|
|
call1<void>(so::fn.curl_easy_cleanup, curl);
|
|
}
|
|
|
|
inline curl_easy_getinfo(curl+ CURL, info CURLINFO, value word) CURLcode {
|
|
return call3<CURLcode>(so::fn.curl_easy_getinfo, curl, info, value);
|
|
}
|
|
|
|
inline curl_easy_init() +CURL {
|
|
return call<void>(so::fn.curl_easy_init);
|
|
}
|
|
|
|
inline curl_easy_perform(curl+ CURL) CURLcode {
|
|
return call1<CURLcode>(so::fn.curl_easy_perform, curl);
|
|
}
|
|
|
|
inline curl_easy_setopt(curl+ CURL, option CURLoption, value word) CURLcode {
|
|
return call3<CURLcode>(so::fn.curl_easy_setopt, curl, option, value);
|
|
}
|
|
|
|
inline curl_easy_strerror(code CURLcode) .char {
|
|
return call1<char*>(so::fn.curl_easy_strerror, code);
|
|
}
|
|
|
|
inline curl_global_cleanup() {
|
|
call<void>(so::fn.curl_global_cleanup);
|
|
}
|
|
|
|
inline curl_global_init(flags long = CURL_GLOBAL_DEFAULT) CURLcode {
|
|
return call1<CURLcode>(so::fn.curl_global_init, flags);
|
|
}
|
|
|
|
inline curl_slist_append(slist+ curl_slist, str. char) +curl_slist {
|
|
return call2<void>(so::fn.curl_slist_append, slist, str);
|
|
}
|
|
|
|
inline curl_slist_free_all(slist+ curl_slist) {
|
|
call1<void>(so::fn.curl_slist_free_all, slist);
|
|
}
|
|
|
|
}
|
|
|
|
}
|