pub unsafe extern "C" fn funopen(
cookie: *const c_void,
readfn: Option<unsafe extern "C" fn(cookie: *mut c_void, buf: *mut c_void, n: usize) -> _ssize_t>,
writefn: Option<unsafe extern "C" fn(cookie: *mut c_void, buf: *const c_void, n: usize) -> _ssize_t>,
seekfn: Option<unsafe extern "C" fn(cookie: *mut c_void, off: __off_t, whence: c_int) -> __off_t>,
closefn: Option<unsafe extern "C" fn(cookie: *mut c_void) -> c_int>,
) -> *mut FILE