changed Makefile; build all commands as an own file
[NeonServV5.git] / ChanNode.h
index ea949fdf4b4c39e8308d68a09c07f6b75ab2781e..7847dea7efd64d92080298a8687c906b34aae270 100644 (file)
@@ -4,34 +4,39 @@
 
 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;
-    unsigned int modes;
-    char **mode_str_args;
-    int *mode_int_args;
-    struct UserNode *chanbot;
+    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);
-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