X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=UserNode.h;h=f905437aae542a80341aafa035dafb29f4d625a4;hb=795115bf680185ae01043bd1222b78bfed8c1d87;hp=d63fede63bd998dee4da88671f89ff7c477a5cb3;hpb=c6dca9fe53f48a28c287d8c354e0dbc90a5e9e2f;p=NeonServV5.git diff --git a/UserNode.h b/UserNode.h index d63fede..f905437 100644 --- a/UserNode.h +++ b/UserNode.h @@ -2,28 +2,53 @@ #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 +#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]; 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 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); 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