pub unsafe extern "C" fn funopen(
cookie: *const c_void,
readfn: Option<unsafe extern "C" fn(*mut c_void, *mut c_char, c_int) -> c_int>,
writefn: Option<unsafe extern "C" fn(*mut c_void, *const c_char, c_int) -> c_int>,
seekfn: Option<unsafe extern "C" fn(*mut c_void, off_t, c_int) -> off_t>,
closefn: Option<unsafe extern "C" fn(*mut c_void) -> c_int>,
) -> *mut FILE