wrote modcmd bind system
[NeonServV5.git] / ChanNode.h
1 #ifndef _ChanNode_h
2 #define _ChanNode_h
3 #include "main.h"
4
5 struct ChanUser;
6 struct trigger_cache;
7
8 #define CHANFLAG_RECEIVED_USERLIST  0x01
9
10 struct ChanNode {
11     char name[CHANNELLEN+1];
12     char topic[TOPICLEN+1];
13     struct ChanUser *user;
14     unsigned char flags;
15     unsigned int modes;
16     char **mode_str_args;
17     int *mode_int_args;
18     struct UserNode *chanbot;
19     
20     struct trigger_cache *trigger;
21         
22     struct ChanNode *next;
23 };
24
25 void init_ChanNode();
26 int is_valid_chan(const char *name);
27 struct ChanNode* getChanByName(const char *name);
28 struct ChanNode* addChannel(const char *chan);
29 void delChannel(struct ChanNode* chan, int freeChan);
30 void freeChanNode(struct ChanNode* chan);
31 void checkChannelVisibility(struct ChanNode* chan);
32 int isModeSet(struct ChanNode* chan, char modeChar);
33 void* getModeValue(struct ChanNode* chan, char modeChar);
34 void parseModes(struct ChanNode* chan, char *modeStr, char **argv, int argc);
35 void getModeString(struct ChanNode* chan, char *modesStr);
36
37 #endif