addition of silc.css
[silc.git] / apps / irssi / src / core / servers-redirect.h
1 #ifndef __SERVERS_REDIRECT_H
2 #define __SERVERS_REDIRECT_H
3
4 typedef struct {
5         int last; /* number of "last" events at the start of the events list */
6         GSList *events; /* char* list of events */
7 } REDIRECT_CMD_REC;
8
9 typedef struct {
10         char *name; /* event name */
11
12         char *arg; /* argument for event we are expecting or NULL */
13         int argpos; /* argument position */
14
15         int group; /* group of events this belongs to */
16         int last; /* if this event is received, remove all the events in this group */
17 }
18 REDIRECT_REC;
19
20 void server_redirect_init(SERVER_REC *server, const char *command, int last, ...);
21 void server_redirect_initv(SERVER_REC *server, const char *command, int last, GSList *list);
22 /* ... = char *event1, char *event2, ..., NULL */
23
24 void server_redirect_event(SERVER_REC *server, const char *arg, int last, ...);
25 /* ... = char *event, char *callback_signal, int argpos, ..., NULL */
26
27 int server_redirect_single_event(SERVER_REC *server, const char *arg, int last, int group,
28                                  const char *event, const char *signal, int argpos);
29 void server_redirect_default(SERVER_REC *server, const char *command);
30 void server_redirect_remove_next(SERVER_REC *server, const char *event, GSList *item);
31 GSList *server_redirect_getqueue(SERVER_REC *server, const char *event, const char *args);
32
33 void servers_redirect_init(void);
34 void servers_redirect_deinit(void);
35
36 #endif