X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fproto.h;h=36de9a8d759bea84fcf259c769509afbe1f6b2a5;hb=0a7f0a288c131806db7b8538554b918a99c1a21d;hp=aa83e83a98490f84673411d71f38411da15d8bb8;hpb=23609de645133c4a2fa6b913ef677300fe9357b8;p=srvx.git diff --git a/src/proto.h b/src/proto.h index aa83e83..36de9a8 100644 --- a/src/proto.h +++ b/src/proto.h @@ -104,6 +104,9 @@ void unreg_notice_func(struct userNode *user); typedef void (*oper_func_t) (struct userNode *user); void reg_oper_func(oper_func_t handler); +typedef void (*xquery_func_t) (struct server *source, const char routing[], const char query[]); +void reg_xquery_func(xquery_func_t handler); + /* replay silliness */ void replay_read_line(void); void replay_event_loop(void); @@ -142,11 +145,13 @@ void irc_kill(struct userNode *from, struct userNode *target, const char *messag void irc_raw(const char *what); void irc_stats(struct userNode *from, struct server *target, char type); void irc_svsnick(struct userNode *from, struct userNode *target, const char *newnick); +void irc_xresponse(struct server *target, const char *routing, const char *response); /* account maintenance */ void irc_account(struct userNode *user, const char *stamp, unsigned long timestamp, unsigned long serial); void irc_regnick(struct userNode *user); void irc_fakehost(struct userNode *user, const char *host, const char *ident, int force); +void irc_keepconn(struct userNode *target, unsigned int timeout); /* svs maintenance */ void irc_svsmode(struct userNode *from, struct userNode *user, const char *modes); @@ -234,7 +239,7 @@ struct mod_chanmode { struct mod_chanmode *mod_chanmode_alloc(unsigned int argc); struct mod_chanmode *mod_chanmode_dup(struct mod_chanmode *orig, unsigned int extra); -struct mod_chanmode *mod_chanmode_parse(struct chanNode *channel, char **modes, unsigned int argc, unsigned int flags, short base_oplevel); +struct mod_chanmode *mod_chanmode_parse(struct chanNode *channel, struct userNode *user, char **modes, unsigned int argc, unsigned int flags, short base_oplevel); void mod_chanmode_apply(struct userNode *who, struct chanNode *channel, struct mod_chanmode *change); void mod_chanmode_announce(struct userNode *who, struct chanNode *channel, struct mod_chanmode *change); char *mod_chanmode_format(struct mod_chanmode *desc, char *buffer);