1 [CCode (cheader_filename = "curl/curl.h")]
3 [CCode (cname = "CURL_GLOBAL_SSL")]
4 public const long GLOBAL_SSL;
5 [CCode (cname = "CURL_GLOBAL_WIN32")]
6 public const long GLOBAL_WIN32;
7 [CCode (cname = "CURL_GLOBAL_ALL")]
8 public const long GLOBAL_ALL;
9 [CCode (cname = "CURL_GLOBAL_NOTHING")]
10 public const long GLOBAL_NOTHING;
11 [CCode (cname = "CURL_GLOBAL_DEFAULT")]
12 public const int GLOBAL_DEFAULT;
13 public Curl.Code global_init (long flags);
14 public Curl.Code global_init_mem (long flags, Curl.MallocCallback m, Curl.FreeCallback f, Curl.ReallocCallback r, Curl.StrdupCallback s, Curl.CallocCallback c);
15 public static void global_cleanup ();
16 [CCode (cname = "CURL", cprefix = "curl_easy_", unref_function = "curl_easy_cleanup")]
17 public class EasyHandle {
18 [CCode (cname = "curl_easy_init")]
21 public Curl.Code setopt (Curl.Option option, ...);
22 public Curl.Code perform ();
24 public Curl.Code getinfo (Curl.Info info, ...);
25 public Curl.EasyHandle duphandle ();
27 public Curl.Code recv (void *buffer, size_t buflen, out size_t n);
28 public Curl.Code send (void *buffer, size_t buflen, out size_t n);
29 public string escape (string @string, int length);
30 public string unescape (string @string, int length, out int outlength);
31 [CCode (has_target = false)]
32 public delegate int SocketCallback (Curl.Socket s, int what, void* userp, void *socketp);
34 [CCode (cname = "CURLcode", cprefix = "CURLE_")]
40 COULDNT_RESOLVE_PROXY,
43 FTP_WEIRD_SERVER_REPLY,
51 FTP_COULDNT_RETR_FILE,
65 FILE_COULDNT_READ_FILE,
70 BAD_FUNCTION_ARGUMENT,
73 UNKNOWN_TELNET_OPTION,
75 PEER_FAILED_VERIFICATION,
89 SSL_ENGINE_INITFAILED,
101 REMOTE_FILE_NOT_FOUND,
107 [CCode (cname = "CURL_LAST")]
110 [CCode (name = "CURLoption", cprefix = "CURLOPT_")]
136 HTTPPOST, // struct HTTPPost
196 DNS_USE_GLOBAL_CACHE,
215 FTP_CREATE_MISSING_DIRS,
217 FTP_RESPONSE_TIMEOUT,
232 IGNORE_CONTENT_LENGTH,
238 CONV_FROM_NETWORK_FUNCTION,
239 CONV_TO_NETWORK_FUNCTION,
240 CONV_FROM_UTF8_FUNCTION,
241 MAX_SEND_SPEED_LARGE,
242 MAX_RECV_SPEED_LARGE,
243 FTP_ALTERNATIVE_TO_USER,
253 HTTP_TRANSFER_DECODING,
254 HTTP_CONTENT_DECODING,
258 SSH_HOST_PUBLIC_KEY_MD5,
275 SOCKS5_GSSAPI_SERVICE,
284 [CCode (name = "CURLINFO", cprefix = "CURLINFO_")]
304 CONTENT_LENGTH_DOWNLOAD,
305 CONTENT_LENGTH_UPLOAD,
327 [CCode (cname = "curl_progress_callback")]
328 public delegate int ProgressCallback (void* clientp, double dltotal, double dlnow, double ultotal, double ulnow);
329 [CCode (cname = "CURL_WRITEFUNC_PAUSE")]
330 public const size_t WRITEFUNC_PAUSE;
331 [CCode (cname = "curl_write_callback")]
332 public delegate size_t WriteCallback (char* buffer, size_t size, size_t nitems, void *outstream);
333 [CCode (cname = "CURL_SEEKFUNC_OK")]
334 public const int SEEKFUNC_OK;
335 [CCode (cname = "CURL_SEEKFUNC_FAIL")]
336 public const int SEEKFUNC_FAIL;
337 [CCode (cname = "CURL_SEEKFUNC_CANTSEEK")]
338 public const int SEEKFUNC_CANTSEEK;
339 [Ccode (cname = "curl_seek_callback")]
340 public delegate int SeekCallback (void* instream, Curl.Offset offset, int origin);
341 [CCode (cname = "CURL_READFUNC_ABORT")]
342 public const size_t READFUNC_ABORT;
343 [CCode (cname = "CURL_READFUNC_PAUSE")]
344 public const size_t READFUNC_PAUSE;
345 [CCode (cname = "curl_read_callback")]
346 public delegate size_t ReadCallback (char* buffer, size_t size, size_t nitems, void *instream);
347 [CCode (cname = "curlsocktype", cprefix = "CURLSOCKTYPE_")]
348 public enum SocketType {
352 [CCode (cname = "curl_sockopt_callback")]
353 public delegate size_t SockoptCallback (void* clientp, Curl.Socket curlfd, Curl.SocketType purpose);
354 [CCode (cname = "curlioerr", cprefix = "CURLIOE_")]
355 public enum IOError {
361 [CCode (cname = "curliocmd", cprefix = "CURLIOCMD_")]
367 [CCode (cname = "curl_ioctl_callback")]
368 public delegate Curl.IOError IoctlCallback (Curl.EasyHandle handle, int cmd, void* clientp);
369 [CCode (cname = "curl_malloc_callback")]
370 public delegate void* MallocCallback (size_t size);
371 [CCode (cname = "curl_free_callback")]
372 public delegate void FreeCallback (void* ptr);
373 [CCode (cname = "curl_realloc_callback")]
374 public delegate void* ReallocCallback (void* ptr, size_t size);
375 [CCode (cname = "curl_strdup_callback")]
376 public delegate string StrdupCallback (string str);
377 [CCode (cname = "curl_calloc_callback")]
378 public delegate void* CallocCallback (size_t nmemb, size_t size);
379 [CCode (cname = "curl_infotype", cprefix = "CURLINFO_")]
380 public enum InfoType {
389 [CCode (cname = "curl_debug_callback")]
390 public delegate int DebugCallback (Curl.EasyHandle handle, Curl.InfoType type, [CCode (array_length_type = "size_t")] char[] data, void* userptr);
391 [CCode (cname = "curl_conv_callback")]
392 public delegate Curl.Code ConvCallback ([CCode (array_length_type = "size_t")] char[] buffer);
393 [CCode (cname = "curl_ssl_ctx_callback")]
394 public delegate Curl.Code SSLCtxCallback (Curl.EasyHandle curl, void* ssl_ctx, void* userptr);
395 [CCode (cname = "curl_proxytype", cprefix = "CURLPROXY_")]
396 public enum ProxyType {
405 [CCode (cname = "CURLAUTH_NONE")]
406 public const int NONE;
407 [CCode (cname = "CURLAUTH_BASIC")]
408 public const int BASIC;
409 [CCode (cname = "CURLAUTH_DIGEST")]
410 public const int DIGEST;
411 [CCode (cname = "CURLAUTH_GSSNEGOTIATE")]
412 public const int GSSNEGOTIATE;
413 [CCode (cname = "CURLAUTH_NTLM")]
414 public const int NTLM;
415 [CCode (cname = "CURLAUTH_DIGEST_IE")]
416 public const int DIGEST_IE;
417 [CCode (cname = "CURLAUTH_ANY")]
418 public const int ANY;
419 [CCode (cname = "CURLAUTH_ANYSAFE")]
420 public const int ANYSAFE;
422 namespace SSHAuthType {
423 [CCode (cname = "CURLSSH_AUTH_ANY")]
424 public const int ANY;
425 [CCode (cname = "CURLSSH_AUTH_NONE")]
426 public const int NONE;
427 [CCode (cname = "CURLSSH_AUTH_PUBLICKEY")]
428 public const int PUBLICKEY;
429 [CCode (cname = "CURLSSH_AUTH_PASSWORD")]
430 public const int PASSWORD;
431 [CCode (cname = "CURLSSH_AUTH_HOST")]
432 public const int HOST;
433 [CCode (cname = "CURLSSH_AUTH_KEYBOARD")]
434 public const int KEYBOARD;
435 [CCode (cname = "CURLSSH_AUTH_DEFAULT")]
436 public const int DEFAULT;
438 public const int ERROR_SIZE;
439 [CCode (cname = "curl_usessl", cprefix = "CURLUSESSL_")]
446 [CCode (cname = "curl_ftpccc", cprefix = "CURLFTPSSL_")]
452 [CCode (cname = "curl_ftpauth", cprefix = "CURLFTPAUTH_")]
458 [CCode (cname = "curl_ftpcreatedir", cprefix = "CURLFTP_CREATE_DIR_")]
461 [CCode (cname = "CURLFTP_CREATE_DIR")]
465 [CCode (cname = "curl_ftpmethod", cprefix = "CURLFTPMETHOD_")]
473 [CCode (cname = "CURLPROTO_HTTP")]
474 public const int HTTP;
475 [CCode (cname = "CURLPROTO_HTTPS")]
476 public const int HTTPS;
477 [CCode (cname = "CURLPROTO_FTP")]
478 public const int FTP;
479 [CCode (cname = "CURLPROTO_FTPS")]
480 public const int FTPS;
481 [CCode (cname = "CURLPROTO_SCP")]
482 public const int SCP;
483 [CCode (cname = "CURLPROTO_SFTP")]
484 public const int SFTP;
485 [CCode (cname = "CURLPROTO_TELNET")]
486 public const int TELNET;
487 [CCode (cname = "CURLPROTO_LDAP")]
488 public const int LDAP;
489 [CCode (cname = "CURLPROTO_LDAPS")]
490 public const int LDAPS;
491 [CCode (cname = "CURLPROTO_DICT")]
492 public const int DICT;
493 [CCode (cname = "CURLPROTO_FILE")]
494 public const int FILE;
495 [CCode (cname = "CURLPROTO_TFTP")]
496 public const int TFTP;
497 [CCode (cname = "CURLPROTO_ALL")]
498 public const int ALL;
500 public const int IPRESOLVE_WHATEVER;
501 public const int IPRESOLVE_V4;
502 public const int IPRESOLVE_V6;
503 public const int REDIR_GET_ALL;
504 public const int REDIR_POST_301;
505 public const int REDIR_POST_302;
506 public const int REDIR_POST_ALL;
507 [CCode (cname = "curl_TimeCond", cprefix = "CURL_TIMECOND_")]
508 public enum TimeCond {
514 [CCode (cname = "CURLformoption", cprefix = "CURLFORM_")]
515 public enum FormOption {
536 [CCode (cname = "struct curl_forms")]
537 public struct Forms {
538 public Curl.FormOption option;
541 [CCode (cname = "CURLFORMcode", cprefix = "CURL_FORMADD_")]
542 public enum FormCode {
552 public Curl.FormCode formadd (ref Curl.HTTPPost httppost, ref Curl.HTTPPost last_post, ...);
553 [CCode (cname = "curl_formget_callback")]
554 public delegate size_t FormgetCallback (void* arg, [CCode (array_size_type = "size_t")] char[] buf);
555 public int formget (Curl.HTTPPost form, void* arg, Curl.FormgetCallback append);
556 public unowned string version ();
557 public void free (void* p);
559 [CCode (cname = "struct curl_slist", cprefix = "curl_slist_", free_function = "curl_slist_free_all")]
562 public Curl.SList next;
563 public SList append (string data);
565 [CCode (cname = "CURLMcode", cprefix = "CURLM_")]
566 public enum MultiCode {
577 [CCode (cname = "CURLMSG", cprefix = "CURLMSG_")]
578 public enum MessageType {
582 [CCode (cname = "CURLMsg")]
583 public struct Message {
584 public Curl.MessageType msg;
585 public Curl.EasyHandle easy_handle;
586 [CCode (cname = "data.whatever")]
587 public void* whatever;
588 [CCode (cname = "data.result")]
589 public Curl.Code result;
591 [CCode (cname = "CURLM", cprefix = "curl_multi_", destroy_function = "curl_multi_cleanup")]
592 public class MultiHandle {
593 [CCode (cname = "curl_multi_init")]
594 public MultiHandle ();
595 public Curl.MultiCode add_handle (Curl.EasyHandle curl_handle);
596 public Curl.MultiCode remove_handle (Curl.EasyHandle curl_handle);
597 public Curl.MultiCode fdset (Posix.fd_set? read_fd_set, Posix.fd_set? write_fd_set, Posix.fd_set? exc_fd_set, out int max_fd);
598 public Curl.MultiCode perform (out int running_handles);
599 public unowned Curl.Message info_read (out int msgs_in_queue);
600 public unowned string strerror (Curl.MultiCode code);
601 public Curl.MultiCode socket_action (Curl.Socket s, int ev_bitmask, out int running_handles);
602 public Curl.MultiCode socket_all (out int running_handles);
603 public Curl.MultiCode timeout (out long milliseconds);
605 public Curl.MultiCode setopt (Curl.MultiOption option, ...);
606 public Curl.MultiCode assign (Curl.Socket sockfd, void* sockp);
607 [CCode (has_target = false)]
608 public delegate int TimerCallback (long timeout_ms, void* userp);
611 [CCode (cname = "curl_socket_t")]
612 public struct Socket {
615 [CCode (cname = "curl_off_t")]
616 public struct Offset {
618 [CCode (cname = "CURL_SOCKET_BAD")]
619 public const Curl.Socket SOCKET_BAD;
620 [CCode (cname = "CURL_POLL_NONE")]
621 public const int POLL_NONE;
622 [CCode (cname = "CURL_POLL_IN")]
623 public const int POLL_IN;
624 [CCode (cname = "CURL_POLL_OUT")]
625 public const int POLL_OUT;
626 [CCode (cname = "CURL_POLL_INOUT")]
627 public const int POLL_INOUT;
628 [CCode (cname = "CURL_POLL_REMOVE")]
629 public const int POLL_REMOVE;
630 [CCode (cname = "CURL_SOCKET_TIMEOUT")]
631 public const int SOCKET_TIMEOUT;
632 [CCode (cname = "CURL_CSELECT_IN")]
633 public const int CSELECT_IN;
634 [CCode (cname = "CURL_CSELECT_OUT")]
635 public const int CSELECT_OUT;
636 [CCode (cname = "CURL_CSELECT_ERR")]
637 public const int CSELECT_ERR;
638 [CCode (cname = "CURLMoption")]
639 public enum MultiOption {
648 [CCode (cname = "curl_httppost", unref_function = "curl_formfree")]
649 public class HTTPPost {
650 public Curl.HTTPPost next;
651 [CCode (array_length_cname = "namelength", array_length_type = "long")]
652 public weak char[] name;
653 [CCode (array_length_cname = "contentslength", array_length_type = "long")]
654 public weak char[] contents;
655 [CCode (array_length_cname = "bufferlength", array_length_type = "long")]
656 public weak char[] buffer;
657 public string contenttype;
658 public Curl.SList contentheader;
659 public Curl.HTTPPost more;
661 public string showfilename;
663 [CCode (cname = "HTTPPOST_FILENAME")]
664 public const long FILENAME;
665 [CCode (cname = "HTTPPOST_READFILE")]
666 public const long READFILE;
667 [CCode (cname = "HTTPPOST_PTRCONTENTS")]
668 public const long PTRCONTENTS;
669 [CCode (cname = "HTTPPOST_BUFFER")]
670 public const long BUFFER;
671 [CCode (cname = "HTTPPOST_PTRBUFFER")]
672 public const long PTRBUFFER;
673 [CCode (cname = "HTTPPOST_CALLBACK")]
674 public const long CALLBACK;
676 [CCode (cname = "LIBCURL_COPYRIGHT")]
677 public const string COPYRIGHT;
678 [CCode (cname = "LIBCURL_VERSION")]
679 public const string VERSION;
680 [CCode (cname = "LIBCURL_VERSION_MAJOR")]
681 public const int VERSION_MAJOR;
682 [CCode (cname = "LIBCURL_VERSION_MINOR")]
683 public const int VERSION_MINOR;
684 [CCode (cname = "LIBCURL_VERSION_PATCH")]
685 public const int VERSION_PATCH;
686 [CCode (cname = "LIBCURL_VERSION_NUM")]
687 public const int VERSION_NUM;
688 [CCode (cname = "LIBCURL_TIMESTAMP")]
689 public const string TIMESTAMP;