summaryrefslogtreecommitdiff
path: root/include/xline.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/xline.h')
-rw-r--r--include/xline.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/include/xline.h b/include/xline.h
index 720364dd6..0532ad207 100644
--- a/include/xline.h
+++ b/include/xline.h
@@ -13,5 +13,64 @@
#include "channels.h"
+/** XLine is the base class for ban lines such as G lines and K lines.
+ */
+class XLine : public classbase
+{
+
+ /** The time the line was added.
+ */
+ time_t set_time;
+
+ /** The duration of the ban, or 0 if permenant
+ */
+ long duration;
+
+ /** Source of the ban. This can be a servername or an oper nickname
+ */
+ char source[MAXBUF];
+
+ /** Reason for the ban
+ */
+ char reason[MAXBUF];
+
+ /** Number of times the core matches the ban, for statistics
+ */
+ long n_matches;
+
+};
+
+class KLine : public XLine
+{
+ /** Hostmask (ident@host) to match against
+ * May contain wildcards.
+ */
+ char hostmask[MAXBUF];
+};
+
+class GLine : public XLine
+{
+ /** Hostmask (ident@host) to match against
+ * May contain wildcards.
+ */
+ char hostmask[MAXBUF];
+};
+
+class ZLine : public XLine
+{
+ /** IP Address (xx.yy.zz.aa) to match against
+ * May contain wildcards and may be CIDR
+ */
+ char ipaddr[MAXBUF];
+};
+
+class QLine : public XLine
+{
+ /** Nickname to match against.
+ * May contain wildcards.
+ */
+ char nick[MAXBUF];
+};
#endif
+