tried to reorder the program structure and build process
[NeonServV5.git] / src / ChanNode.h
diff --git a/src/ChanNode.h b/src/ChanNode.h
new file mode 100644 (file)
index 0000000..7847dea
--- /dev/null
@@ -0,0 +1,42 @@
+#ifndef _ChanNode_h
+#define _ChanNode_h
+#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_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