]> jfr.im git - irc/quakenet/newserv.git/blob - localuser/localuser.h
CHANSERV: don't delete the last user/channel to prevent id reuse
[irc/quakenet/newserv.git] / localuser / localuser.h
1 /* localuser.h */
2
3 #ifndef __LOCALUSER_H
4 #define __LOCALUSER_H
5
6 #include "../nick/nick.h"
7 #include "../lib/flags.h"
8 #include "../irc/irc.h"
9
10 #define LU_PRIVMSG 0x0001 /* (sender, message) */
11 #define LU_PRIVNOTICE 0x0002 /* (sender, message) */
12 #define LU_SECUREMSG 0x0003 /* (sender, message) */
13 #define LU_CHANMSG 0x0004 /* (sender, target, message) */
14 #define LU_CHANNOTICE 0x0005 /* (sender, target, message) */
15 #define LU_INVITE 0x0006 /* (sender, channel) */
16 #define LU_KICKED 0x0007 /* (kicker, channel, reason) */
17 #define LU_KILLED 0x0010 /* () */
18 #define LU_STATS 0x0020 /* (server, numeric, data) */
19 #define LU_STATS_END 0x0021 /* server */
20
21 /* Callback function for privmsg etc. */
22 typedef void (*UserMessageHandler)(nick *,int,void **);
23
24 extern UserMessageHandler umhandlers[MAXLOCALUSER+1];
25
26 #define registerlocaluserflags(nickname, ident, host, realname, authname, authid, accountflags, umodes, handler) registerlocaluserflagsip(nickname, ident, host, realname, authname, authid, accountflags, umodes, NULL, handler)
27 #define registerlocaluser(nickname, ident, host, realname, authname, umodes, handler) registerlocaluserflags(nickname, ident, host, realname, authname, 0, 0, umodes, handler)
28 nick *registerlocaluserflagsip(char *nickname, char *ident, char *host, char *realname, char *authname, unsigned long authid, flag_t accountflags, flag_t umodes, struct irc_in_addr *ipaddress, UserMessageHandler hander);
29 int renamelocaluser(nick *np, char *newnick);
30 int deregisterlocaluser(nick *np, char *reason);
31 UserMessageHandler hooklocaluserhandler(nick *np, UserMessageHandler newhandler);
32 void sendnickmsg(nick *np);
33 void sendnickburst(int hooknum, void *arg);
34 int handleprivatemsgcmd(void *source, int cargc, char **cargv);
35 int handleprivatenoticecmd(void *source, int cargc, char **cargv);
36 int handlemessageornotice(void *source, int cargc, char **cargv, int isnotice);
37 void sendmessagetouser(nick *source, nick *target, char *format, ... ) __attribute__ ((format (printf, 3, 4)));
38 void sendsecuremessagetouser(nick *source, nick *target, char *servername, char *format, ... ) __attribute__ ((format (printf, 4, 5)));
39 void sendnoticetouser(nick *source, nick *target, char *format, ... ) __attribute__ ((format (printf, 3, 4)));
40 void killuser(nick *source, nick *target, char *format, ... ) __attribute__ ((format (printf, 3, 4)));
41 void localusersetaccount(nick *np, char *accname, unsigned long accid, u_int64_t accountflags, time_t authTS);
42 void localusersetumodes(nick *np, flag_t newmodes);
43 void sethostuser(nick *target, char *ident, char *host);
44 void localusersetaccountflags(authname *anp, u_int64_t accountflags);
45 void localuseraddcloaktarget(nick *np, nick *target);
46 void localuserclearcloaktargets(nick *np);
47
48 #endif