1 #![allow(bad_style)] 2 #![doc(html_root_url = "https://docs.rs/curl-sys/0.3")] 3 4 extern crate libc; 5 #[cfg(link_libnghttp2)] 6 extern crate libnghttp2_sys; 7 #[cfg(link_libz)] 8 extern crate libz_sys; 9 #[cfg(feature = "mesalink")] 10 extern crate mesalink; // ensure lib is linked to 11 #[cfg(link_openssl)] 12 extern crate openssl_sys; 13 #[cfg(windows)] 14 extern crate winapi; 15 16 use libc::c_ulong; 17 use libc::{c_char, c_double, c_int, c_long, c_short, c_uint, c_void, size_t, time_t}; 18 19 #[cfg(unix)] 20 pub use libc::fd_set; 21 #[cfg(windows)] 22 use winapi::shared::ws2def::SOCKADDR; 23 #[cfg(windows)] 24 pub use winapi::um::winsock2::fd_set; 25 26 #[cfg(target_env = "msvc")] 27 #[doc(hidden)] 28 pub type __enum_ty = libc::c_int; 29 #[cfg(not(target_env = "msvc"))] 30 #[doc(hidden)] 31 pub type __enum_ty = libc::c_uint; 32 33 pub type CURLINFO = __enum_ty; 34 pub type CURLoption = __enum_ty; 35 pub type CURLcode = __enum_ty; 36 pub type CURLversion = __enum_ty; 37 pub type curl_off_t = i64; 38 39 pub enum CURL {} 40 41 #[cfg(unix)] 42 pub type curl_socket_t = libc::c_int; 43 #[cfg(unix)] 44 pub const CURL_SOCKET_BAD: curl_socket_t = -1; 45 #[cfg(all(windows, target_pointer_width = "32"))] 46 pub type curl_socket_t = libc::c_uint; 47 #[cfg(all(windows, target_pointer_width = "64"))] 48 pub type curl_socket_t = u64; 49 #[cfg(windows)] 50 pub const CURL_SOCKET_BAD: curl_socket_t = !0; 51 52 pub enum curl_httppost { 53 // Note that this changed in some versions of libcurl, so we currently don't 54 // bind the fields as they're apparently not stable. 55 // pub next: *mut curl_httppost, 56 // pub name: *mut c_char, 57 // pub namelength: c_long, 58 // pub contents: *mut c_char, 59 // pub contentslength: c_long, 60 // pub buffer: *mut c_char, 61 // pub bufferlength: c_long, 62 // pub contenttype: *mut c_char, 63 // pub contentheader: *mut curl_slist, 64 // pub more: *mut curl_httppost, 65 // pub flags: c_long, 66 // pub showfilename: *mut c_char, 67 // pub userp: *mut c_void, 68 } 69 70 // pub const HTTPPOST_FILENAME: c_long = 1 << 0; 71 // pub const HTTPPOST_READFILE: c_long = 1 << 1; 72 // pub const HTTPPOST_PTRNAME: c_long = 1 << 2; 73 // pub const HTTPPOST_PTRCONTENTS: c_long = 1 << 3; 74 // pub const HTTPPOST_BUFFER: c_long = 1 << 4; 75 // pub const HTTPPOST_PTRBUFFER: c_long = 1 << 5; 76 // pub const HTTPPOST_CALLBACK: c_long = 1 << 6; 77 78 pub type curl_progress_callback = 79 extern "C" fn(*mut c_void, c_double, c_double, c_double, c_double) -> c_int; 80 // pub type curl_xferinfo_callback = extern fn(*mut c_void, 81 // curl_off_t, 82 // curl_off_t, 83 // curl_off_t, 84 // curl_off_t) -> c_int; 85 86 pub const CURL_WRITEFUNC_PAUSE: size_t = 0x10000001; 87 88 pub type curl_write_callback = extern "C" fn(*mut c_char, size_t, size_t, *mut c_void) -> size_t; 89 90 pub type curlfiletype = __enum_ty; 91 pub const CURLFILETYPE_FILE: curlfiletype = 0; 92 pub const CURLFILETYPE_DIRECTORY: curlfiletype = 1; 93 pub const CURLFILETYPE_SYMLINK: curlfiletype = 2; 94 pub const CURLFILETYPE_DEVICE_BLOCK: curlfiletype = 3; 95 pub const CURLFILETYPE_DEVICE_CHAR: curlfiletype = 4; 96 pub const CURLFILETYPE_NAMEDPIPE: curlfiletype = 5; 97 pub const CURLFILETYPE_SOCKET: curlfiletype = 6; 98 pub const CURLFILETYPE_DOOR: curlfiletype = 7; 99 pub const CURLFILETYPE_UNKNOWN: curlfiletype = 8; 100 101 pub const CURLFINFOFLAG_KNOWN_FILENAME: c_uint = 1 << 0; 102 pub const CURLFINFOFLAG_KNOWN_FILETYPE: c_uint = 1 << 1; 103 pub const CURLFINFOFLAG_KNOWN_TIME: c_uint = 1 << 2; 104 pub const CURLFINFOFLAG_KNOWN_PERM: c_uint = 1 << 3; 105 pub const CURLFINFOFLAG_KNOWN_UID: c_uint = 1 << 4; 106 pub const CURLFINFOFLAG_KNOWN_GID: c_uint = 1 << 5; 107 pub const CURLFINFOFLAG_KNOWN_SIZE: c_uint = 1 << 6; 108 pub const CURLFINFOFLAG_KNOWN_HLINKCOUNT: c_uint = 1 << 7; 109 110 #[repr(C)] 111 pub struct curl_fileinfo { 112 pub filename: *mut c_char, 113 pub filetype: curlfiletype, 114 pub time: time_t, 115 pub perm: c_uint, 116 pub uid: c_int, 117 pub gid: c_int, 118 pub size: curl_off_t, 119 pub hardlinks: c_long, 120 121 pub strings_time: *mut c_char, 122 pub strings_perm: *mut c_char, 123 pub strings_user: *mut c_char, 124 pub strings_group: *mut c_char, 125 pub strings_target: *mut c_char, 126 127 pub flags: c_uint, 128 pub b_data: *mut c_char, 129 pub b_size: size_t, 130 pub b_used: size_t, 131 } 132 133 pub const CURL_CHUNK_BGN_FUNC_OK: c_long = 0; 134 pub const CURL_CHUNK_BGN_FUNC_FAIL: c_long = 1; 135 pub const CURL_CHUNK_BGN_FUNC_SKIP: c_long = 2; 136 pub type curl_chunk_bgn_callback = extern "C" fn(*const c_void, *mut c_void, c_int) -> c_long; 137 138 pub const CURL_CHUNK_END_FUNC_OK: c_long = 0; 139 pub const CURL_CHUNK_END_FUNC_FAIL: c_long = 1; 140 pub type curl_chunk_end_callback = extern "C" fn(*mut c_void) -> c_long; 141 142 pub const CURL_FNMATCHFUNC_MATCH: c_int = 0; 143 pub const CURL_FNMATCHFUNC_NOMATCH: c_int = 1; 144 pub const CURL_FNMATCHFUNC_FAIL: c_int = 2; 145 pub type curl_fnmatch_callback = extern "C" fn(*mut c_void, *const c_char, *const c_char) -> c_int; 146 147 pub const CURL_SEEKFUNC_OK: c_int = 0; 148 pub const CURL_SEEKFUNC_FAIL: c_int = 1; 149 pub const CURL_SEEKFUNC_CANTSEEK: c_int = 2; 150 pub type curl_seek_callback = extern "C" fn(*mut c_void, curl_off_t, c_int) -> c_int; 151 152 pub const CURL_READFUNC_ABORT: size_t = 0x10000000; 153 pub const CURL_READFUNC_PAUSE: size_t = 0x10000001; 154 pub type curl_read_callback = extern "C" fn(*mut c_char, size_t, size_t, *mut c_void) -> size_t; 155 156 // pub const CURL_SOCKOPT_OK: c_int = 0; 157 // pub const CURL_SOCKOPT_ERROR: c_int = 1; 158 // pub const CURL_SOCKOPT_ALREADY_CONNECTED: c_int = 2; 159 // pub type curl_sockopt_callback = extern fn(*mut c_void, 160 // curl_socket_t, 161 // curlsocktype) -> c_int; 162 163 pub type curlioerr = __enum_ty; 164 pub const CURLIOE_OK: curlioerr = 0; 165 pub const CURLIOE_UNKNOWNCMD: curlioerr = 1; 166 pub const CURLIOE_FAILRESTART: curlioerr = 2; 167 168 pub type curliocmd = __enum_ty; 169 pub const CURLIOCMD_NOP: curliocmd = 0; 170 pub const CURLIOCMD_RESTARTREAD: curliocmd = 1; 171 172 pub type curl_ioctl_callback = extern "C" fn(*mut CURL, c_int, *mut c_void) -> curlioerr; 173 174 pub type curl_malloc_callback = extern "C" fn(size_t) -> *mut c_void; 175 pub type curl_free_callback = extern "C" fn(*mut c_void); 176 pub type curl_realloc_callback = extern "C" fn(*mut c_void, size_t) -> *mut c_void; 177 pub type curl_strdup_callback = extern "C" fn(*const c_char) -> *mut c_char; 178 pub type curl_calloc_callback = extern "C" fn(size_t, size_t) -> *mut c_void; 179 180 pub type curl_infotype = __enum_ty; 181 pub const CURLINFO_TEXT: curl_infotype = 0; 182 pub const CURLINFO_HEADER_IN: curl_infotype = 1; 183 pub const CURLINFO_HEADER_OUT: curl_infotype = 2; 184 pub const CURLINFO_DATA_IN: curl_infotype = 3; 185 pub const CURLINFO_DATA_OUT: curl_infotype = 4; 186 pub const CURLINFO_SSL_DATA_IN: curl_infotype = 5; 187 pub const CURLINFO_SSL_DATA_OUT: curl_infotype = 6; 188 189 pub type curl_debug_callback = 190 extern "C" fn(*mut CURL, curl_infotype, *mut c_char, size_t, *mut c_void) -> c_int; 191 192 pub const CURLE_OK: CURLcode = 0; 193 pub const CURLE_UNSUPPORTED_PROTOCOL: CURLcode = 1; 194 pub const CURLE_FAILED_INIT: CURLcode = 2; 195 pub const CURLE_URL_MALFORMAT: CURLcode = 3; 196 // pub const CURLE_NOT_BUILT_IN: CURLcode = 4; 197 pub const CURLE_COULDNT_RESOLVE_PROXY: CURLcode = 5; 198 pub const CURLE_COULDNT_RESOLVE_HOST: CURLcode = 6; 199 pub const CURLE_COULDNT_CONNECT: CURLcode = 7; 200 pub const CURLE_FTP_WEIRD_SERVER_REPLY: CURLcode = 8; 201 pub const CURLE_REMOTE_ACCESS_DENIED: CURLcode = 9; 202 // pub const CURLE_FTP_ACCEPT_FAILED: CURLcode = 10; 203 pub const CURLE_FTP_WEIRD_PASS_REPLY: CURLcode = 11; 204 // pub const CURLE_FTP_ACCEPT_TIMEOUT: CURLcode = 12; 205 pub const CURLE_FTP_WEIRD_PASV_REPLY: CURLcode = 13; 206 pub const CURLE_FTP_WEIRD_227_FORMAT: CURLcode = 14; 207 pub const CURLE_FTP_CANT_GET_HOST: CURLcode = 15; 208 pub const CURLE_HTTP2: CURLcode = 16; 209 pub const CURLE_FTP_COULDNT_SET_TYPE: CURLcode = 17; 210 pub const CURLE_PARTIAL_FILE: CURLcode = 18; 211 pub const CURLE_FTP_COULDNT_RETR_FILE: CURLcode = 19; 212 pub const CURLE_OBSOLETE20: CURLcode = 20; 213 pub const CURLE_QUOTE_ERROR: CURLcode = 21; 214 pub const CURLE_HTTP_RETURNED_ERROR: CURLcode = 22; 215 pub const CURLE_WRITE_ERROR: CURLcode = 23; 216 pub const CURLE_OBSOLETE24: CURLcode = 24; 217 pub const CURLE_UPLOAD_FAILED: CURLcode = 25; 218 pub const CURLE_READ_ERROR: CURLcode = 26; 219 pub const CURLE_OUT_OF_MEMORY: CURLcode = 27; 220 pub const CURLE_OPERATION_TIMEDOUT: CURLcode = 28; 221 pub const CURLE_OBSOLETE29: CURLcode = 29; 222 pub const CURLE_FTP_PORT_FAILED: CURLcode = 30; 223 pub const CURLE_FTP_COULDNT_USE_REST: CURLcode = 31; 224 pub const CURLE_OBSOLETE32: CURLcode = 32; 225 pub const CURLE_RANGE_ERROR: CURLcode = 33; 226 pub const CURLE_HTTP_POST_ERROR: CURLcode = 34; 227 pub const CURLE_SSL_CONNECT_ERROR: CURLcode = 35; 228 pub const CURLE_BAD_DOWNLOAD_RESUME: CURLcode = 36; 229 pub const CURLE_FILE_COULDNT_READ_FILE: CURLcode = 37; 230 pub const CURLE_LDAP_CANNOT_BIND: CURLcode = 38; 231 pub const CURLE_LDAP_SEARCH_FAILED: CURLcode = 39; 232 pub const CURLE_OBSOLETE40: CURLcode = 40; 233 pub const CURLE_FUNCTION_NOT_FOUND: CURLcode = 41; 234 pub const CURLE_ABORTED_BY_CALLBACK: CURLcode = 42; 235 pub const CURLE_BAD_FUNCTION_ARGUMENT: CURLcode = 43; 236 pub const CURLE_OBSOLETE44: CURLcode = 44; 237 pub const CURLE_INTERFACE_FAILED: CURLcode = 45; 238 pub const CURLE_OBSOLETE46: CURLcode = 46; 239 pub const CURLE_TOO_MANY_REDIRECTS: CURLcode = 47; 240 pub const CURLE_UNKNOWN_OPTION: CURLcode = 48; 241 pub const CURLE_TELNET_OPTION_SYNTAX: CURLcode = 49; 242 pub const CURLE_OBSOLETE50: CURLcode = 50; 243 pub const CURLE_PEER_FAILED_VERIFICATION: CURLcode = 60; 244 pub const CURLE_GOT_NOTHING: CURLcode = 52; 245 pub const CURLE_SSL_ENGINE_NOTFOUND: CURLcode = 53; 246 pub const CURLE_SSL_ENGINE_SETFAILED: CURLcode = 54; 247 pub const CURLE_SEND_ERROR: CURLcode = 55; 248 pub const CURLE_RECV_ERROR: CURLcode = 56; 249 pub const CURLE_OBSOLETE57: CURLcode = 57; 250 pub const CURLE_SSL_CERTPROBLEM: CURLcode = 58; 251 pub const CURLE_SSL_CIPHER: CURLcode = 59; 252 pub const CURLE_SSL_CACERT: CURLcode = 60; 253 pub const CURLE_BAD_CONTENT_ENCODING: CURLcode = 61; 254 pub const CURLE_LDAP_INVALID_URL: CURLcode = 62; 255 pub const CURLE_FILESIZE_EXCEEDED: CURLcode = 63; 256 pub const CURLE_USE_SSL_FAILED: CURLcode = 64; 257 pub const CURLE_SEND_FAIL_REWIND: CURLcode = 65; 258 pub const CURLE_SSL_ENGINE_INITFAILED: CURLcode = 66; 259 pub const CURLE_LOGIN_DENIED: CURLcode = 67; 260 pub const CURLE_TFTP_NOTFOUND: CURLcode = 68; 261 pub const CURLE_TFTP_PERM: CURLcode = 69; 262 pub const CURLE_REMOTE_DISK_FULL: CURLcode = 70; 263 pub const CURLE_TFTP_ILLEGAL: CURLcode = 71; 264 pub const CURLE_TFTP_UNKNOWNID: CURLcode = 72; 265 pub const CURLE_REMOTE_FILE_EXISTS: CURLcode = 73; 266 pub const CURLE_TFTP_NOSUCHUSER: CURLcode = 74; 267 pub const CURLE_CONV_FAILED: CURLcode = 75; 268 pub const CURLE_CONV_REQD: CURLcode = 76; 269 pub const CURLE_SSL_CACERT_BADFILE: CURLcode = 77; 270 pub const CURLE_REMOTE_FILE_NOT_FOUND: CURLcode = 78; 271 pub const CURLE_SSH: CURLcode = 79; 272 pub const CURLE_SSL_SHUTDOWN_FAILED: CURLcode = 80; 273 pub const CURLE_AGAIN: CURLcode = 81; 274 pub const CURLE_SSL_CRL_BADFILE: CURLcode = 82; 275 pub const CURLE_SSL_ISSUER_ERROR: CURLcode = 83; 276 pub const CURLE_FTP_PRET_FAILED: CURLcode = 84; 277 pub const CURLE_RTSP_CSEQ_ERROR: CURLcode = 85; 278 pub const CURLE_RTSP_SESSION_ERROR: CURLcode = 86; 279 pub const CURLE_FTP_BAD_FILE_LIST: CURLcode = 87; 280 pub const CURLE_CHUNK_FAILED: CURLcode = 88; 281 pub const CURLE_NO_CONNECTION_AVAILABLE: CURLcode = 89; 282 pub const CURLE_SSL_PINNEDPUBKEYNOTMATCH: CURLcode = 90; 283 pub const CURLE_SSL_INVALIDCERTSTATUS: CURLcode = 91; 284 pub const CURLE_HTTP2_STREAM: CURLcode = 92; 285 pub const CURLE_RECURSIVE_API_CALL: CURLcode = 93; 286 287 pub type curl_conv_callback = extern "C" fn(*mut c_char, size_t) -> CURLcode; 288 pub type curl_ssl_ctx_callback = extern "C" fn(*mut CURL, *mut c_void, *mut c_void) -> CURLcode; 289 290 pub type curl_proxytype = __enum_ty; 291 pub const CURLPROXY_HTTP: curl_proxytype = 0; 292 pub const CURLPROXY_HTTP_1_0: curl_proxytype = 1; 293 pub const CURLPROXY_SOCKS4: curl_proxytype = 4; 294 pub const CURLPROXY_SOCKS5: curl_proxytype = 5; 295 pub const CURLPROXY_SOCKS4A: curl_proxytype = 6; 296 pub const CURLPROXY_SOCKS5_HOSTNAME: curl_proxytype = 7; 297 298 pub const CURLAUTH_NONE: c_ulong = 0; 299 pub const CURLAUTH_BASIC: c_ulong = 1 << 0; 300 pub const CURLAUTH_DIGEST: c_ulong = 1 << 1; 301 pub const CURLAUTH_GSSNEGOTIATE: c_ulong = 1 << 2; 302 pub const CURLAUTH_NTLM: c_ulong = 1 << 3; 303 pub const CURLAUTH_DIGEST_IE: c_ulong = 1 << 4; 304 pub const CURLAUTH_NTLM_WB: c_ulong = 1 << 5; 305 // pub const CURLAUTH_ONLY: c_ulong = 1 << 31; 306 pub const CURLAUTH_ANY: c_ulong = !CURLAUTH_DIGEST_IE; 307 pub const CURLAUTH_ANYSAFE: c_ulong = !(CURLAUTH_BASIC | CURLAUTH_DIGEST_IE); 308 309 // pub const CURLSSH_AUTH_ANY: c_ulong = !0; 310 // pub const CURLSSH_AUTH_NONE: c_ulong = 0; 311 // pub const CURLSSH_AUTH_PUBLICKEY: c_ulong = 1 << 0; 312 // pub const CURLSSH_AUTH_PASSWORD: c_ulong = 1 << 1; 313 // pub const CURLSSH_AUTH_HOST: c_ulong = 1 << 2; 314 // pub const CURLSSH_AUTH_KEYBOARD: c_ulong = 1 << 3; 315 // pub const CURLSSH_AUTH_AGENT: c_ulong = 1 << 4; 316 // pub const CURLSSH_AUTH_DEFAULT: c_ulong = CURLSSH_AUTH_ANY; 317 318 pub const CURLGSSAPI_DELEGATION_NONE: c_ulong = 0; 319 pub const CURLGSSAPI_DELEGATION_POLICY_FLAG: c_ulong = 1 << 0; 320 pub const CURLGSSAPI_DELEGATION_FLAG: c_ulong = 1 << 1; 321 322 // pub type curl_khtype = __enum_ty; 323 // pub const CURLKHTYPE_UNKNOWN: curl_khtype = 0; 324 // pub const CURLKHTYPE_RSA1: curl_khtype = 1; 325 // pub const CURLKHTYPE_RSA: curl_khtype = 2; 326 // pub const CURLKHTYPE_DSS: curl_khtype = 3; 327 328 // #[repr(C)] 329 // pub struct curl_khkey { 330 // pub key: *const c_char, 331 // pub len: size_t, 332 // pub keytype: curl_khtype, 333 // } 334 335 // pub type curl_khstat = __enum_ty; 336 // pub const CURLKHSTAT_FINE_ADD_TO_FILE: curl_khstat = 0; 337 // pub const CURLKHSTAT_FINE: curl_khstat = 1; 338 // pub const CURLKHSTAT_REJECT: curl_khstat = 2; 339 // pub const CURLKHSTAT_DEFER: curl_khstat = 3; 340 // 341 // pub type curl_khmatch = __enum_ty; 342 // pub const CURLKHMATCH_OK: curl_khmatch = 0; 343 // pub const CURLKHMATCH_MISMATCH: curl_khmatch = 1; 344 // pub const CURLKHMATCH_MISSING: curl_khmatch = 2; 345 346 // pub type curl_sshkeycallback = extern fn(*mut CURL, 347 // *const curl_khkey, 348 // *const curl_khkey, 349 // curl_khmatch, 350 // *mut c_void) -> c_int; 351 352 pub const CURL_NETRC_IGNORED: c_ulong = 0; 353 pub const CURL_NETRC_OPTIONAL: c_ulong = 1; 354 pub const CURL_NETRC_REQUIRED: c_ulong = 2; 355 356 pub type curl_usessl = __enum_ty; 357 pub const CURLUSESSL_NONE: curl_usessl = 0; 358 pub const CURLUSESSL_TRY: curl_usessl = 1; 359 pub const CURLUSESSL_CONTROL: curl_usessl = 2; 360 pub const CURLUSESSL_ALL: curl_usessl = 3; 361 362 pub const CURLPROTO_HTTP: c_int = 1 << 0; 363 pub const CURLPROTO_HTTPS: c_int = 1 << 1; 364 pub const CURLPROTO_FILE: c_int = 1 << 10; 365 366 pub const CURLOPTTYPE_LONG: CURLoption = 0; 367 pub const CURLOPTTYPE_OBJECTPOINT: CURLoption = 10_000; 368 pub const CURLOPTTYPE_FUNCTIONPOINT: CURLoption = 20_000; 369 pub const CURLOPTTYPE_OFF_T: CURLoption = 30_000; 370 371 pub const CURLOPT_FILE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 1; 372 pub const CURLOPT_URL: CURLoption = CURLOPTTYPE_OBJECTPOINT + 2; 373 pub const CURLOPT_PORT: CURLoption = CURLOPTTYPE_LONG + 3; 374 pub const CURLOPT_PROXY: CURLoption = CURLOPTTYPE_OBJECTPOINT + 4; 375 pub const CURLOPT_USERPWD: CURLoption = CURLOPTTYPE_OBJECTPOINT + 5; 376 pub const CURLOPT_PROXYUSERPWD: CURLoption = CURLOPTTYPE_OBJECTPOINT + 6; 377 pub const CURLOPT_RANGE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 7; 378 pub const CURLOPT_INFILE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 9; 379 pub const CURLOPT_ERRORBUFFER: CURLoption = CURLOPTTYPE_OBJECTPOINT + 10; 380 pub const CURLOPT_WRITEFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 11; 381 pub const CURLOPT_READFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 12; 382 pub const CURLOPT_TIMEOUT: CURLoption = CURLOPTTYPE_LONG + 13; 383 pub const CURLOPT_INFILESIZE: CURLoption = CURLOPTTYPE_LONG + 14; 384 pub const CURLOPT_POSTFIELDS: CURLoption = CURLOPTTYPE_OBJECTPOINT + 15; 385 pub const CURLOPT_REFERER: CURLoption = CURLOPTTYPE_OBJECTPOINT + 16; 386 pub const CURLOPT_FTPPORT: CURLoption = CURLOPTTYPE_OBJECTPOINT + 17; 387 pub const CURLOPT_USERAGENT: CURLoption = CURLOPTTYPE_OBJECTPOINT + 18; 388 pub const CURLOPT_LOW_SPEED_LIMIT: CURLoption = CURLOPTTYPE_LONG + 19; 389 pub const CURLOPT_LOW_SPEED_TIME: CURLoption = CURLOPTTYPE_LONG + 20; 390 pub const CURLOPT_RESUME_FROM: CURLoption = CURLOPTTYPE_LONG + 21; 391 pub const CURLOPT_COOKIE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 22; 392 pub const CURLOPT_HTTPHEADER: CURLoption = CURLOPTTYPE_OBJECTPOINT + 23; 393 pub const CURLOPT_HTTPPOST: CURLoption = CURLOPTTYPE_OBJECTPOINT + 24; 394 pub const CURLOPT_SSLCERT: CURLoption = CURLOPTTYPE_OBJECTPOINT + 25; 395 pub const CURLOPT_KEYPASSWD: CURLoption = CURLOPTTYPE_OBJECTPOINT + 26; 396 pub const CURLOPT_CRLF: CURLoption = CURLOPTTYPE_LONG + 27; 397 pub const CURLOPT_QUOTE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 28; 398 pub const CURLOPT_WRITEHEADER: CURLoption = CURLOPTTYPE_OBJECTPOINT + 29; 399 pub const CURLOPT_COOKIEFILE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 31; 400 pub const CURLOPT_SSLVERSION: CURLoption = CURLOPTTYPE_LONG + 32; 401 pub const CURLOPT_TIMECONDITION: CURLoption = CURLOPTTYPE_LONG + 33; 402 pub const CURLOPT_TIMEVALUE: CURLoption = CURLOPTTYPE_LONG + 34; 403 pub const CURLOPT_CUSTOMREQUEST: CURLoption = CURLOPTTYPE_OBJECTPOINT + 36; 404 pub const CURLOPT_STDERR: CURLoption = CURLOPTTYPE_OBJECTPOINT + 37; 405 pub const CURLOPT_POSTQUOTE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 39; 406 pub const CURLOPT_WRITEINFO: CURLoption = CURLOPTTYPE_OBJECTPOINT + 40; 407 pub const CURLOPT_VERBOSE: CURLoption = CURLOPTTYPE_LONG + 41; 408 pub const CURLOPT_HEADER: CURLoption = CURLOPTTYPE_LONG + 42; 409 pub const CURLOPT_NOPROGRESS: CURLoption = CURLOPTTYPE_LONG + 43; 410 pub const CURLOPT_NOBODY: CURLoption = CURLOPTTYPE_LONG + 44; 411 pub const CURLOPT_FAILONERROR: CURLoption = CURLOPTTYPE_LONG + 45; 412 pub const CURLOPT_UPLOAD: CURLoption = CURLOPTTYPE_LONG + 46; 413 pub const CURLOPT_POST: CURLoption = CURLOPTTYPE_LONG + 47; 414 pub const CURLOPT_DIRLISTONLY: CURLoption = CURLOPTTYPE_LONG + 48; 415 pub const CURLOPT_APPEND: CURLoption = CURLOPTTYPE_LONG + 50; 416 pub const CURLOPT_NETRC: CURLoption = CURLOPTTYPE_LONG + 51; 417 pub const CURLOPT_FOLLOWLOCATION: CURLoption = CURLOPTTYPE_LONG + 52; 418 pub const CURLOPT_TRANSFERTEXT: CURLoption = CURLOPTTYPE_LONG + 53; 419 pub const CURLOPT_PUT: CURLoption = CURLOPTTYPE_LONG + 54; 420 pub const CURLOPT_PROGRESSFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 56; 421 pub const CURLOPT_PROGRESSDATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 57; 422 pub const CURLOPT_AUTOREFERER: CURLoption = CURLOPTTYPE_LONG + 58; 423 pub const CURLOPT_PROXYPORT: CURLoption = CURLOPTTYPE_LONG + 59; 424 pub const CURLOPT_POSTFIELDSIZE: CURLoption = CURLOPTTYPE_LONG + 60; 425 pub const CURLOPT_HTTPPROXYTUNNEL: CURLoption = CURLOPTTYPE_LONG + 61; 426 pub const CURLOPT_INTERFACE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 62; 427 pub const CURLOPT_KRBLEVEL: CURLoption = CURLOPTTYPE_OBJECTPOINT + 63; 428 pub const CURLOPT_SSL_VERIFYPEER: CURLoption = CURLOPTTYPE_LONG + 64; 429 pub const CURLOPT_CAINFO: CURLoption = CURLOPTTYPE_OBJECTPOINT + 65; 430 pub const CURLOPT_MAXREDIRS: CURLoption = CURLOPTTYPE_LONG + 68; 431 pub const CURLOPT_FILETIME: CURLoption = CURLOPTTYPE_LONG + 69; 432 pub const CURLOPT_TELNETOPTIONS: CURLoption = CURLOPTTYPE_OBJECTPOINT + 70; 433 pub const CURLOPT_MAXCONNECTS: CURLoption = CURLOPTTYPE_LONG + 71; 434 pub const CURLOPT_CLOSEPOLICY: CURLoption = CURLOPTTYPE_LONG + 72; 435 pub const CURLOPT_FRESH_CONNECT: CURLoption = CURLOPTTYPE_LONG + 74; 436 pub const CURLOPT_FORBID_REUSE: CURLoption = CURLOPTTYPE_LONG + 75; 437 pub const CURLOPT_RANDOM_FILE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 76; 438 pub const CURLOPT_EGDSOCKET: CURLoption = CURLOPTTYPE_OBJECTPOINT + 77; 439 pub const CURLOPT_CONNECTTIMEOUT: CURLoption = CURLOPTTYPE_LONG + 78; 440 pub const CURLOPT_HEADERFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 79; 441 pub const CURLOPT_HTTPGET: CURLoption = CURLOPTTYPE_LONG + 80; 442 pub const CURLOPT_SSL_VERIFYHOST: CURLoption = CURLOPTTYPE_LONG + 81; 443 pub const CURLOPT_COOKIEJAR: CURLoption = CURLOPTTYPE_OBJECTPOINT + 82; 444 pub const CURLOPT_SSL_CIPHER_LIST: CURLoption = CURLOPTTYPE_OBJECTPOINT + 83; 445 pub const CURLOPT_HTTP_VERSION: CURLoption = CURLOPTTYPE_LONG + 84; 446 pub const CURLOPT_FTP_USE_EPSV: CURLoption = CURLOPTTYPE_LONG + 85; 447 pub const CURLOPT_SSLCERTTYPE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 86; 448 pub const CURLOPT_SSLKEY: CURLoption = CURLOPTTYPE_OBJECTPOINT + 87; 449 pub const CURLOPT_SSLKEYTYPE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 88; 450 pub const CURLOPT_SSLENGINE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 89; 451 pub const CURLOPT_SSLENGINE_DEFAULT: CURLoption = CURLOPTTYPE_LONG + 90; 452 pub const CURLOPT_DNS_USE_GLOBAL_CACHE: CURLoption = CURLOPTTYPE_LONG + 91; 453 pub const CURLOPT_DNS_CACHE_TIMEOUT: CURLoption = CURLOPTTYPE_LONG + 92; 454 pub const CURLOPT_PREQUOTE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 93; 455 pub const CURLOPT_DEBUGFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 94; 456 pub const CURLOPT_DEBUGDATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 95; 457 pub const CURLOPT_COOKIESESSION: CURLoption = CURLOPTTYPE_LONG + 96; 458 pub const CURLOPT_CAPATH: CURLoption = CURLOPTTYPE_OBJECTPOINT + 97; 459 pub const CURLOPT_BUFFERSIZE: CURLoption = CURLOPTTYPE_LONG + 98; 460 pub const CURLOPT_NOSIGNAL: CURLoption = CURLOPTTYPE_LONG + 99; 461 pub const CURLOPT_SHARE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 100; 462 pub const CURLOPT_PROXYTYPE: CURLoption = CURLOPTTYPE_LONG + 101; 463 pub const CURLOPT_ACCEPT_ENCODING: CURLoption = CURLOPTTYPE_OBJECTPOINT + 102; 464 pub const CURLOPT_PRIVATE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 103; 465 pub const CURLOPT_HTTP200ALIASES: CURLoption = CURLOPTTYPE_OBJECTPOINT + 104; 466 pub const CURLOPT_UNRESTRICTED_AUTH: CURLoption = CURLOPTTYPE_LONG + 105; 467 pub const CURLOPT_FTP_USE_EPRT: CURLoption = CURLOPTTYPE_LONG + 106; 468 pub const CURLOPT_HTTPAUTH: CURLoption = CURLOPTTYPE_LONG + 107; 469 pub const CURLOPT_SSL_CTX_FUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 108; 470 pub const CURLOPT_SSL_CTX_DATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 109; 471 pub const CURLOPT_FTP_CREATE_MISSING_DIRS: CURLoption = CURLOPTTYPE_LONG + 110; 472 pub const CURLOPT_PROXYAUTH: CURLoption = CURLOPTTYPE_LONG + 111; 473 pub const CURLOPT_FTP_RESPONSE_TIMEOUT: CURLoption = CURLOPTTYPE_LONG + 112; 474 pub const CURLOPT_IPRESOLVE: CURLoption = CURLOPTTYPE_LONG + 113; 475 pub const CURLOPT_MAXFILESIZE: CURLoption = CURLOPTTYPE_LONG + 114; 476 pub const CURLOPT_INFILESIZE_LARGE: CURLoption = CURLOPTTYPE_OFF_T + 115; 477 pub const CURLOPT_RESUME_FROM_LARGE: CURLoption = CURLOPTTYPE_OFF_T + 116; 478 pub const CURLOPT_MAXFILESIZE_LARGE: CURLoption = CURLOPTTYPE_OFF_T + 117; 479 pub const CURLOPT_NETRC_FILE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 118; 480 pub const CURLOPT_USE_SSL: CURLoption = CURLOPTTYPE_LONG + 119; 481 pub const CURLOPT_POSTFIELDSIZE_LARGE: CURLoption = CURLOPTTYPE_OFF_T + 120; 482 pub const CURLOPT_TCP_NODELAY: CURLoption = CURLOPTTYPE_LONG + 121; 483 pub const CURLOPT_FTPSSLAUTH: CURLoption = CURLOPTTYPE_LONG + 129; 484 pub const CURLOPT_IOCTLFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 130; 485 pub const CURLOPT_IOCTLDATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 131; 486 pub const CURLOPT_FTP_ACCOUNT: CURLoption = CURLOPTTYPE_OBJECTPOINT + 134; 487 pub const CURLOPT_COOKIELIST: CURLoption = CURLOPTTYPE_OBJECTPOINT + 135; 488 pub const CURLOPT_IGNORE_CONTENT_LENGTH: CURLoption = CURLOPTTYPE_LONG + 136; 489 pub const CURLOPT_FTP_SKIP_PASV_IP: CURLoption = CURLOPTTYPE_LONG + 137; 490 pub const CURLOPT_FTP_FILEMETHOD: CURLoption = CURLOPTTYPE_LONG + 138; 491 pub const CURLOPT_LOCALPORT: CURLoption = CURLOPTTYPE_LONG + 139; 492 pub const CURLOPT_LOCALPORTRANGE: CURLoption = CURLOPTTYPE_LONG + 140; 493 pub const CURLOPT_CONNECT_ONLY: CURLoption = CURLOPTTYPE_LONG + 141; 494 pub const CURLOPT_CONV_FROM_NETWORK_FUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 142; 495 pub const CURLOPT_CONV_TO_NETWORK_FUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 143; 496 pub const CURLOPT_CONV_FROM_UTF8_FUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 144; 497 pub const CURLOPT_MAX_SEND_SPEED_LARGE: CURLoption = CURLOPTTYPE_OFF_T + 145; 498 pub const CURLOPT_MAX_RECV_SPEED_LARGE: CURLoption = CURLOPTTYPE_OFF_T + 146; 499 pub const CURLOPT_FTP_ALTERNATIVE_TO_USER: CURLoption = CURLOPTTYPE_OBJECTPOINT + 147; 500 pub const CURLOPT_SOCKOPTFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 148; 501 pub const CURLOPT_SOCKOPTDATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 149; 502 pub const CURLOPT_SSL_SESSIONID_CACHE: CURLoption = CURLOPTTYPE_LONG + 150; 503 pub const CURLOPT_SSH_AUTH_TYPES: CURLoption = CURLOPTTYPE_LONG + 151; 504 pub const CURLOPT_SSH_PUBLIC_KEYFILE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 152; 505 pub const CURLOPT_SSH_PRIVATE_KEYFILE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 153; 506 pub const CURLOPT_FTP_SSL_CCC: CURLoption = CURLOPTTYPE_LONG + 154; 507 pub const CURLOPT_TIMEOUT_MS: CURLoption = CURLOPTTYPE_LONG + 155; 508 pub const CURLOPT_CONNECTTIMEOUT_MS: CURLoption = CURLOPTTYPE_LONG + 156; 509 pub const CURLOPT_HTTP_TRANSFER_DECODING: CURLoption = CURLOPTTYPE_LONG + 157; 510 pub const CURLOPT_HTTP_CONTENT_DECODING: CURLoption = CURLOPTTYPE_LONG + 158; 511 pub const CURLOPT_NEW_FILE_PERMS: CURLoption = CURLOPTTYPE_LONG + 159; 512 pub const CURLOPT_NEW_DIRECTORY_PERMS: CURLoption = CURLOPTTYPE_LONG + 160; 513 pub const CURLOPT_POSTREDIR: CURLoption = CURLOPTTYPE_LONG + 161; 514 pub const CURLOPT_SSH_HOST_PUBLIC_KEY_MD5: CURLoption = CURLOPTTYPE_OBJECTPOINT + 162; 515 pub const CURLOPT_OPENSOCKETFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 163; 516 pub const CURLOPT_OPENSOCKETDATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 164; 517 pub const CURLOPT_COPYPOSTFIELDS: CURLoption = CURLOPTTYPE_OBJECTPOINT + 165; 518 pub const CURLOPT_PROXY_TRANSFER_MODE: CURLoption = CURLOPTTYPE_LONG + 166; 519 pub const CURLOPT_SEEKFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 167; 520 pub const CURLOPT_SEEKDATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 168; 521 pub const CURLOPT_CRLFILE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 169; 522 pub const CURLOPT_ISSUERCERT: CURLoption = CURLOPTTYPE_OBJECTPOINT + 170; 523 pub const CURLOPT_ADDRESS_SCOPE: CURLoption = CURLOPTTYPE_LONG + 171; 524 pub const CURLOPT_CERTINFO: CURLoption = CURLOPTTYPE_LONG + 172; 525 pub const CURLOPT_USERNAME: CURLoption = CURLOPTTYPE_OBJECTPOINT + 173; 526 pub const CURLOPT_PASSWORD: CURLoption = CURLOPTTYPE_OBJECTPOINT + 174; 527 pub const CURLOPT_PROXYUSERNAME: CURLoption = CURLOPTTYPE_OBJECTPOINT + 175; 528 pub const CURLOPT_PROXYPASSWORD: CURLoption = CURLOPTTYPE_OBJECTPOINT + 176; 529 pub const CURLOPT_NOPROXY: CURLoption = CURLOPTTYPE_OBJECTPOINT + 177; 530 pub const CURLOPT_TFTP_BLKSIZE: CURLoption = CURLOPTTYPE_LONG + 178; 531 pub const CURLOPT_SOCKS5_GSSAPI_SERVICE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 179; 532 pub const CURLOPT_SOCKS5_GSSAPI_NEC: CURLoption = CURLOPTTYPE_LONG + 180; 533 pub const CURLOPT_PROTOCOLS: CURLoption = CURLOPTTYPE_LONG + 181; 534 pub const CURLOPT_REDIR_PROTOCOLS: CURLoption = CURLOPTTYPE_LONG + 182; 535 pub const CURLOPT_SSH_KNOWNHOSTS: CURLoption = CURLOPTTYPE_OBJECTPOINT + 183; 536 pub const CURLOPT_SSH_KEYFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 184; 537 pub const CURLOPT_SSH_KEYDATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 185; 538 pub const CURLOPT_MAIL_FROM: CURLoption = CURLOPTTYPE_OBJECTPOINT + 186; 539 pub const CURLOPT_MAIL_RCPT: CURLoption = CURLOPTTYPE_OBJECTPOINT + 187; 540 pub const CURLOPT_FTP_USE_PRET: CURLoption = CURLOPTTYPE_LONG + 188; 541 pub const CURLOPT_RTSP_REQUEST: CURLoption = CURLOPTTYPE_LONG + 189; 542 pub const CURLOPT_RTSP_SESSION_ID: CURLoption = CURLOPTTYPE_OBJECTPOINT + 190; 543 pub const CURLOPT_RTSP_STREAM_URI: CURLoption = CURLOPTTYPE_OBJECTPOINT + 191; 544 pub const CURLOPT_RTSP_TRANSPORT: CURLoption = CURLOPTTYPE_OBJECTPOINT + 192; 545 pub const CURLOPT_RTSP_CLIENT_CSEQ: CURLoption = CURLOPTTYPE_LONG + 193; 546 pub const CURLOPT_RTSP_SERVER_CSEQ: CURLoption = CURLOPTTYPE_LONG + 194; 547 pub const CURLOPT_INTERLEAVEDATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 195; 548 pub const CURLOPT_INTERLEAVEFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 196; 549 pub const CURLOPT_WILDCARDMATCH: CURLoption = CURLOPTTYPE_LONG + 197; 550 pub const CURLOPT_CHUNK_BGN_FUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 198; 551 pub const CURLOPT_CHUNK_END_FUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 199; 552 pub const CURLOPT_FNMATCH_FUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 200; 553 pub const CURLOPT_CHUNK_DATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 201; 554 pub const CURLOPT_FNMATCH_DATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 202; 555 pub const CURLOPT_RESOLVE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 203; 556 pub const CURLOPT_TLSAUTH_USERNAME: CURLoption = CURLOPTTYPE_OBJECTPOINT + 204; 557 pub const CURLOPT_TLSAUTH_PASSWORD: CURLoption = CURLOPTTYPE_OBJECTPOINT + 205; 558 pub const CURLOPT_TLSAUTH_TYPE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 206; 559 pub const CURLOPT_TRANSFER_ENCODING: CURLoption = CURLOPTTYPE_LONG + 207; 560 pub const CURLOPT_CLOSESOCKETFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 208; 561 pub const CURLOPT_CLOSESOCKETDATA: CURLoption = CURLOPTTYPE_OBJECTPOINT + 209; 562 pub const CURLOPT_GSSAPI_DELEGATION: CURLoption = CURLOPTTYPE_LONG + 210; 563 pub const CURLOPT_DNS_SERVERS: CURLoption = CURLOPTTYPE_OBJECTPOINT + 211; 564 // pub const CURLOPT_ACCEPTTIMEOUT_MS: CURLoption = CURLOPTTYPE_LONG + 212; 565 pub const CURLOPT_TCP_KEEPALIVE: CURLoption = CURLOPTTYPE_LONG + 213; 566 pub const CURLOPT_TCP_KEEPIDLE: CURLoption = CURLOPTTYPE_LONG + 214; 567 pub const CURLOPT_TCP_KEEPINTVL: CURLoption = CURLOPTTYPE_LONG + 215; 568 pub const CURLOPT_SSL_OPTIONS: CURLoption = CURLOPTTYPE_LONG + 216; 569 // pub const CURLOPT_MAIL_AUTH: CURLoption = CURLOPTTYPE_OBJECTPOINT + 217; 570 // pub const CURLOPT_SASL_IR: CURLoption = CURLOPTTYPE_LONG + 218; 571 // pub const CURLOPT_XFERINFOFUNCTION: CURLoption = CURLOPTTYPE_FUNCTIONPOINT + 219; 572 // pub const CURLOPT_XOAUTH2_BEARER: CURLoption = CURLOPTTYPE_OBJECTPOINT + 220; 573 // pub const CURLOPT_DNS_INTERFACE: CURLoption = CURLOPTTYPE_OBJECTPOINT + 221; 574 // pub const CURLOPT_DNS_LOCAL_IP4: CURLoption = CURLOPTTYPE_OBJECTPOINT + 222; 575 // pub const CURLOPT_DNS_LOCAL_IP6: CURLoption = CURLOPTTYPE_OBJECTPOINT + 223; 576 // pub const CURLOPT_LOGIN_OPTIONS: CURLoption = CURLOPTTYPE_OBJECTPOINT + 224; 577 pub const CURLOPT_UNIX_SOCKET_PATH: CURLoption = CURLOPTTYPE_OBJECTPOINT + 231; 578 pub const CURLOPT_PIPEWAIT: CURLoption = CURLOPTTYPE_LONG + 237; 579 580 pub const CURL_IPRESOLVE_WHATEVER: c_int = 0; 581 pub const CURL_IPRESOLVE_V4: c_int = 1; 582 pub const CURL_IPRESOLVE_V6: c_int = 2; 583 584 pub const CURLSSLOPT_ALLOW_BEAST: c_long = 1 << 0; 585 pub const CURLSSLOPT_NO_REVOKE: c_long = 1 << 1; 586 587 /// These enums are for use with the CURLOPT_HTTP_VERSION option. 588 /// 589 /// Setting this means we don't care, and that we'd like the library to choose 590 /// the best possible for us! 591 pub const CURL_HTTP_VERSION_NONE: c_int = 0; 592 /// Please use HTTP 1.0 in the request 593 pub const CURL_HTTP_VERSION_1_0: c_int = 1; 594 /// Please use HTTP 1.1 in the request 595 pub const CURL_HTTP_VERSION_1_1: c_int = 2; 596 /// Please use HTTP 2 in the request 597 /// (Added in CURL 7.33.0) 598 pub const CURL_HTTP_VERSION_2_0: c_int = 3; 599 /// Use version 2 for HTTPS, version 1.1 for HTTP 600 /// (Added in CURL 7.47.0) 601 pub const CURL_HTTP_VERSION_2TLS: c_int = 4; 602 /// Please use HTTP 2 without HTTP/1.1 Upgrade 603 /// (Added in CURL 7.49.0) 604 pub const CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE: c_int = 5; 605 606 // Note that the type here is wrong, it's just intended to just be an enum. 607 pub const CURL_SSLVERSION_DEFAULT: CURLoption = 0; 608 pub const CURL_SSLVERSION_TLSv1: CURLoption = 1; 609 pub const CURL_SSLVERSION_SSLv2: CURLoption = 2; 610 pub const CURL_SSLVERSION_SSLv3: CURLoption = 3; 611 pub const CURL_SSLVERSION_TLSv1_0: CURLoption = 4; 612 pub const CURL_SSLVERSION_TLSv1_1: CURLoption = 5; 613 pub const CURL_SSLVERSION_TLSv1_2: CURLoption = 6; 614 pub const CURL_SSLVERSION_TLSv1_3: CURLoption = 7; 615 616 pub const CURLOPT_READDATA: CURLoption = CURLOPT_INFILE; 617 pub const CURLOPT_WRITEDATA: CURLoption = CURLOPT_FILE; 618 pub const CURLOPT_HEADERDATA: CURLoption = CURLOPT_WRITEHEADER; 619 620 pub type curl_TimeCond = __enum_ty; 621 pub const CURL_TIMECOND_NONE: curl_TimeCond = 0; 622 pub const CURL_TIMECOND_IFMODSINCE: curl_TimeCond = 1; 623 pub const CURL_TIMECOND_IFUNMODSINCE: curl_TimeCond = 2; 624 pub const CURL_TIMECOND_LASTMOD: curl_TimeCond = 3; 625 626 pub type CURLformoption = __enum_ty; 627 pub const CURLFORM_NOTHING: CURLformoption = 0; 628 pub const CURLFORM_COPYNAME: CURLformoption = 1; 629 pub const CURLFORM_PTRNAME: CURLformoption = 2; 630 pub const CURLFORM_NAMELENGTH: CURLformoption = 3; 631 pub const CURLFORM_COPYCONTENTS: CURLformoption = 4; 632 pub const CURLFORM_PTRCONTENTS: CURLformoption = 5; 633 pub const CURLFORM_CONTENTSLENGTH: CURLformoption = 6; 634 pub const CURLFORM_FILECONTENT: CURLformoption = 7; 635 pub const CURLFORM_ARRAY: CURLformoption = 8; 636 pub const CURLFORM_OBSOLETE: CURLformoption = 9; 637 pub const CURLFORM_FILE: CURLformoption = 10; 638 pub const CURLFORM_BUFFER: CURLformoption = 11; 639 pub const CURLFORM_BUFFERPTR: CURLformoption = 12; 640 pub const CURLFORM_BUFFERLENGTH: CURLformoption = 13; 641 pub const CURLFORM_CONTENTTYPE: CURLformoption = 14; 642 pub const CURLFORM_CONTENTHEADER: CURLformoption = 15; 643 pub const CURLFORM_FILENAME: CURLformoption = 16; 644 pub const CURLFORM_END: CURLformoption = 17; 645 pub const CURLFORM_STREAM: CURLformoption = 19; 646 647 pub type CURLFORMcode = __enum_ty; 648 pub const CURL_FORMADD_OK: CURLFORMcode = 0; 649 pub const CURL_FORMADD_MEMORY: CURLFORMcode = 1; 650 pub const CURL_FORMADD_OPTION_TWICE: CURLFORMcode = 2; 651 pub const CURL_FORMADD_NULL: CURLFORMcode = 3; 652 pub const CURL_FORMADD_UNKNOWN_OPTION: CURLFORMcode = 4; 653 pub const CURL_FORMADD_INCOMPLETE: CURLFORMcode = 5; 654 pub const CURL_FORMADD_ILLEGAL_ARRAY: CURLFORMcode = 6; 655 pub const CURL_FORMADD_DISABLED: CURLFORMcode = 7; 656 657 #[repr(C)] 658 pub struct curl_forms { 659 pub option: CURLformoption, 660 pub value: *const c_char, 661 } 662 663 pub type curl_formget_callback = extern "C" fn(*mut c_void, *const c_char, size_t) -> size_t; 664 665 #[repr(C)] 666 pub struct curl_slist { 667 pub data: *mut c_char, 668 pub next: *mut curl_slist, 669 } 670 671 #[repr(C)] 672 pub struct curl_certinfo { 673 pub num_of_certs: c_int, 674 pub certinfo: *mut *mut curl_slist, 675 } 676 677 // pub type curl_sslbackend = __enum_ty; 678 // pub const CURLSSLBACKEND_NONE: curl_sslbackend = 0; 679 // pub const CURLSSLBACKEND_OPENSSL: curl_sslbackend = 1; 680 // pub const CURLSSLBACKEND_GNUTLS: curl_sslbackend = 2; 681 // pub const CURLSSLBACKEND_NSS: curl_sslbackend = 3; 682 // pub const CURLSSLBACKEND_QSOSSL: curl_sslbackend = 4; 683 // pub const CURLSSLBACKEND_GSKIT: curl_sslbackend = 5; 684 // pub const CURLSSLBACKEND_POLARSSL: curl_sslbackend = 6; 685 // pub const CURLSSLBACKEND_CYASSL: curl_sslbackend = 7; 686 // pub const CURLSSLBACKEND_SCHANNEL: curl_sslbackend = 8; 687 // pub const CURLSSLBACKEND_DARWINSSL: curl_sslbackend = 9; 688 689 // #[repr(C)] 690 // pub struct curl_tlssessioninfo { 691 // pub backend: curl_sslbackend, 692 // pub internals: *mut c_void, 693 // } 694 695 pub const CURLINFO_STRING: CURLINFO = 0x100000; 696 pub const CURLINFO_LONG: CURLINFO = 0x200000; 697 pub const CURLINFO_DOUBLE: CURLINFO = 0x300000; 698 pub const CURLINFO_SLIST: CURLINFO = 0x400000; 699 pub const CURLINFO_MASK: CURLINFO = 0x0fffff; 700 pub const CURLINFO_TYPEMASK: CURLINFO = 0xf00000; 701 702 pub const CURLINFO_EFFECTIVE_URL: CURLINFO = CURLINFO_STRING + 1; 703 pub const CURLINFO_RESPONSE_CODE: CURLINFO = CURLINFO_LONG + 2; 704 pub const CURLINFO_TOTAL_TIME: CURLINFO = CURLINFO_DOUBLE + 3; 705 pub const CURLINFO_NAMELOOKUP_TIME: CURLINFO = CURLINFO_DOUBLE + 4; 706 pub const CURLINFO_CONNECT_TIME: CURLINFO = CURLINFO_DOUBLE + 5; 707 pub const CURLINFO_PRETRANSFER_TIME: CURLINFO = CURLINFO_DOUBLE + 6; 708 pub const CURLINFO_SIZE_UPLOAD: CURLINFO = CURLINFO_DOUBLE + 7; 709 pub const CURLINFO_SIZE_DOWNLOAD: CURLINFO = CURLINFO_DOUBLE + 8; 710 pub const CURLINFO_SPEED_DOWNLOAD: CURLINFO = CURLINFO_DOUBLE + 9; 711 pub const CURLINFO_SPEED_UPLOAD: CURLINFO = CURLINFO_DOUBLE + 10; 712 pub const CURLINFO_HEADER_SIZE: CURLINFO = CURLINFO_LONG + 11; 713 pub const CURLINFO_REQUEST_SIZE: CURLINFO = CURLINFO_LONG + 12; 714 pub const CURLINFO_SSL_VERIFYRESULT: CURLINFO = CURLINFO_LONG + 13; 715 pub const CURLINFO_FILETIME: CURLINFO = CURLINFO_LONG + 14; 716 pub const CURLINFO_CONTENT_LENGTH_DOWNLOAD: CURLINFO = CURLINFO_DOUBLE + 15; 717 pub const CURLINFO_CONTENT_LENGTH_UPLOAD: CURLINFO = CURLINFO_DOUBLE + 16; 718 pub const CURLINFO_STARTTRANSFER_TIME: CURLINFO = CURLINFO_DOUBLE + 17; 719 pub const CURLINFO_CONTENT_TYPE: CURLINFO = CURLINFO_STRING + 18; 720 pub const CURLINFO_REDIRECT_TIME: CURLINFO = CURLINFO_DOUBLE + 19; 721 pub const CURLINFO_REDIRECT_COUNT: CURLINFO = CURLINFO_LONG + 20; 722 pub const CURLINFO_PRIVATE: CURLINFO = CURLINFO_STRING + 21; 723 pub const CURLINFO_HTTP_CONNECTCODE: CURLINFO = CURLINFO_LONG + 22; 724 pub const CURLINFO_HTTPAUTH_AVAIL: CURLINFO = CURLINFO_LONG + 23; 725 pub const CURLINFO_PROXYAUTH_AVAIL: CURLINFO = CURLINFO_LONG + 24; 726 pub const CURLINFO_OS_ERRNO: CURLINFO = CURLINFO_LONG + 25; 727 pub const CURLINFO_NUM_CONNECTS: CURLINFO = CURLINFO_LONG + 26; 728 pub const CURLINFO_SSL_ENGINES: CURLINFO = CURLINFO_SLIST + 27; 729 pub const CURLINFO_COOKIELIST: CURLINFO = CURLINFO_SLIST + 28; 730 pub const CURLINFO_LASTSOCKET: CURLINFO = CURLINFO_LONG + 29; 731 pub const CURLINFO_FTP_ENTRY_PATH: CURLINFO = CURLINFO_STRING + 30; 732 pub const CURLINFO_REDIRECT_URL: CURLINFO = CURLINFO_STRING + 31; 733 pub const CURLINFO_PRIMARY_IP: CURLINFO = CURLINFO_STRING + 32; 734 pub const CURLINFO_APPCONNECT_TIME: CURLINFO = CURLINFO_DOUBLE + 33; 735 pub const CURLINFO_CERTINFO: CURLINFO = CURLINFO_SLIST + 34; 736 pub const CURLINFO_CONDITION_UNMET: CURLINFO = CURLINFO_LONG + 35; 737 pub const CURLINFO_RTSP_SESSION_ID: CURLINFO = CURLINFO_STRING + 36; 738 pub const CURLINFO_RTSP_CLIENT_CSEQ: CURLINFO = CURLINFO_LONG + 37; 739 pub const CURLINFO_RTSP_SERVER_CSEQ: CURLINFO = CURLINFO_LONG + 38; 740 pub const CURLINFO_RTSP_CSEQ_RECV: CURLINFO = CURLINFO_LONG + 39; 741 pub const CURLINFO_PRIMARY_PORT: CURLINFO = CURLINFO_LONG + 40; 742 pub const CURLINFO_LOCAL_IP: CURLINFO = CURLINFO_STRING + 41; 743 pub const CURLINFO_LOCAL_PORT: CURLINFO = CURLINFO_LONG + 42; 744 // pub const CURLINFO_TLS_SESSION: CURLINFO = CURLINFO_SLIST + 43; 745 746 pub type curl_closepolicy = __enum_ty; 747 pub const CURLCLOSEPOLICY_NONE: curl_closepolicy = 0; 748 pub const CURLCLOSEPOLICY_OLDEST: curl_closepolicy = 1; 749 pub const CURLCLOSEPOLICY_LEAST_RECENTLY_USED: curl_closepolicy = 2; 750 pub const CURLCLOSEPOLICY_LEAST_TRAFFIC: curl_closepolicy = 3; 751 pub const CURLCLOSEPOLICY_SLOWEST: curl_closepolicy = 4; 752 pub const CURLCLOSEPOLICY_CALLBACK: curl_closepolicy = 5; 753 754 pub const CURL_GLOBAL_SSL: c_long = 1 << 0; 755 pub const CURL_GLOBAL_WIN32: c_long = 1 << 1; 756 pub const CURL_GLOBAL_ALL: c_long = CURL_GLOBAL_SSL | CURL_GLOBAL_WIN32; 757 pub const CURL_GLOBAL_NOTHING: c_long = 0; 758 pub const CURL_GLOBAL_DEFAULT: c_long = CURL_GLOBAL_ALL; 759 // pub const CURL_GLOBAL_ACK_EINTR: c_long = 1 << 2; 760 761 pub type curl_lock_data = __enum_ty; 762 pub const CURL_LOCK_DATA_NONE: curl_lock_data = 0; 763 pub const CURL_LOCK_DATA_SHARE: curl_lock_data = 1; 764 pub const CURL_LOCK_DATA_COOKIE: curl_lock_data = 2; 765 pub const CURL_LOCK_DATA_DNS: curl_lock_data = 3; 766 pub const CURL_LOCK_DATA_SSL_SESSION: curl_lock_data = 4; 767 pub const CURL_LOCK_DATA_CONNECT: curl_lock_data = 5; 768 769 pub type curl_lock_access = __enum_ty; 770 pub const CURL_LOCK_ACCESS_NONE: curl_lock_access = 0; 771 pub const CURL_LOCK_ACCESS_SHARED: curl_lock_access = 1; 772 pub const CURL_LOCK_ACCESS_SINGLE: curl_lock_access = 2; 773 774 pub type curl_lock_function = 775 extern "C" fn(*mut CURL, curl_lock_data, curl_lock_access, *mut c_void); 776 pub type curl_unlock_function = extern "C" fn(*mut CURL, curl_lock_data, *mut c_void); 777 778 pub enum CURLSH {} 779 780 pub type CURLSHcode = __enum_ty; 781 pub const CURLSHE_OK: CURLSHcode = 0; 782 pub const CURLSHE_BAD_OPTION: CURLSHcode = 1; 783 pub const CURLSHE_IN_USE: CURLSHcode = 2; 784 pub const CURLSHE_INVALID: CURLSHcode = 3; 785 pub const CURLSHE_NOMEM: CURLSHcode = 4; 786 // pub const CURLSHE_NOT_BUILT_IN: CURLSHcode = 5; 787 788 pub type CURLSHoption = __enum_ty; 789 pub const CURLSHOPT_NONE: CURLSHoption = 0; 790 pub const CURLSHOPT_SHARE: CURLSHoption = 1; 791 pub const CURLSHOPT_UNSHARE: CURLSHoption = 2; 792 pub const CURLSHOPT_LOCKFUNC: CURLSHoption = 3; 793 pub const CURLSHOPT_UNLOCKFUNC: CURLSHoption = 4; 794 pub const CURLSHOPT_USERDATA: CURLSHoption = 5; 795 796 pub const CURLVERSION_FIRST: CURLversion = 0; 797 pub const CURLVERSION_SECOND: CURLversion = 1; 798 pub const CURLVERSION_THIRD: CURLversion = 2; 799 pub const CURLVERSION_FOURTH: CURLversion = 3; 800 pub const CURLVERSION_FIFTH: CURLversion = 4; 801 pub const CURLVERSION_SIXTH: CURLversion = 5; 802 pub const CURLVERSION_NOW: CURLversion = CURLVERSION_SIXTH; 803 804 #[repr(C)] 805 pub struct curl_version_info_data { 806 pub age: CURLversion, 807 pub version: *const c_char, 808 pub version_num: c_uint, 809 pub host: *const c_char, 810 pub features: c_int, 811 pub ssl_version: *const c_char, 812 pub ssl_version_num: c_long, 813 pub libz_version: *const c_char, 814 pub protocols: *const *const c_char, 815 pub ares: *const c_char, 816 pub ares_num: c_int, 817 pub libidn: *const c_char, 818 pub iconv_ver_num: c_int, 819 pub libssh_version: *const c_char, 820 pub brotli_ver_num: c_uint, 821 pub brotli_version: *const c_char, 822 pub nghttp2_ver_num: c_uint, 823 pub nghttp2_version: *const c_char, 824 pub quic_version: *const c_char, 825 } 826 827 pub const CURL_VERSION_IPV6: c_int = 1 << 0; 828 pub const CURL_VERSION_KERBEROS4: c_int = 1 << 1; 829 pub const CURL_VERSION_SSL: c_int = 1 << 2; 830 pub const CURL_VERSION_LIBZ: c_int = 1 << 3; 831 pub const CURL_VERSION_NTLM: c_int = 1 << 4; 832 pub const CURL_VERSION_GSSNEGOTIATE: c_int = 1 << 5; 833 pub const CURL_VERSION_DEBUG: c_int = 1 << 6; 834 pub const CURL_VERSION_ASYNCHDNS: c_int = 1 << 7; 835 pub const CURL_VERSION_SPNEGO: c_int = 1 << 8; 836 pub const CURL_VERSION_LARGEFILE: c_int = 1 << 9; 837 pub const CURL_VERSION_IDN: c_int = 1 << 10; 838 pub const CURL_VERSION_SSPI: c_int = 1 << 11; 839 pub const CURL_VERSION_CONV: c_int = 1 << 12; 840 pub const CURL_VERSION_CURLDEBUG: c_int = 1 << 13; 841 pub const CURL_VERSION_TLSAUTH_SRP: c_int = 1 << 14; 842 pub const CURL_VERSION_NTLM_WB: c_int = 1 << 15; 843 pub const CURL_VERSION_HTTP2: c_int = 1 << 16; 844 pub const CURL_VERSION_UNIX_SOCKETS: c_int = 1 << 19; 845 846 pub const CURLPAUSE_RECV: c_int = 1 << 0; 847 pub const CURLPAUSE_RECV_CONT: c_int = 0; 848 pub const CURLPAUSE_SEND: c_int = 1 << 2; 849 pub const CURLPAUSE_SEND_CONT: c_int = 0; 850 851 pub enum CURLM {} 852 853 pub type CURLMcode = c_int; 854 pub const CURLM_CALL_MULTI_PERFORM: CURLMcode = -1; 855 pub const CURLM_OK: CURLMcode = 0; 856 pub const CURLM_BAD_HANDLE: CURLMcode = 1; 857 pub const CURLM_BAD_EASY_HANDLE: CURLMcode = 2; 858 pub const CURLM_OUT_OF_MEMORY: CURLMcode = 3; 859 pub const CURLM_INTERNAL_ERROR: CURLMcode = 4; 860 pub const CURLM_BAD_SOCKET: CURLMcode = 5; 861 pub const CURLM_UNKNOWN_OPTION: CURLMcode = 6; 862 // pub const CURLM_ADDED_ALREADY: CURLMcode = 7; 863 864 pub type CURLMSG = __enum_ty; 865 pub const CURLMSG_NONE: CURLMSG = 0; 866 pub const CURLMSG_DONE: CURLMSG = 1; 867 868 #[repr(C)] 869 pub struct CURLMsg { 870 pub msg: CURLMSG, 871 pub easy_handle: *mut CURL, 872 pub data: *mut c_void, 873 } 874 875 pub const CURL_WAIT_POLLIN: c_short = 0x1; 876 pub const CURL_WAIT_POLLPRI: c_short = 0x2; 877 pub const CURL_WAIT_POLLOUT: c_short = 0x4; 878 879 #[repr(C)] 880 pub struct curl_waitfd { 881 pub fd: curl_socket_t, 882 pub events: c_short, 883 pub revents: c_short, 884 } 885 886 pub const CURL_POLL_NONE: c_int = 0; 887 pub const CURL_POLL_IN: c_int = 1; 888 pub const CURL_POLL_OUT: c_int = 2; 889 pub const CURL_POLL_INOUT: c_int = 3; 890 pub const CURL_POLL_REMOVE: c_int = 4; 891 pub const CURL_CSELECT_IN: c_int = 1; 892 pub const CURL_CSELECT_OUT: c_int = 2; 893 pub const CURL_CSELECT_ERR: c_int = 4; 894 pub const CURL_SOCKET_TIMEOUT: curl_socket_t = CURL_SOCKET_BAD; 895 896 pub type curl_socket_callback = 897 extern "C" fn(*mut CURL, curl_socket_t, c_int, *mut c_void, *mut c_void) -> c_int; 898 pub type curl_multi_timer_callback = extern "C" fn(*mut CURLM, c_long, *mut c_void) -> c_int; 899 900 pub type CURLMoption = __enum_ty; 901 pub const CURLMOPT_SOCKETFUNCTION: CURLMoption = CURLOPTTYPE_FUNCTIONPOINT + 1; 902 pub const CURLMOPT_SOCKETDATA: CURLMoption = CURLOPTTYPE_OBJECTPOINT + 2; 903 pub const CURLMOPT_PIPELINING: CURLMoption = CURLOPTTYPE_LONG + 3; 904 pub const CURLMOPT_TIMERFUNCTION: CURLMoption = CURLOPTTYPE_FUNCTIONPOINT + 4; 905 pub const CURLMOPT_TIMERDATA: CURLMoption = CURLOPTTYPE_OBJECTPOINT + 5; 906 pub const CURLMOPT_MAXCONNECTS: CURLMoption = CURLOPTTYPE_LONG + 6; 907 pub const CURLMOPT_MAX_HOST_CONNECTIONS: CURLMoption = CURLOPTTYPE_LONG + 7; 908 pub const CURLMOPT_MAX_PIPELINE_LENGTH: CURLMoption = CURLOPTTYPE_LONG + 8; 909 pub const CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE: CURLMoption = CURLOPTTYPE_OFF_T + 9; 910 pub const CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE: CURLMoption = CURLOPTTYPE_OFF_T + 10; 911 pub const CURLMOPT_PIPELINING_SITE_BL: CURLMoption = CURLOPTTYPE_OBJECTPOINT + 11; 912 pub const CURLMOPT_PIPELINING_SERVER_BL: CURLMoption = CURLOPTTYPE_OBJECTPOINT + 12; 913 pub const CURLMOPT_MAX_TOTAL_CONNECTIONS: CURLMoption = CURLOPTTYPE_LONG + 13; 914 915 // These enums are for use with the CURLMOPT_PIPELINING option. 916 pub const CURLPIPE_NOTHING: c_long = 0; 917 pub const CURLPIPE_HTTP1: c_long = 1; 918 pub const CURLPIPE_MULTIPLEX: c_long = 2; 919 920 pub const CURL_ERROR_SIZE: usize = 256; 921 922 pub type curl_opensocket_callback = 923 extern "C" fn(*mut c_void, curlsocktype, *mut curl_sockaddr) -> curl_socket_t; 924 pub type curlsocktype = __enum_ty; 925 pub const CURLSOCKTYPE_IPCXN: curlsocktype = 0; 926 pub const CURLSOCKTYPE_ACCEPT: curlsocktype = 1; 927 pub const CURLSOCKTYPE_LAST: curlsocktype = 2; 928 929 #[repr(C)] 930 pub struct curl_sockaddr { 931 pub family: c_int, 932 pub socktype: c_int, 933 pub protocol: c_int, 934 pub addrlen: c_uint, 935 #[cfg(unix)] 936 pub addr: libc::sockaddr, 937 #[cfg(windows)] 938 pub addr: SOCKADDR, 939 } 940 941 extern "C" { curl_formadd( httppost: *mut *mut curl_httppost, last_post: *mut *mut curl_httppost, ... ) -> CURLFORMcode942 pub fn curl_formadd( 943 httppost: *mut *mut curl_httppost, 944 last_post: *mut *mut curl_httppost, 945 ... 946 ) -> CURLFORMcode; curl_formget( form: *mut curl_httppost, arg: *mut c_void, append: curl_formget_callback, ) -> c_int947 pub fn curl_formget( 948 form: *mut curl_httppost, 949 arg: *mut c_void, 950 append: curl_formget_callback, 951 ) -> c_int; curl_formfree(form: *mut curl_httppost)952 pub fn curl_formfree(form: *mut curl_httppost); 953 curl_version() -> *mut c_char954 pub fn curl_version() -> *mut c_char; 955 curl_easy_escape(handle: *mut CURL, string: *const c_char, length: c_int) -> *mut c_char956 pub fn curl_easy_escape(handle: *mut CURL, string: *const c_char, length: c_int) 957 -> *mut c_char; curl_easy_unescape( handle: *mut CURL, string: *const c_char, length: c_int, outlength: *mut c_int, ) -> *mut c_char958 pub fn curl_easy_unescape( 959 handle: *mut CURL, 960 string: *const c_char, 961 length: c_int, 962 outlength: *mut c_int, 963 ) -> *mut c_char; curl_free(p: *mut c_void)964 pub fn curl_free(p: *mut c_void); 965 curl_global_init(flags: c_long) -> CURLcode966 pub fn curl_global_init(flags: c_long) -> CURLcode; curl_global_init_mem( flags: c_long, m: curl_malloc_callback, f: curl_free_callback, r: curl_realloc_callback, s: curl_strdup_callback, c: curl_calloc_callback, ) -> CURLcode967 pub fn curl_global_init_mem( 968 flags: c_long, 969 m: curl_malloc_callback, 970 f: curl_free_callback, 971 r: curl_realloc_callback, 972 s: curl_strdup_callback, 973 c: curl_calloc_callback, 974 ) -> CURLcode; curl_global_cleanup()975 pub fn curl_global_cleanup(); 976 curl_slist_append(list: *mut curl_slist, val: *const c_char) -> *mut curl_slist977 pub fn curl_slist_append(list: *mut curl_slist, val: *const c_char) -> *mut curl_slist; curl_slist_free_all(list: *mut curl_slist)978 pub fn curl_slist_free_all(list: *mut curl_slist); 979 curl_getdate(p: *const c_char, _: *const time_t) -> time_t980 pub fn curl_getdate(p: *const c_char, _: *const time_t) -> time_t; 981 curl_share_init() -> *mut CURLSH982 pub fn curl_share_init() -> *mut CURLSH; curl_share_setopt(sh: *mut CURLSH, opt: CURLSHoption, ...) -> CURLSHcode983 pub fn curl_share_setopt(sh: *mut CURLSH, opt: CURLSHoption, ...) -> CURLSHcode; curl_share_cleanup(sh: *mut CURLSH) -> CURLSHcode984 pub fn curl_share_cleanup(sh: *mut CURLSH) -> CURLSHcode; 985 curl_version_info(t: CURLversion) -> *mut curl_version_info_data986 pub fn curl_version_info(t: CURLversion) -> *mut curl_version_info_data; 987 curl_easy_strerror(code: CURLcode) -> *const c_char988 pub fn curl_easy_strerror(code: CURLcode) -> *const c_char; curl_share_strerror(code: CURLSHcode) -> *const c_char989 pub fn curl_share_strerror(code: CURLSHcode) -> *const c_char; curl_easy_pause(handle: *mut CURL, bitmask: c_int) -> CURLcode990 pub fn curl_easy_pause(handle: *mut CURL, bitmask: c_int) -> CURLcode; 991 curl_easy_init() -> *mut CURL992 pub fn curl_easy_init() -> *mut CURL; curl_easy_setopt(curl: *mut CURL, option: CURLoption, ...) -> CURLcode993 pub fn curl_easy_setopt(curl: *mut CURL, option: CURLoption, ...) -> CURLcode; curl_easy_perform(curl: *mut CURL) -> CURLcode994 pub fn curl_easy_perform(curl: *mut CURL) -> CURLcode; curl_easy_cleanup(curl: *mut CURL)995 pub fn curl_easy_cleanup(curl: *mut CURL); curl_easy_getinfo(curl: *mut CURL, info: CURLINFO, ...) -> CURLcode996 pub fn curl_easy_getinfo(curl: *mut CURL, info: CURLINFO, ...) -> CURLcode; curl_easy_duphandle(curl: *mut CURL) -> *mut CURL997 pub fn curl_easy_duphandle(curl: *mut CURL) -> *mut CURL; curl_easy_reset(curl: *mut CURL)998 pub fn curl_easy_reset(curl: *mut CURL); curl_easy_recv( curl: *mut CURL, buffer: *mut c_void, buflen: size_t, n: *mut size_t, ) -> CURLcode999 pub fn curl_easy_recv( 1000 curl: *mut CURL, 1001 buffer: *mut c_void, 1002 buflen: size_t, 1003 n: *mut size_t, 1004 ) -> CURLcode; curl_easy_send( curl: *mut CURL, buffer: *const c_void, buflen: size_t, n: *mut size_t, ) -> CURLcode1005 pub fn curl_easy_send( 1006 curl: *mut CURL, 1007 buffer: *const c_void, 1008 buflen: size_t, 1009 n: *mut size_t, 1010 ) -> CURLcode; 1011 curl_multi_init() -> *mut CURLM1012 pub fn curl_multi_init() -> *mut CURLM; curl_multi_add_handle(multi_handle: *mut CURLM, curl_handle: *mut CURL) -> CURLMcode1013 pub fn curl_multi_add_handle(multi_handle: *mut CURLM, curl_handle: *mut CURL) -> CURLMcode; curl_multi_remove_handle(multi_handle: *mut CURLM, curl_handle: *mut CURL) -> CURLMcode1014 pub fn curl_multi_remove_handle(multi_handle: *mut CURLM, curl_handle: *mut CURL) -> CURLMcode; curl_multi_fdset( multi_handle: *mut CURLM, read_fd_set: *mut fd_set, write_fd_set: *mut fd_set, exc_fd_set: *mut fd_set, max_fd: *mut c_int, ) -> CURLMcode1015 pub fn curl_multi_fdset( 1016 multi_handle: *mut CURLM, 1017 read_fd_set: *mut fd_set, 1018 write_fd_set: *mut fd_set, 1019 exc_fd_set: *mut fd_set, 1020 max_fd: *mut c_int, 1021 ) -> CURLMcode; curl_multi_wait( multi_handle: *mut CURLM, extra_fds: *mut curl_waitfd, extra_nfds: c_uint, timeout_ms: c_int, ret: *mut c_int, ) -> CURLMcode1022 pub fn curl_multi_wait( 1023 multi_handle: *mut CURLM, 1024 extra_fds: *mut curl_waitfd, 1025 extra_nfds: c_uint, 1026 timeout_ms: c_int, 1027 ret: *mut c_int, 1028 ) -> CURLMcode; curl_multi_perform(multi_handle: *mut CURLM, running_handles: *mut c_int) -> CURLMcode1029 pub fn curl_multi_perform(multi_handle: *mut CURLM, running_handles: *mut c_int) -> CURLMcode; curl_multi_cleanup(multi_handle: *mut CURLM) -> CURLMcode1030 pub fn curl_multi_cleanup(multi_handle: *mut CURLM) -> CURLMcode; curl_multi_info_read( multi_handle: *mut CURLM, msgs_in_queue: *mut c_int, ) -> *mut CURLMsg1031 pub fn curl_multi_info_read( 1032 multi_handle: *mut CURLM, 1033 msgs_in_queue: *mut c_int, 1034 ) -> *mut CURLMsg; curl_multi_strerror(code: CURLMcode) -> *const c_char1035 pub fn curl_multi_strerror(code: CURLMcode) -> *const c_char; curl_multi_socket( multi_handle: *mut CURLM, s: curl_socket_t, running_handles: *mut c_int, ) -> CURLMcode1036 pub fn curl_multi_socket( 1037 multi_handle: *mut CURLM, 1038 s: curl_socket_t, 1039 running_handles: *mut c_int, 1040 ) -> CURLMcode; curl_multi_socket_action( multi_handle: *mut CURLM, s: curl_socket_t, ev_bitmask: c_int, running_handles: *mut c_int, ) -> CURLMcode1041 pub fn curl_multi_socket_action( 1042 multi_handle: *mut CURLM, 1043 s: curl_socket_t, 1044 ev_bitmask: c_int, 1045 running_handles: *mut c_int, 1046 ) -> CURLMcode; curl_multi_socket_all( multi_handle: *mut CURLM, running_handles: *mut c_int, ) -> CURLMcode1047 pub fn curl_multi_socket_all( 1048 multi_handle: *mut CURLM, 1049 running_handles: *mut c_int, 1050 ) -> CURLMcode; curl_multi_timeout(multi_handle: *mut CURLM, milliseconds: *mut c_long) -> CURLMcode1051 pub fn curl_multi_timeout(multi_handle: *mut CURLM, milliseconds: *mut c_long) -> CURLMcode; curl_multi_setopt(multi_handle: *mut CURLM, option: CURLMoption, ...) -> CURLMcode1052 pub fn curl_multi_setopt(multi_handle: *mut CURLM, option: CURLMoption, ...) -> CURLMcode; curl_multi_assign( multi_handle: *mut CURLM, sockfd: curl_socket_t, sockp: *mut c_void, ) -> CURLMcode1053 pub fn curl_multi_assign( 1054 multi_handle: *mut CURLM, 1055 sockfd: curl_socket_t, 1056 sockp: *mut c_void, 1057 ) -> CURLMcode; 1058 } 1059