]> jfr.im git - irc/rqf/shadowircd.git/blob - modes/charybdis.c
0ce9cca5b882d3a805cba81b9bab86c012e63116
[irc/rqf/shadowircd.git] / modes / charybdis.c
1 #include "stdinc.h"
2 #include "modules.h"
3 #include "client.h"
4 #include "ircd.h"
5 #include "chmode.h"
6 #include "channel.h"
7
8 struct module_modes ModuleModes;
9
10 static int
11 _modinit(void)
12 {
13 ModuleModes.MODE_NOCTCP = cflag_add('C', chm_simple);
14 if (ModuleModes.MODE_NOCTCP == 0)
15 return -1;
16
17 ModuleModes.MODE_REGONLY = cflag_add('r', chm_regonly);
18 if (ModuleModes.MODE_REGONLY == 0)
19 return -1;
20
21 ModuleModes.MODE_NOCOLOR = cflag_add('c', chm_simple);
22 if (ModuleModes.MODE_NOCOLOR == 0)
23 return -1;
24
25 ModuleModes.MODE_EXLIMIT = cflag_add('L', chm_staff);
26 if (ModuleModes.MODE_EXLIMIT == 0)
27 return -1;
28
29 ModuleModes.MODE_PERMANENT = cflag_add('P', chm_staff);
30 if (ModuleModes.MODE_PERMANENT == 0)
31 return -1;
32
33 ModuleModes.MODE_OPMODERATE = cflag_add('z', chm_simple);
34 if (ModuleModes.MODE_OPMODERATE == 0)
35 return -1;
36
37 ModuleModes.MODE_FREEINVITE = cflag_add('g', chm_simple);
38 if (ModuleModes.MODE_FREEINVITE == 0)
39 return -1;
40
41 ModuleModes.MODE_FREETARGET = cflag_add('F', chm_simple);
42 if (ModuleModes.MODE_FREETARGET == 0)
43 return -1;
44
45 ModuleModes.MODE_DISFORWARD = cflag_add('Q', chm_simple);
46 if (ModuleModes.MODE_DISFORWARD == 0)
47 return -1;
48
49 ModuleModes.CHFL_QUIET = cflag_add('q', chm_ban);
50 if (ModuleModes.CHFL_QUIET == 0)
51 return -1;
52
53 ModuleModes.MODE_FORWARD = cflag_add('f', chm_forward);
54 if (ModuleModes.MODE_FORWARD == 0)
55 return -1;
56
57 ModuleModes.MODE_THROTTLE = cflag_add('j', chm_throttle);
58 if (ModuleModes.MODE_THROTTLE == 0)
59 return -1;
60
61 return 0;
62 }
63
64 static void
65 _moddeinit(void)
66 {
67 cflag_orphan('C');
68 ModuleModes.MODE_NOCTCP = 0;
69
70 cflag_orphan('r');
71 ModuleModes.MODE_REGONLY = 0;
72
73 cflag_orphan('c');
74 ModuleModes.MODE_NOCOLOR = 0;
75
76 cflag_orphan('L');
77 ModuleModes.MODE_EXLIMIT = 0;
78
79 cflag_orphan('P');
80 ModuleModes.MODE_PERMANENT = 0;
81
82 cflag_orphan('z');
83 ModuleModes.MODE_OPMODERATE = 0;
84
85 cflag_orphan('g');
86 ModuleModes.MODE_FREEINVITE = 0;
87
88 cflag_orphan('F');
89 ModuleModes.MODE_FREETARGET = 0;
90
91 cflag_orphan('Q');
92 ModuleModes.MODE_DISFORWARD = 0;
93
94 cflag_orphan('q');
95 ModuleModes.CHFL_QUIET = 0;
96
97 cflag_orphan('f');
98 ModuleModes.MODE_FORWARD = 0;
99
100 cflag_orphan('j');
101 ModuleModes.MODE_THROTTLE = 0;
102 }
103
104 DECLARE_MODULE_AV1(charybdis, _modinit, _moddeinit, NULL, NULL, NULL, "$charybdis$");