pub type MemoryContextCallbackFunction = Option<unsafe extern "C" fn(arg: *mut c_void)>;