#include "common.h"
#include "dict.h"
#include "policer.h"
+#include "recdb.h"
#define MODE_CHANOP 0x00000001 /* +o USER */
#define MODE_VOICE 0x00000002 /* +v USER */
PRIV_REMOVE, /**< oper can force remove deactivated glines,
shuns and zlines. */
PRIV_SPAMFILTER, /**< oper can set spamfilters via SPAMFILTER */
+ PRIV_ADMIN, /**< oper is an IRC Admin */
+ PRIV_APASS_OPMODE, /**< oper can use OPMODE to set/unset channel modes +A and +U */
+ PRIV_HIDE_OPER, /**< oper can set/unset user mode +H */
+ PRIV_REMOTE, /**< oper can use his/her operator block from a remote server */
+ PRIV_SERVICE, /**< oper can set/unset user mode +k */
PRIV_LAST_PRIV /**< number of privileges */
};
char *version_reply; /* only filled in if a version query was triggered */
char *sslfp; /* only filled in if a mark SSLCLIFP is received */
+ struct string_list *marks; /* list of user's marks */
+
time_t timestamp; /* Time of last nick change */
time_t idle_since;
struct server *uplink; /* Server that user is connected to */
extern time_t max_clients_time;
extern struct userList curr_opers, curr_helpers;
+extern unsigned int count_opers;
+
struct server* GetServerH(const char *name); /* using full name */
struct userNode* GetUserH(const char *nick); /* using nick */
struct chanNode* GetChannel(const char *name);
void reg_server_link_func(server_link_func_t handler, void *extra);
void call_server_link_funcs(struct server *server);
+typedef void (*sasl_input_func_t) (struct server* source ,const char *identifier, const char *subcmd, const char *data, const char *ext, void *extra);
+void reg_sasl_input_func(sasl_input_func_t handler, void *extra);
+void call_sasl_input_func(struct server* source ,const char *identifier, const char *subcmd, const char *data, const char *ext);
+void unreg_sasl_input_func(sasl_input_func_t handler, void *extra);
+
typedef int (*new_user_func_t) (struct userNode *user, void *extra);
void reg_new_user_func(new_user_func_t handler, void *extra);
void call_new_user_funcs(struct userNode *user);