pub type gen_i = Option<unsafe extern "C" fn(buf: *mut c_void, count: usize, state: *mut c_void)>;
pub enum gen_i { None, Some(unsafe extern "C" fn(*mut c_void, usize, *mut c_void)), }
No value.
Some value of type T.
T