diff options
Diffstat (limited to 'internal/curl/ccurl/ccurl.ha')
| -rw-r--r-- | internal/curl/ccurl/ccurl.ha | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/internal/curl/ccurl/ccurl.ha b/internal/curl/ccurl/ccurl.ha new file mode 100644 index 0000000..3e44d97 --- /dev/null +++ b/internal/curl/ccurl/ccurl.ha @@ -0,0 +1,47 @@ +use types::c; + +export type CURL = opaque; +export type CURLcode = int; +export type CURLINFO = int; + +export def CURLOPT_URL = 10002; +export def CURLOPT_WRITEFUNCTION = 20011; +export def CURLOPT_WRITEDATA = 10001; + +export def CURLINFO_LONG = 0x200000; +export def CURLINFO_RESPONSE_CODE = CURLINFO_LONG + 2; + +export @symbol("curl_easy_init") fn curl_easy_init() nullable *CURL; +export @symbol("curl_easy_cleanup") fn curl_easy_cleanup(handle: nullable *CURL) void; + +export type write_callback = fn(ptr: *c::char, sz: c::ssize, nmemb: c::ssize, userdata: *opaque) c::ssize; +export @symbol("curl_easy_setopt") fn curl_easy_setopt( + handle: nullable *CURL, + option: int, + parameter: const *c::char, +) CURLcode; + +export @symbol("curl_easy_setopt") fn curl_easy_setopt_writefunction( + handle: nullable *CURL, + option: int, + parameter: *write_callback, +) CURLcode; + +export @symbol("curl_easy_setopt") fn curl_easy_setopt_writedata( + handle: nullable *CURL, + option: int, + parameter: *opaque, +) CURLcode; + +//export @symbol("curl_easy_setopt") fn curl_easy_setopt( +// handle: nullable *CURL, +// option: int, +// parameter: (const *c::char | nullable opaque) +//) CURLcode; + +export @symbol("curl_easy_perform") fn curl_easy_perform(easy_handle: nullable *CURL) CURLcode; +export @symbol("curl_easy_getinfo") fn curl_easy_getinfo( + easy_handle: nullable *CURL, + info: CURLINFO, + code: nullable *c::long +) CURLcode; |
