X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/3b0e9fa20ed055db5d862caaff4cef4b3b58c0bc..07b7b659c16665ce33b058d1a06a7a420850ceb9:/include/channel.h diff --git a/include/channel.h b/include/channel.h index 1cbcb1d..2573e19 100644 --- a/include/channel.h +++ b/include/channel.h @@ -72,6 +72,8 @@ struct Channel unsigned int join_count; /* joins within delta */ unsigned int join_delta; /* last ts of join */ + struct Dictionary *c_metadata; + unsigned long bants; time_t channelts; char *chname; @@ -90,6 +92,13 @@ struct membership unsigned long bants; }; +struct c_Metadata +{ + const char *name; + const char *value; + time_t timevalue; +}; + #define BANLEN 195 struct Ban { @@ -296,4 +305,15 @@ extern void user_join(struct Client * client_p, struct Client * source_p, const extern void do_join_0(struct Client *client_p, struct Client *source_p); extern int check_channel_name_loc(struct Client *source_p, const char *name); +extern struct Metadata *channel_metadata_add(struct Channel *target, const char *name, const char *value, int propegate); +extern void channel_metadata_delete(struct Channel *target, const char *name, int propegate); +extern struct Metadata *channel_metadata_find(struct Channel *target, const char *name); + +extern struct Metadata *channel_metadata_add(struct Channel *target, const char *name, const char *value, int propegate); +extern struct Metadata *channel_metadata_time_add(struct Channel *target, const char *name, time_t value); +extern void channel_metadata_delete(struct Channel *target, const char *name, int propegate); +extern struct Metadata *channel_metadata_find(struct Channel *target, const char *name); +extern void channel_metadata_clear(struct Channel *target); + + #endif /* INCLUDED_channel_h */