#include "main.h"
struct ChanUser;
+struct trigger_cache;
+struct ModeNode;
+
+#define CHANFLAG_RECEIVED_USERLIST 0x01
+#define CHANFLAG_REQUESTED_CHANINFO 0x02
+#define CHANFLAG_CHAN_REGISTERED 0x04
+#define CHANFLAG_HAVE_INVISIBLES 0x08
struct ChanNode {
char name[CHANNELLEN+1];
char topic[TOPICLEN+1];
struct ChanUser *user;
+ unsigned int usercount;
+ unsigned char flags;
+ struct ModeNode *modes;
+ struct BanNode *bans;
+ struct UserNode *chanbot;
+ struct trigger_cache *trigger;
+ int channel_id;
+
struct ChanNode *next;
-}
+};
-/*
-void init_UserNode();
-int is_valid_nick(const char *nick);
-struct UserNode* getUserByNick(const char *nick);
-struct UserNode* addUser(const char *nick);
-int renameUser(struct UserNode* user, const char *new_nick);
-void delUser(struct UserNode* user, int freeUser);
-*/
+void init_ChanNode();
+void free_ChanNode();
+int is_valid_chan(const char *name);
+struct ChanNode* getChanByName(const char *name);
+struct ChanNode* addChannel(const char *chan);
+int getChannelCount();
+int getChanUserCount();
+int getChanBanCount();
+void delChannel(struct ChanNode* chan, int freeChan);
+void freeChanNode(struct ChanNode* chan);
+void checkChannelVisibility(struct ChanNode* chan);
#endif
\ No newline at end of file