modified modcmd to give the possibility for dynamic access (modcmd)
[NeonServV5.git] / UserNode.h
index eaddf59547843c90ede42f41ca507cd2b9a4ef86..6347ef51c9e13c0ad76a875c8131c6147339a7c0 100644 (file)
@@ -2,14 +2,18 @@
 #define _UserNode_h
 #include "main.h"
 
-#define USERFLAG_ISBOT       0x0001
-#define USERFLAG_ISAUTHED    0x0002
-#define USERFLAG_ISIRCOP     0x0004
-#define USERFLAG_ISTMPUSER   0x0008
-#define USERFLAG_ISSERVER    0x0010
-#define USERFLAG_FREETMPUSER 0x0020
+#define USERFLAG_ISBOT              0x0001
+#define USERFLAG_ISAUTHED           0x0002
+#define USERFLAG_ISIRCOP            0x0004
+#define USERFLAG_ISTMPUSER          0x0008
+#define USERFLAG_ISSERVER           0x0010
+#define USERFLAG_FREETMPUSER        0x0020
+#define USERFLAG_LOADED_SETTINGS    0x0040
+#define USERFLAG_REPLY_PRIVMSG      0x0080
+#define USERFLAG_GOD_MODE           0x0100
 
 struct ChanUser;
+struct language;
 
 struct UserNode {
     char nick[NICKLEN+1];
@@ -20,11 +24,15 @@ struct UserNode {
     unsigned int flags;
     time_t created;
     struct ChanUser *channel;
+    struct language *language;
     
     struct UserNode *next;
 };
 
+#define isNetworkService(USER) (USER->flags & (USERFLAG_ISBOT | USERFLAG_ISIRCOP))
+
 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);
@@ -34,5 +42,6 @@ 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