summaryrefslogtreecommitdiffstats
path: root/src/irc/notifylist/notifylist.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/irc/notifylist/notifylist.h')
-rw-r--r--src/irc/notifylist/notifylist.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/irc/notifylist/notifylist.h b/src/irc/notifylist/notifylist.h
new file mode 100644
index 0000000..fe2a1aa
--- /dev/null
+++ b/src/irc/notifylist/notifylist.h
@@ -0,0 +1,29 @@
+#ifndef IRSSI_IRC_NOTIFYLIST_NOTIFYLIST_H
+#define IRSSI_IRC_NOTIFYLIST_NOTIFYLIST_H
+
+typedef struct {
+ char *mask; /* nick part must not contain wildcards */
+ char **ircnets; /* if non-NULL, check only from these irc networks */
+
+ /* notify when AWAY status changes (uses /USERHOST) */
+ unsigned int away_check:1;
+} NOTIFYLIST_REC;
+
+extern GSList *notifies;
+
+void notifylist_init(void);
+void notifylist_deinit(void);
+
+NOTIFYLIST_REC *notifylist_add(const char *mask, const char *ircnets,
+ int away_check);
+void notifylist_remove(const char *mask);
+
+IRC_SERVER_REC *notifylist_ison(const char *nick, const char *serverlist);
+int notifylist_ison_server(IRC_SERVER_REC *server, const char *nick);
+
+/* If `ircnet' is "*", it doesn't matter at all. */
+NOTIFYLIST_REC *notifylist_find(const char *mask, const char *ircnet);
+
+int notifylist_ircnets_match(NOTIFYLIST_REC *rec, const char *ircnet);
+
+#endif