added .gitignore
[NeonServV5.git] / ChanNode.h
index ead845a0c456161b9067c05328dfdf4aff30e75d..b62beff35fc8e1fa165bd05b4d6dbb5f4b59eee6 100644 (file)
@@ -3,22 +3,36 @@
 #include "main.h"
 
 struct ChanUser;
+struct trigger_cache;
+
+#define CHANFLAG_RECEIVED_USERLIST  0x01
 
 struct ChanNode {
     char name[CHANNELLEN+1];
     char topic[TOPICLEN+1];
     struct ChanUser *user;
+    unsigned char flags;
+    unsigned int modes;
+    char **mode_str_args;
+    int *mode_int_args;
+    struct UserNode *chanbot;
     
+    struct trigger_cache *trigger;
+       
     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);
+void delChannel(struct ChanNode* chan, int freeChan);
+void freeChanNode(struct ChanNode* chan);
+void checkChannelVisibility(struct ChanNode* chan);
+int isModeSet(struct ChanNode* chan, char modeChar);
+void* getModeValue(struct ChanNode* chan, char modeChar);
+void parseModes(struct ChanNode* chan, char *modeStr, char **argv, int argc);
+void getModeString(struct ChanNode* chan, char *modesStr);
 
 #endif
\ No newline at end of file