Support ircu's XQUERY and XRESPONSE.
[srvx.git] / src / proto.h
index 3d8e2e74083b30d637b3ad0c2609d10a36250600..6ded4dfb49463e798ea758455327894312a4c209 100644 (file)
@@ -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,6 +145,7 @@ 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);
@@ -210,6 +214,7 @@ struct mod_chanmode {
 #define MCP_REGISTERED    0x0008 /* chan is already registered; do not allow changes to MODE_REGISTERED */
 #define MCP_UPASS_FREE    0x0010 /* -U without a key argument */
 #define MCP_APASS_FREE    0x0020 /* -A without a key argument */
+#define MCP_NO_APASS      0x0040 /* Do not allow +/-A or +/-U */
 #define MC_ANNOUNCE       0x0100 /* send a mod_chanmode() change out */
 #define MC_NOTIFY         0x0200 /* make local callbacks to announce */
 #ifdef NDEBUG