pub unsafe extern "C" fn SIM_register_event(
name: *const c_char,
cl: *mut conf_class_t,
flags: event_class_flag_t,
callback: Option<unsafe extern "C" fn(obj: *mut conf_object_t, data: *mut lang_void)>,
destroy: Option<unsafe extern "C" fn(obj: *mut conf_object_t, data: *mut lang_void)>,
get_value: Option<unsafe extern "C" fn(obj: *mut conf_object_t, data: *mut lang_void) -> attr_value_t>,
set_value: Option<unsafe extern "C" fn(obj: *mut conf_object_t, value: attr_value_t) -> *mut lang_void>,
describe: Option<unsafe extern "C" fn(obj: *mut conf_object_t, data: *mut lang_void) -> *mut c_char>,
) -> *mut event_class_t