tried to reorder the program structure and build process
[NeonServV5.git] / src / DBHelper.h
diff --git a/src/DBHelper.h b/src/DBHelper.h
new file mode 100644 (file)
index 0000000..8378040
--- /dev/null
@@ -0,0 +1,24 @@
+#ifndef _DBHelper_h
+#define _DBHelper_h
+
+#include "main.h"
+struct UserNode;
+struct ChanNode;
+
+#define DB_CHANUSER_SUSPENDED 0x01
+#define DB_CHANUSER_AUTOINVITE 0x02
+#define DB_CHANUSER_NOAUTOOP 0x04
+
+void _loadUserSettings(struct UserNode* user);
+#define loadUserSettings(USER) if((USER->flags & USERFLAG_ISAUTHED) && !(USER->flags & USERFLAG_LOADED_SETTINGS)) _loadUserSettings(USER)
+int isGodMode(struct UserNode *user);
+char *getChanDefault(char *channel_setting);
+int getChannelAccess(struct UserNode *user, struct ChanNode *chan, int override);
+int checkChannelAccess(struct UserNode *user, struct ChanNode *chan, char *channel_setting, int allow_override, int allow_501);
+void _loadChannelSettings(struct ChanNode *chan);
+#define loadChannelSettings(CHAN) if(!(CHAN->flags & CHANFLAG_REQUESTED_CHANINFO)) _loadChannelSettings(CHAN)
+int isUserProtected(struct ChanNode *chan, struct UserNode *victim, struct UserNode *issuer);
+
+char *getBanAffectingMask(struct ChanNode *chan, char *mask); //returns bans that match a given mask   eg. *!*@ab*  if you pass  *!*@abcdefg.*
+
+#endif
\ No newline at end of file