/* Copyright (C) 2003, 2004 IRCtoo Network, Pasi Hirvonen */ #ifndef _USERS_H_ #define _USERS_H_ #define IS_OPER(u) ((u)->user_flags & FLAG_OPERATOR) #define IS_SERVICESADMIN(u) ((u)->user_flags & FLAG_SERVICESADMIN) #define IS_REGISTERED(u) ((u)->user_flags & FLAG_REGISTERED) /* returns the current usercount (without pseudos) */ extern unsigned long s_get_usercount(void); /* self-explanatory, don't allocate memory for nick etc unless you * free it. the code uses g_strlcpy() */ extern void s_add_user(char *, char *, char *, char *, int); /* delete a user from our user recoreds. * * gotta write a version that takes irc_user * as an argument. may * save a lookup somewhere. */ extern void s_del_user(char *); /* locate a user in our user storage. be careful not to use * s_find_user() "recursively". e.g. first lookup user with * s_find_user() and pass the nick to a function that again calls * s_find_user(). */ extern irc_user *s_find_user(char *); extern GArray *s_find_users_by_host(char *u); /* this is ONLY for irc.c, don't use this elsewhere. */ extern void s_parse_new_user(irc_msg *); /* call on exit, disconect etc, cleanup. */ extern void s_clean_userlist(void); /* parse modechanges */ void s_parse_mode_change(char *, char *); /* privilege checks */ int is_privileged_sa(char *); int is_privileged_oper(char *nick); /* uses the given nick and fills the rest of the function * from our user store. this is weird ;) */ irc_user *s_fill_user_by_nick(char *, irc_user *); #endif /* _USERS_H_ */