Merge branch 'development'
[NeonServV5.git] / src / UserNode.h
index cf20df28d36f8fcbe59aeadd82cb1221e49d7003..ca6b70a1b1db6edf2e91fdc9e9527d3e40cf3bad 100644 (file)
@@ -1,4 +1,4 @@
-/* UserNode.h - NeonServ v5.4
+/* UserNode.h - NeonServ v5.6
  * Copyright (C) 2011-2012  Philipp Kreil (pk910)
  * 
  * This program is free software: you can redistribute it and/or modify
@@ -30,8 +30,9 @@
 #define USERFLAG_HAS_USERID         0x0200
 #define USERFLAG_IS_ON_WHO_QUEUE    0x0400 /* prevents the user struct from beeing freed too early */
 #define USERFLAG_FREE_AFTER_WHO     0x0800 /* user struct is no more referenced - free it after WHO */
+#define USERFLAG_QUITTING           0x1000 /* user is currently quitting... */
 
-#define USERFLAG_WAS_REGISTRING     0x20000000 /* only set for event_join if the quit reason was Registered */
+#define USERFLAG_WAS_REGISTERING    0x20000000 /* only set for event_join if the quit reason was Registered */
 #define USERFLAG_SCRIPTFLAG1        0x40000000
 #define USERFLAG_SCRIPTFLAG2        0x80000000
 
@@ -46,7 +47,7 @@ struct UserNode {
     char realname[REALLEN+1];
     char auth[AUTHLEN+1];
     struct IPNode *ip;
-    unsigned int flags;
+    unsigned int flags, usermode;
     time_t created, last_who;
     struct ChanUser *channel;
     struct language *language;
@@ -62,6 +63,8 @@ struct UserNode {
 #ifndef DND_FUNCTIONS
 void init_UserNode();
 void free_UserNode();
+/* MODULAR ACCESSIBLE */ int isUserModeSet(struct UserNode *user, char modeChar);
+void parseUserModes(struct UserNode* user, char *modeStr);
 /* MODULAR ACCESSIBLE */ int is_valid_nick(const char *nick);
 /* MODULAR ACCESSIBLE */ struct UserNode* getUserByNick(const char *nick);
 /* MODULAR ACCESSIBLE */ struct UserNode* getUserByMask(const char *mask);