diff options
author | Test_User <hax@andrewyu.org> | 2024-06-14 02:51:58 -0400 |
---|---|---|
committer | Test_User <hax@andrewyu.org> | 2024-06-14 02:51:58 -0400 |
commit | 35c5a9f9adab04b821896978520af643ea8b697f (patch) | |
tree | ee474fe3e1b54f4e497e5dffa391fba6937d45f3 /general_network.h | |
parent | dadd3396cf719e1ce659926833efd1e17064f2d5 (diff) | |
download | haxircd-35c5a9f9adab04b821896978520af643ea8b697f.tar.gz haxircd-35c5a9f9adab04b821896978520af643ea8b697f.zip |
Basic channel tracking added
Diffstat (limited to 'general_network.h')
-rw-r--r-- | general_network.h | 14 |
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; |