X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=ChanNode.h;h=7847dea7efd64d92080298a8687c906b34aae270;hb=795115bf680185ae01043bd1222b78bfed8c1d87;hp=ead845a0c456161b9067c05328dfdf4aff30e75d;hpb=394d5d44953b5f09a7c0a8f2cd79b74191e8cd85;p=NeonServV5.git diff --git a/ChanNode.h b/ChanNode.h index ead845a..7847dea 100644 --- a/ChanNode.h +++ b/ChanNode.h @@ -3,22 +3,40 @@ #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_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); +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