/* * Haskell FFI friendly wrappers to curl_easy_* functions * for setting/getting option values. Could import these into * .hs without too much trouble, but calling out to 'typed' * versions saves the C compiler from issuing warnings. * * (c) 2007-2009, Galois, Inc. * */ #include int curl_easy_getinfo_long(void *curl, long tg, long *pl) { return curl_easy_getinfo(curl, CURLINFO_LONG+tg, pl); } int curl_easy_getinfo_string(void *curl, long tg, char **s) { return curl_easy_getinfo(curl, CURLINFO_STRING+tg, s); } int curl_easy_getinfo_double(void *curl, long tg, double *d) { return curl_easy_getinfo(curl, CURLINFO_DOUBLE+tg, d); } int curl_easy_getinfo_slist(void *curl, long tg, char ***s) { return curl_easy_getinfo(curl, CURLINFO_SLIST+tg, s); } int curl_easy_setopt_long(void *curl, int i, long x) { return curl_easy_setopt(curl,i,x); } int curl_easy_setopt_longlong(void *curl, int i, long long x) { return curl_easy_setopt(curl,i,x); } int curl_easy_setopt_string(void *curl, int i, char *x) { return curl_easy_setopt(curl,i,x); } int curl_easy_setopt_ptr(void *curl, int i, void *x) { return curl_easy_setopt(curl,i,x); } /* * Function curl_version_str() * * Returns the libcurl version number as a "MAJOR.MINOR.PATCH" string. * * Note: a static string, so no free()ing required (or asked for! :-) */ char* curl_version_str() { return LIBCURL_VERSION; } /* * Function curl_version_num() * * Returns the libcurl version number in 3-byte format 0xXXYYZZ, * representing major,minor and patch levels. Encoded in a (host) * 'int' value, making for easy comparisons. * * See curlver.h for complete story. */ int curl_version_num() { return LIBCURL_VERSION_NUM; }