From 35c5a9f9adab04b821896978520af643ea8b697f Mon Sep 17 00:00:00 2001 From: Test_User Date: Fri, 14 Jun 2024 02:51:58 -0400 Subject: Basic channel tracking added --- general_network.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'general_network.h') 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; -- cgit v1.2.3