added .gitignore
[NeonServV5.git] / UserNode.h
index a0e418f45a66448f3d628d242b4cf8135da17f6e..c96f9a128d7bdd77715ef98bd8e43864784086d4 100644 (file)
@@ -2,7 +2,13 @@
 #define _UserNode_h
 #include "main.h"
 
-#define USERFLAG_ISBOT 0x01;
+#define USERFLAG_ISBOT       0x0001
+#define USERFLAG_ISAUTHED    0x0002
+#define USERFLAG_ISIRCOP     0x0004
+#define USERFLAG_ISTMPUSER   0x0008
+#define USERFLAG_ISSERVER    0x0010
+#define USERFLAG_FREETMPUSER 0x0020
+
 struct ChanUser;
 
 struct UserNode {
@@ -10,18 +16,25 @@ struct UserNode {
     char ident[USERLEN+1];
     char host[HOSTLEN+1];
     char realname[REALLEN+1];
-    char flags;
+    char auth[AUTHLEN+1];
+    unsigned int flags;
+    time_t created;
     struct ChanUser *channel;
     
     struct UserNode *next;
 };
 
 void init_UserNode();
+void free_UserNode();
 int is_valid_nick(const char *nick);
 struct UserNode* getUserByNick(const char *nick);
+struct UserNode* getUserByMask(const char *mask);
 struct UserNode* searchUserByNick(const char *nick);
 struct UserNode* addUser(const char *nick);
+struct UserNode* addUserMask(const char *mask);
+struct UserNode* createTempUser(const char *mask);
 int renameUser(struct UserNode* user, const char *new_nick);
 void delUser(struct UserNode* user, int freeUser);
+void clearTempUsers();
 
-#endif
\ No newline at end of file
+#endif