added .gitignore
[NeonServV5.git] / UserNode.h
1 #ifndef _UserNode_h
2 #define _UserNode_h
3 #include "main.h"
4
5 #define USERFLAG_ISBOT       0x0001
6 #define USERFLAG_ISAUTHED    0x0002
7 #define USERFLAG_ISIRCOP     0x0004
8 #define USERFLAG_ISTMPUSER   0x0008
9 #define USERFLAG_ISSERVER    0x0010
10 #define USERFLAG_FREETMPUSER 0x0020
11
12 struct ChanUser;
13
14 struct UserNode {
15     char nick[NICKLEN+1];
16     char ident[USERLEN+1];
17     char host[HOSTLEN+1];
18     char realname[REALLEN+1];
19     char auth[AUTHLEN+1];
20     unsigned int flags;
21     time_t created;
22     struct ChanUser *channel;
23     
24     struct UserNode *next;
25 };
26
27 void init_UserNode();
28 void free_UserNode();
29 int is_valid_nick(const char *nick);
30 struct UserNode* getUserByNick(const char *nick);
31 struct UserNode* getUserByMask(const char *mask);
32 struct UserNode* searchUserByNick(const char *nick);
33 struct UserNode* addUser(const char *nick);
34 struct UserNode* addUserMask(const char *mask);
35 struct UserNode* createTempUser(const char *mask);
36 int renameUser(struct UserNode* user, const char *new_nick);
37 void delUser(struct UserNode* user, int freeUser);
38 void clearTempUsers();
39
40 #endif