X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2FUserNode.h;h=bf07e7e133e97701b69e4e7d21e1dea382f3b20e;hb=727b8a503f88131d92025bc43e3803d4a7c2aa00;hp=b43ac996926399e819cc7f71a380a7154f460b48;hpb=44436a96352a38631237978c9fd431cef3d85cfb;p=NeonServV5.git diff --git a/src/UserNode.h b/src/UserNode.h index b43ac99..bf07e7e 100644 --- a/src/UserNode.h +++ b/src/UserNode.h @@ -1,5 +1,5 @@ /* UserNode.h - NeonServ v5.3 - * Copyright (C) 2011 Philipp Kreil (pk910) + * Copyright (C) 2011-2012 Philipp Kreil (pk910) * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -28,6 +28,8 @@ #define USERFLAG_REPLY_PRIVMSG 0x0080 #define USERFLAG_GOD_MODE 0x0100 #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_WAS_REGISTRING 0x20000000 /* only set for event_join if the quit reason was Registered */ #define USERFLAG_SCRIPTFLAG1 0x40000000 @@ -35,6 +37,7 @@ struct ChanUser; struct language; +struct IPNode; struct UserNode { char nick[NICKLEN+1]; @@ -42,6 +45,7 @@ struct UserNode { char host[HOSTLEN+1]; char realname[REALLEN+1]; char auth[AUTHLEN+1]; + struct IPNode *ip; unsigned int flags; time_t created, last_who; struct ChanUser *channel; @@ -68,7 +72,8 @@ struct UserNode* getUsersWithAuth(const char *auth, struct UserNode *last); int getUserCount(); struct UserNode* addUser(const char *nick); struct UserNode* addUserMask(const char *mask); -struct UserNode* createTempUser(const char *mask); +struct UserNode* createTempUser(const char *nick); +struct UserNode* createTempUserMask(const char *mask); int renameUser(struct UserNode* user, const char *new_nick); void delUser(struct UserNode* user, int freeUser); void clearTempUsers();