]> jfr.im git - irc/quakenet/newserv.git/blame - localuser/localuser.h
GLINES: fix null pointer deref in trustgline / trustungline
[irc/quakenet/newserv.git] / localuser / localuser.h
CommitLineData
c86edd1d
Q
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 /* () */
16d29ce2
CP
18#define LU_STATS 0x0020 /* (server, numeric, data) */
19#define LU_STATS_END 0x0021 /* server */
c86edd1d
Q
20
21/* Callback function for privmsg etc. */
22typedef void (*UserMessageHandler)(nick *,int,void **);
23
24extern UserMessageHandler umhandlers[MAXLOCALUSER+1];
25
c0e6ee63 26#define registerlocaluserflags(nickname, ident, host, realname, authname, authid, accountflags, umodes, handler) registerlocaluserflagsip(nickname, ident, host, realname, authname, authid, accountflags, umodes, NULL, handler)
c4ffdb9b 27#define registerlocaluser(nickname, ident, host, realname, authname, umodes, handler) registerlocaluserflags(nickname, ident, host, realname, authname, 0, 0, umodes, handler)
c0e6ee63 28nick *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);
c86edd1d
Q
29int renamelocaluser(nick *np, char *newnick);
30int deregisterlocaluser(nick *np, char *reason);
c5f1f827 31UserMessageHandler hooklocaluserhandler(nick *np, UserMessageHandler newhandler);
c86edd1d
Q
32void sendnickmsg(nick *np);
33void sendnickburst(int hooknum, void *arg);
34int handleprivatemsgcmd(void *source, int cargc, char **cargv);
35int handleprivatenoticecmd(void *source, int cargc, char **cargv);
36int handlemessageornotice(void *source, int cargc, char **cargv, int isnotice);
bb4b25ee
CP
37void sendmessagetouser(nick *source, nick *target, char *format, ... ) __attribute__ ((format (printf, 3, 4)));
38void sendsecuremessagetouser(nick *source, nick *target, char *servername, char *format, ... ) __attribute__ ((format (printf, 4, 5)));
39void sendnoticetouser(nick *source, nick *target, char *format, ... ) __attribute__ ((format (printf, 3, 4)));
40void killuser(nick *source, nick *target, char *format, ... ) __attribute__ ((format (printf, 3, 4)));
92acf9ae 41void localusersetaccount(nick *np, char *accname, unsigned long accid, u_int64_t accountflags, time_t authTS);
eac66732 42void localusersetumodes(nick *np, flag_t newmodes);
ab2c2b20 43void sethostuser(nick *target, char *ident, char *host);
92acf9ae 44void localusersetaccountflags(authname *anp, u_int64_t accountflags);
42d7af35
GB
45void localuseraddcloaktarget(nick *np, nick *target);
46void localuserclearcloaktargets(nick *np);
c86edd1d
Q
47
48#endif