]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - include/channel.h
6.0 is officially feature complete.
[irc/rqf/shadowircd.git] / include / channel.h
index 1cbcb1df63a49bd40e3ee73816bc1fccec9b1cf6..2573e19e16add9b88382c8a9f7062679ad84b256 100644 (file)
@@ -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 */