aboutsummaryrefslogtreecommitdiff
path: root/general_network.h
diff options
context:
space:
mode:
Diffstat (limited to 'general_network.h')
-rw-r--r--general_network.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/general_network.h b/general_network.h
index 541e1ff..1cc5929 100644
--- a/general_network.h
+++ b/general_network.h
@@ -101,6 +101,15 @@ struct user_info {
char latency_ready;
};
+struct channel_info {
+ struct string name;
+
+ struct string channel_ts_str;
+ size_t channel_ts;
+
+ struct table user_list;
+};
+
int resolve(struct string address, struct string port, struct sockaddr *sockaddr);
int init_general_network(void);
@@ -110,6 +119,10 @@ int rename_user(struct string from, struct user_info *user, struct string nick,
void remove_user(struct string from, struct user_info *user, struct string reason, char propagate);
void kill_user(struct string from, struct string source, struct user_info *user, struct string reason);
+int set_channel(struct string from, struct string name, size_t timestamp, size_t user_count, struct user_info **users);
+int join_channel(struct string from, struct channel_info *channel, size_t user_count, struct user_info **users, char propagate);
+void part_channel(struct string from, struct channel_info *channel, struct user_info *user, struct string reason, char propagate);
+
extern char casemap[UCHAR_MAX+1];
#define CASEMAP(x) (casemap[(unsigned char)x])
@@ -128,3 +141,4 @@ extern struct network networks[NUM_NET_TYPES];
extern struct table server_list;
extern struct table user_list;
+extern struct table channel_list;