2 * Copyright (C) 2017 Andy Spencer <andy753421@gmail.com>
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 typedef unsigned long long stamp_t;
21 typedef struct server_t server_t;
22 typedef struct channel_t channel_t;
23 typedef struct user_t user_t;
30 typedef struct server_t {
36 typedef struct channel_t {
45 typedef struct user_t {
60 extern server_t *servers;
61 extern channel_t *channels;
63 extern message_t *messages;
68 void chat_config(const char *group, const char *name,
69 const char *key, const char *value);
70 void chat_recv(channel_t *channel, user_t *from, const char *text);
71 void chat_send(channel_t *channel, const char *text);
72 void chat_update(void);
75 void add_server(server_t *server);
76 void add_channel(channel_t *channel);
77 void add_user(user_t *user);
80 extern void irc_config(server_t *server, channel_t *channel,
81 const char *group, const char *name,
82 const char *key, const char *value);
83 extern void irc_send(channel_t *channel, const char *text);
84 extern void irc_exit(void);
85 extern void irc_init(void);
88 extern void xmpp_init(void);
89 extern void xmpp_config(server_t *server, channel_t *channel,
90 const char *group, const char *name,
91 const char *key, const char *value);
92 extern void xmpp_send(channel_t *channel, const char *text);
93 extern void xmpp_exit(void);