X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=UserNode.h;h=f905437aae542a80341aafa035dafb29f4d625a4;hb=795115bf680185ae01043bd1222b78bfed8c1d87;hp=a0e418f45a66448f3d628d242b4cf8135da17f6e;hpb=394d5d44953b5f09a7c0a8f2cd79b74191e8cd85;p=NeonServV5.git diff --git a/UserNode.h b/UserNode.h index a0e418f..f905437 100644 --- a/UserNode.h +++ b/UserNode.h @@ -2,26 +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