void um_operator_unload(void) { hook_unregister(user_whois, HOOK_DEFAULT, um_oper_whois_hook); hook_unregister(oper_up, HOOK_DEFAULT, um_oper_up_hook); usermode_unregister(&um_operator); }
int main() { test(hook_register("hook1", "callback1", callback1)); test(hook_register("hook1", "callback1", callback1)); test(hook_register("hook1", "callback2", callback2)); test(hook_register("hook1", "callback2", callback2)); test(hook_unregister("hook1", "callback1")); test(hook_unregister("hook1", "callback1")); test(hook_unregister("hook1", "callback2")); test(hook_unregister("hook1", "callback2")); test(hook_register("hook1", "callback1", callback1)); test(hook_register("hook1", "callback1", callback1)); test(hook_register("hook1", "callback2", callback2)); test(hook_register("hook1", "callback2", callback2)); gds_slist_node_t *returns = NULL; hook_invoke("hook1", &returns, 1, 2, 3); gds_iterator_t *it = gds_slist_iterator_new(returns); gds_iterator_reset(it); while (!gds_iterator_step(it)) { void *data = gds_iterator_get(it); printf("%p\n", data); } gds_iterator_free(it); gds_slist_free(returns, NULL); return 0; }
void cm_op_unload(void) { /* unregister the channel mode */ chanmode_unregister(&cm_op_mode); hook_unregister(chanuser_kick, HOOK_DEFAULT, cm_op_kick); hook_unregister(channel_join, HOOK_2ND, cm_op_hook); }
/** * Uninitialize IPC stuff */ void wt_ipc_done (void) { ipc_enabled = FALSE; wt_ipc_builtin_done (); hook_unregister (CORE_ACTIVATE, wt_ipc_start, HOOK_PRIORITY_NORMAL); hook_unregister (CORE_DEACTIVATE, wt_ipc_stop, HOOK_PRIORITY_NORMAL); ipc_done (); mutex_free (mutex); }
void lc_cookie_unload(void) { struct lc_cookie *cookie = NULL; struct node *nptr; struct node *next; dlink_foreach_safe_data(&lc_cookie_list, nptr, next, cookie) lc_cookie_done(cookie); hook_unregister(lclient_release, HOOK_DEFAULT, lc_cookie_release); hook_unregister(lclient_login, HOOK_DEFAULT, lc_cookie_hook); lc_cookie_msg->handlers[MSG_UNREGISTERED] = m_unregistered; mem_static_destroy(&lc_cookie_heap); }
void cm_noext_unload(void) { /* unregister the channel mode */ chanmode_unregister(&cm_noext_mode); hook_unregister(channel_message, HOOK_DEFAULT, cm_noext_hook); }
void cm_ban_unload(void) { /* unregister the channel mode */ chanmode_unregister(&cm_ban_mode); /* unregister the hook in channel_join */ hook_unregister(channel_join, HOOK_DEFAULT, cm_ban_hook); }
void m_nclock_unload(void) { server_default_caps &= ~CAP_CLK; msg_unregister(&ms_nclock_msg); hook_unregister(server_login, HOOK_DEFAULT, ms_nclock_hook); }