added cmd_clvl and moved all the database request functions to DBHelper.c
[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 #define CHANFLAG_REQUESTED_CHANINFO 0x02
10 #define CHANFLAG_CHAN_REGISTERED    0x04
11
12 struct ChanNode {
13     char name[CHANNELLEN+1];
14     char topic[TOPICLEN+1];
15     struct ChanUser *user;
16     unsigned char flags;
17     unsigned int modes;
18     char **mode_str_args;
19     int *mode_int_args;
20     struct UserNode *chanbot;
21     
22     struct trigger_cache *trigger;
23     int channel_id;
24         
25     struct ChanNode *next;
26 };
27
28 void init_ChanNode();
29 void free_ChanNode();
30 int is_valid_chan(const char *name);
31 struct ChanNode* getChanByName(const char *name);
32 struct ChanNode* addChannel(const char *chan);
33 void delChannel(struct ChanNode* chan, int freeChan);
34 void freeChanNode(struct ChanNode* chan);
35 void checkChannelVisibility(struct ChanNode* chan);
36 int isModeSet(struct ChanNode* chan, char modeChar);
37 void* getModeValue(struct ChanNode* chan, char modeChar);
38 void parseModes(struct ChanNode* chan, char *modeStr, char **argv, int argc);
39 void getModeString(struct ChanNode* chan, char *modesStr);
40
41 #endif