+#endif
+
+typedef void registered_func_t(struct UserNode *user, char *new_mask);
+#ifndef DND_FUNCTIONS
+/* MODULAR ACCESSIBLE */ int bind_registered(registered_func_t *func, int module_id);
+/* MODULAR ACCESSIBLE */ void unbind_registered(registered_func_t *func);
+int event_registered(struct UserNode *user, char *new_mask);
+#endif
+
+typedef int freeuser_func_t(struct UserNode *user);
+#ifndef DND_FUNCTIONS
+/* MODULAR ACCESSIBLE */ int bind_freeuser(freeuser_func_t *func, int module_id);
+/* MODULAR ACCESSIBLE */ void unbind_freeuser(freeuser_func_t *func);
+int event_freeuser(struct UserNode *user);
+#endif
+
+typedef int freechan_func_t(struct ChanNode *chan);
+#ifndef DND_FUNCTIONS
+/* MODULAR ACCESSIBLE */ int bind_freechan(freechan_func_t *func, int module_id);
+/* MODULAR ACCESSIBLE */ void unbind_freechan(freechan_func_t *func);
+int event_freechan(struct ChanNode *chan);
+#endif
+
+typedef int reload_func_t(int initialization);
+#ifndef DND_FUNCTIONS
+/* MODULAR ACCESSIBLE */ int bind_reload(reload_func_t *func, int module_id);
+/* MODULAR ACCESSIBLE */ void unbind_reload(reload_func_t *func);
+int event_reload(int initialization);
+#endif
+
+typedef void freeclient_func_t(struct ClientSocket *client);
+#ifndef DND_FUNCTIONS
+/* MODULAR ACCESSIBLE */ int bind_freeclient(freeclient_func_t *func, int module_id);
+/* MODULAR ACCESSIBLE */ void unbind_freeclient(freeclient_func_t *func);
+int event_freeclient(struct ClientSocket *chan);
+#endif
+
+#endif