]> jfr.im git - irc/quakenet/newserv.git/blame_incremental - localuser/localuser.h
CHANSERV: don't delete the last user/channel to prevent id reuse
[irc/quakenet/newserv.git] / localuser / localuser.h
... / ...
CommitLineData
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. */
22typedef void (*UserMessageHandler)(nick *,int,void **);
23
24extern 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)
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);
29int renamelocaluser(nick *np, char *newnick);
30int deregisterlocaluser(nick *np, char *reason);
31UserMessageHandler hooklocaluserhandler(nick *np, UserMessageHandler newhandler);
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);
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)));
41void localusersetaccount(nick *np, char *accname, unsigned long accid, u_int64_t accountflags, time_t authTS);
42void localusersetumodes(nick *np, flag_t newmodes);
43void sethostuser(nick *target, char *ident, char *host);
44void localusersetaccountflags(authname *anp, u_int64_t accountflags);
45void localuseraddcloaktarget(nick *np, nick *target);
46void localuserclearcloaktargets(nick *np);
47
48#endif