#define HOOK_NICK_NEWNICK 300 /* Argument is nick* */
#define HOOK_NICK_RENAME 301 /* Argument is void*[2] (nick *, oldnick) */
#define HOOK_NICK_LOSTNICK 302 /* Argument is nick* */
-#define HOOK_NICK_WHOISCHANNELS 303 /* Argument is nick*[2] (sender, target) */
+#define HOOK_NICK_WHOISCHANNELS 303 /* Argument is void*[3] (sender, target, sourcenum) */
#define HOOK_NICK_ACCOUNT 304 /* Argument is nick* */
#define HOOK_NICK_QUIT 305 /* Argument is void*[2] (nick, reason) */
#define HOOK_NICK_SETHOST 306 /* Argument is nick* */
#define HOOK_NICK_MODEOPER 307 /* Argument is void*[2] (nick, modes) */
#define HOOK_NICK_KILL 308 /* Argument is void*[2] (nick, reason) */
#define HOOK_NICK_MASKPRIVMSG 309 /* Argument is void*[3] (nick, target, message) ** NICK COULD BE NULL ** */
+#define HOOK_NICK_MODECHANGE 310 /* Argument is void*[2] (nick *, oldmodes) */
+#define HOOK_NICK_MESSAGE 311 /* Argument is void*[3] (nick *, message, isnotice) */
+#define HOOK_NICK_PRE_LOSTNICK 312 /* Argument is nick* */
#define HOOK_CHANNEL_BURST 400 /* Argument is channel pointer */
#define HOOK_CHANNEL_CREATE 401 /* Argument is void*[2] (channel, nick) */
#define HOOK_CHANNEL_PART 403 /* Argument is void*[3] (channel, nick, reason) */
#define HOOK_CHANNEL_KICK 404 /* Argument is void*[4] (channel, kicked, kicker, reason) ** KICKER COULD BE NULL ***/
#define HOOK_CHANNEL_TOPIC 405 /* Argument is void*[2] (channel, nick) ** NICK COULD BE NULL ** */
-#define HOOK_CHANNEL_MODECHANGE 406 /* Argument is void*[3] (channel, nick, flags) ** NICK COULD BE NULL ** */
+#define HOOK_CHANNEL_MODECHANGE 406 /* Argument is void*[3] (channel, nick, flags, oldchanmodes) ** NICK COULD BE NULL ** */
#define HOOK_CHANNEL_BANSET 407 /* Argument is void*[2] (channel, nick) ** NICK COULD BE NULL **, ban will be first ban on channel */
#define HOOK_CHANNEL_BANCLEAR 408 /* Argument is void*[2] (channel, nick) ** NICK COULD BE NULL **, ban will be gone. XXX - could we care what the ban was? */
#define HOOK_CHANNEL_OPPED 409 /* Argument is void*[3] (channel, nick, target) ** NICK COULD BE NULL ** */
#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_MODIFYHOST 912 /* Argument is trusthost* */
+
+#define HOOK_SIGNONTRACKER_HAVETIME 1100 /* Argument is nick* */
+
+#define HOOK_WHOWAS_NEWRECORD 1200 /* Argument is void*[2] (whowas *, nick *) */
+#define HOOK_WHOWAS_LOSTRECORD 1201 /* Argument is whowas * */
+
+#define HOOK_LUA_LOADSCRIPT 1300 /* Argument is void*[2] (char *, lua_State *) */
+#define HOOK_LUA_UNLOADSCRIPT 1301 /* Argument is lua_State* */
#define PRIORITY_DEFAULT 0