added raw_topic, raw_privmsg and wrote the small "dead channel garbage collector"
[NeonServV5.git] / UserNode.h
1 #ifndef _UserNode_h
2 #define _UserNode_h
3 #include "main.h"
4
5 #define USERFLAG_ISBOT     0x01
6 #define USERFLAG_ISAUTHED  0x02
7 #define USERFLAG_ISIRCOP   0x04
8 #define USERFLAG_ISTMPUSER 0x08
9 #define USERFLAG_ISSERVER  0x10
10 struct ChanUser;
11
12 struct UserNode {
13     char nick[NICKLEN+1];
14     char ident[USERLEN+1];
15     char host[HOSTLEN+1];
16     char realname[REALLEN+1];
17     char auth[AUTHLEN+1];
18     char flags;
19     struct ChanUser *channel;
20     
21     struct UserNode *next;
22 };
23
24 void init_UserNode();
25 int is_valid_nick(const char *nick);
26 struct UserNode* getUserByNick(const char *nick);
27 struct UserNode* getUserByMask(const char *mask);
28 struct UserNode* searchUserByNick(const char *nick);
29 struct UserNode* addUser(const char *nick);
30 struct UserNode* addUserMask(const char *mask);
31 struct UserNode* createTempUser(const char *mask);
32 int renameUser(struct UserNode* user, const char *new_nick);
33 void delUser(struct UserNode* user, int freeUser);
34
35 #endif