]> jfr.im git - irc/quakenet/newserv.git/blobdiff - core/hooks.h
gline playground
[irc/quakenet/newserv.git] / core / hooks.h
index dedbd32cb1380442f4f8c9757737ecde425edb73..424e7a03ef0e3f30ba19255257df57af363a2b77 100644 (file)
@@ -3,17 +3,20 @@
 #ifndef __HOOKS_H
 #define __HOOKS_H
 
+#include <limits.h>
+
 #define HOOKMAX 5000
 
 /* This is the authoritative registry of all known hook numbers */
 
-#define HOOK_CORE_REHASH             0
+#define HOOK_CORE_REHASH             0  /* Argument is an int */
 #define HOOK_CORE_STATSREQUEST       1
 #define HOOK_CORE_STATSREPLY         2
 #define HOOK_CORE_ENDOFHOOKSQUEUE    3
 #define HOOK_CORE_STOPERROR          4
 #define HOOK_CORE_ERROR                     5  /* Argument is a struct error_event * */
 #define HOOK_CORE_SIGUSR1            6 
+#define HOOK_CORE_SIGINT             7
 
 #define HOOK_IRC_CONNECTED         100  /* Located in server.c now to fix burst bug */
 #define HOOK_IRC_DISCON            101
 #define HOOK_SHADOW_SERVER         701 /* Argument is char* */
 
 #define HOOK_AUTH_FLAGSUPDATED     801 /* Argument is void*[2] (authname*, u_int64_t*) */
+#define HOOK_AUTH_LOSTAUTHNAME     802 /* Argument is authname* */
+
+#define HOOK_TRUSTS_DB_CLOSED      900 /* No arg */
+#define HOOK_TRUSTS_DB_LOADED      901 /* No arg */
+#define HOOK_TRUSTS_NEWNICK        902 /* Argument is void*[2] (nick*, long) */
+#define HOOK_TRUSTS_LOSTNICK       903 /* Argument is void*[2] (nick*, long) */
+#define HOOK_TRUSTS_NEWGROUP       904 /* Argument is trustgroup* */
+#define HOOK_TRUSTS_LOSTGROUP      905 /* Argument is trustgroup* */
+#define HOOK_TRUSTS_ADDGROUP       906 /* Argument is trustgroup* */
+#define HOOK_TRUSTS_DELGROUP       907 /* Argument is trustgroup* */
+#define HOOK_TRUSTS_ADDHOST        908 /* Argument is trusthost* */
+#define HOOK_TRUSTS_DELHOST        909 /* Argument is trusthost* */
+#define HOOK_TRUSTS_MODIFYGROUP    910 /* Argument is trustgroup* */
+#define HOOK_TRUSTS_LOSTHOST       911 /* Argument is trusthost* */
+
+#define HOOK_TRUSTS_DBLOADED       1000
+
+#define PRIORITY_DEFAULT           0
+
+#define PRIORITY_MAX               LONG_MIN
+#define PRIORITY_MIN               LONG_MAX
 
 typedef void (*HookCallback)(int, void *);
 
@@ -79,5 +103,6 @@ void inithooks();
 int registerhook(int hooknum, HookCallback callback);
 int deregisterhook(int hooknum, HookCallback callback);
 void triggerhook(int hooknum, void *arg);
+int registerpriorityhook(int hooknum, HookCallback callback, long priority);
 
 #endif