summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/configreader.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/configreader.h b/include/configreader.h
index db4c6d3d5..772de2177 100644
--- a/include/configreader.h
+++ b/include/configreader.h
@@ -14,6 +14,13 @@
#ifndef INSPIRCD_CONFIGREADER
#define INSPIRCD_CONFIGREADER
+/* handy defines */
+
+/** Determines if a channel op is exempt from given mode m,
+ * in config of server instance s.
+ */
+#define CHANOPS_EXEMPT(s, m) (s->Config->ExemptChanOps[(unsigned char)m])
+
#include <sstream>
#include <string>
#include <vector>
@@ -355,6 +362,11 @@ class ServerConfig : public Extensible
*/
bool HideModeLists[256];
+ /** If this is set to true, then channel operators
+ * are exempt from this channel mode. Used for +Sc etc.
+ */
+ bool ExemptChanOps[256];
+
/** The number of seconds the DNS subsystem
* will wait before timing out any request.
*/