changed Makefile; build all commands as an own file
[NeonServV5.git] / UserNode.h
index c96f9a128d7bdd77715ef98bd8e43864784086d4..f905437aae542a80341aafa035dafb29f4d625a4 100644 (file)
@@ -2,14 +2,21 @@
 #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
+
+#define USERFLAG_SCRIPTFLAG1        0x40000000
+#define USERFLAG_SCRIPTFLAG2        0x80000000
 
 struct ChanUser;
+struct language;
 
 struct UserNode {
     char nick[NICKLEN+1];
@@ -20,16 +27,23 @@ 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);
+int countUsersWithHost(char *host);
+char *getAuthFakehost(char *auth);
 struct UserNode* searchUserByNick(const char *nick);
+struct UserNode* getAllUsers(struct UserNode *last);
+int getUserCount();
 struct UserNode* addUser(const char *nick);
 struct UserNode* addUserMask(const char *mask);
 struct UserNode* createTempUser(const char *mask);