pub type DL_FUNC = Option<unsafe extern "C" fn() -> *mut c_void>;
called with a variable argument set