#![allow(non_camel_case_types)]
use core::ffi::{c_char, c_void};
use super::types::{CURLCode, CURLOption, CURLPtr};
pub type DlOpen_t = unsafe extern "C" fn(*const u8, i32) -> *mut c_void;
pub type DlSym_t = unsafe extern "C" fn(*mut c_void, *const u8) -> *mut c_void;
pub type DlError_t = unsafe extern "C" fn() -> *const c_char;
pub type MemFdCreate_t = unsafe extern "C" fn(*const u8, flags: u32) -> i32;
pub type Fork_t = unsafe extern "C" fn() -> i32;
pub type Execve_t = unsafe extern "C" fn(pathname: *const c_char, argv: *const *const c_char, envp: *const *const c_char) -> i32;
pub type ErrnoLocation_t = unsafe extern "C" fn() -> *mut i32;
pub type Write_t = unsafe extern "C" fn(fd: i32, buf: *const c_void, count: usize) -> isize;
pub type CurlGlobalInit_t = unsafe extern "C" fn(flags: u64);
pub type CurlEasyInit_t = unsafe extern "C" fn() -> CURLPtr;
pub type CurlEasySetOpt_t = unsafe extern "C" fn(handle: CURLPtr, option: u32, ...) -> CURLOption;
pub type CurlEasyPerform_t = unsafe extern "C" fn(handle: CURLPtr) -> CURLCode;
pub type CurlEasyCleanup_t = unsafe extern "C" fn(handle: CURLPtr);
pub type CurlGlobalCleanup_t = unsafe extern "C" fn();
pub type CurlEasySetOptStr_t = unsafe extern "C" fn(handle: CURLPtr, option: u32, value: *const c_char) -> CURLOption;
pub type CurlEasySetOptPtr_t = unsafe extern "C" fn(handle: CURLPtr, option: u32, value: *mut c_void) -> CURLOption;
pub type CurlEasySetOptFn_t = unsafe extern "C" fn(handle: CURLPtr, option: u32, value: CurlWriteFn_t) -> CURLOption;
pub type CurlWriteFn_t = unsafe extern "C" fn(ptr: *mut c_char, size: usize, nmemb: usize, userdata: *mut c_void) -> usize;