Anope IRC Services  Version 1.8
ircd.c
Go to the documentation of this file.
1 /* Main ircd functions.
2  *
3  * (C) 2003-2014 Anope Team
4  * Contact us at team@anope.org
5  *
6  * Please read COPYING and README for further details.
7  *
8  * Based on the original code of Epona by Lara.
9  * Based on the original code of Services by Andy Church.
10  *
11  *
12  */
13 
14 #include "services.h"
15 #include "extern.h"
16 
19 
32 char csmodes[128];
34 
39 {
40  ircdproto.ircd_set_mod_current_buffer = NULL;
41  ircdproto.ircd_set_umode = NULL;
42  ircdproto.ircd_cmd_svsnoop = NULL;
43  ircdproto.ircd_cmd_remove_akill = NULL;
44  ircdproto.ircd_cmd_topic = NULL;
45  ircdproto.ircd_cmd_vhost_off = NULL;
46  ircdproto.ircd_cmd_akill = NULL;
47  ircdproto.ircd_cmd_svskill = NULL;
48  ircdproto.ircd_cmd_svsmode = NULL;
49  ircdproto.ircd_cmd_372 = NULL;
50  ircdproto.ircd_cmd_372_error = NULL;
51  ircdproto.ircd_cmd_375 = NULL;
52  ircdproto.ircd_cmd_376 = NULL;
53  ircdproto.ircd_cmd_nick = NULL;
54  ircdproto.ircd_cmd_guest_nick = NULL;
55  ircdproto.ircd_cmd_mode = NULL;
56  ircdproto.ircd_cmd_bot_nick = NULL;
57  ircdproto.ircd_cmd_kick = NULL;
58  ircdproto.ircd_cmd_notice_ops = NULL;
59  ircdproto.ircd_cmd_notice = NULL;
60  ircdproto.ircd_cmd_notice2 = NULL;
61  ircdproto.ircd_cmd_privmsg = NULL;
62  ircdproto.ircd_cmd_privmsg2 = NULL;
63  ircdproto.ircd_cmd_serv_notice = NULL;
64  ircdproto.ircd_cmd_serv_privmsg = NULL;
65  ircdproto.ircd_cmd_bot_chan_mode = NULL;
66  ircdproto.ircd_cmd_351 = NULL;
67  ircdproto.ircd_cmd_quit = NULL;
68  ircdproto.ircd_cmd_pong = NULL;
69  ircdproto.ircd_cmd_join = NULL;
70  ircdproto.ircd_cmd_unsqline = NULL;
71  ircdproto.ircd_cmd_invite = NULL;
72  ircdproto.ircd_cmd_part = NULL;
73  ircdproto.ircd_cmd_391 = NULL;
74  ircdproto.ircd_cmd_250 = NULL;
75  ircdproto.ircd_cmd_307 = NULL;
76  ircdproto.ircd_cmd_311 = NULL;
77  ircdproto.ircd_cmd_312 = NULL;
78  ircdproto.ircd_cmd_317 = NULL;
79  ircdproto.ircd_cmd_219 = NULL;
80  ircdproto.ircd_cmd_401 = NULL;
81  ircdproto.ircd_cmd_318 = NULL;
82  ircdproto.ircd_cmd_242 = NULL;
83  ircdproto.ircd_cmd_243 = NULL;
84  ircdproto.ircd_cmd_211 = NULL;
85  ircdproto.ircd_cmd_global = NULL;
86  ircdproto.ircd_cmd_global_legacy = NULL;
87  ircdproto.ircd_cmd_sqline = NULL;
88  ircdproto.ircd_cmd_squit = NULL;
89  ircdproto.ircd_cmd_svso = NULL;
90  ircdproto.ircd_cmd_chg_nick = NULL;
91  ircdproto.ircd_cmd_svsnick = NULL;
92  ircdproto.ircd_cmd_vhost_on = NULL;
93  ircdproto.ircd_cmd_connect = NULL;
94  ircdproto.ircd_cmd_bob = NULL;
95  ircdproto.ircd_cmd_svshold = NULL;
96  ircdproto.ircd_cmd_release_svshold = NULL;
97  ircdproto.ircd_cmd_unsgline = NULL;
98  ircdproto.ircd_cmd_unszline = NULL;
99  ircdproto.ircd_cmd_szline = NULL;
100  ircdproto.ircd_cmd_sgline = NULL;
101  ircdproto.ircd_cmd_unban = NULL;
102  ircdproto.ircd_cmd_svsmode_chan = NULL;
103  ircdproto.ircd_cmd_svid_umode = NULL;
104  ircdproto.ircd_cmd_nc_change = NULL;
105  ircdproto.ircd_cmd_svid_umode2 = NULL;
106  ircdproto.ircd_cmd_svid_umode3 = NULL;
107  ircdproto.ircd_cmd_svsjoin = NULL;
108  ircdproto.ircd_cmd_svspart = NULL;
109  ircdproto.ircd_cmd_swhois = NULL;
110  ircdproto.ircd_cmd_eob = NULL;
111  ircdproto.ircd_flood_mode_check = NULL;
112  ircdproto.ircd_cmd_jupe = NULL;
113  ircdproto.ircd_valid_nick = NULL;
114  ircdproto.ircd_valid_chan = NULL;
115  ircdproto.ircd_cmd_ctcp = NULL;
116  ircdproto.ircd_jointhrottle_mode_check = NULL;
117 }
118 
119 /* Special function, returns 1 if executed, 0 if not */
120 int anope_set_mod_current_buffer(int ac, char **av)
121 {
122  if (ircdproto.ircd_set_mod_current_buffer) {
123  ircdproto.ircd_set_mod_current_buffer(ac, av);
124  return 1;
125  }
126 
127  return 0;
128 }
129 
130 void anope_set_umode(User * user, int ac, char **av)
131 {
132  ircdproto.ircd_set_umode(user, ac, av);
133 }
134 
135 void anope_cmd_svsnoop(char *server, int set)
136 {
137  ircdproto.ircd_cmd_svsnoop(server, set);
138 }
139 
140 void anope_cmd_remove_akill(char *user, char *host)
141 {
142  ircdproto.ircd_cmd_remove_akill(user, host);
143 }
144 
145 void anope_cmd_topic(char *whosets, char *chan, char *whosetit,
146  char *topic, time_t when)
147 {
148  ircdproto.ircd_cmd_topic(whosets, chan, whosetit, topic, when);
149 }
150 
152 {
153  ircdproto.ircd_cmd_vhost_off(u);
154 }
155 
156 void anope_cmd_akill(char *user, char *host, char *who, time_t when,
157  time_t expires, char *reason)
158 {
159  ircdproto.ircd_cmd_akill(user, host, who, when, expires, reason);
160 }
161 
162 void anope_cmd_svskill(char *source, char *user, const char *fmt, ...)
163 {
164  va_list args;
165  char buf[BUFSIZE];
166  *buf = '\0';
167  if (fmt) {
168  va_start(args, fmt);
169  vsnprintf(buf, BUFSIZE - 1, fmt, args);
170  va_end(args);
171  }
172  ircdproto.ircd_cmd_svskill(source, user, buf);
173 }
174 
175 void anope_cmd_svsmode(User * u, int ac, char **av)
176 {
177  ircdproto.ircd_cmd_svsmode(u, ac, av);
178 }
179 
180 void anope_cmd_372(char *source, char *msg)
181 {
182  ircdproto.ircd_cmd_372(source, msg);
183 }
184 
185 void anope_cmd_372_error(char *source)
186 {
187  ircdproto.ircd_cmd_372_error(source);
188 }
189 
190 void anope_cmd_375(char *source)
191 {
192  ircdproto.ircd_cmd_375(source);
193 }
194 
195 void anope_cmd_376(char *source)
196 {
197  ircdproto.ircd_cmd_376(source);
198 }
199 
200 void anope_cmd_nick(char *nick, char *name, char *modes)
201 {
202  ircdproto.ircd_cmd_nick(nick, name, modes);
203 }
204 
205 void anope_cmd_guest_nick(char *nick, char *user, char *host, char *real,
206  char *modes)
207 {
208  ircdproto.ircd_cmd_guest_nick(nick, user, host, real, modes);
209 }
210 
211 void anope_cmd_mode(char *source, char *dest, const char *fmt, ...)
212 {
213  va_list args;
214  char buf[BUFSIZE];
215  *buf = '\0';
216  if (fmt) {
217  va_start(args, fmt);
218  vsnprintf(buf, BUFSIZE - 1, fmt, args);
219  va_end(args);
220  }
221  ircdproto.ircd_cmd_mode(source, dest, buf);
222 }
223 
224 void anope_cmd_bot_nick(char *nick, char *user, char *host, char *real,
225  char *modes)
226 {
227  ircdproto.ircd_cmd_bot_nick(nick, user, host, real, modes);
228 }
229 
230 void anope_cmd_kick(char *source, char *chan, char *user, const char *fmt,
231  ...)
232 {
233  va_list args;
234  char buf[BUFSIZE];
235  *buf = '\0';
236  if (fmt) {
237  va_start(args, fmt);
238  vsnprintf(buf, BUFSIZE - 1, fmt, args);
239  va_end(args);
240  }
241  ircdproto.ircd_cmd_kick(source, chan, user, buf);
242 }
243 
244 void anope_cmd_notice_ops(char *source, char *dest, const char *fmt, ...)
245 {
246  va_list args;
247  char buf[BUFSIZE];
248  *buf = '\0';
249  if (fmt) {
250  va_start(args, fmt);
251  vsnprintf(buf, BUFSIZE - 1, fmt, args);
252  va_end(args);
253  }
254  ircdproto.ircd_cmd_notice_ops(source, dest, buf);
255 }
256 
257 void anope_cmd_notice(char *source, char *dest, const char *fmt, ...)
258 {
259  va_list args;
260  char buf[BUFSIZE];
261  *buf = '\0';
262  if (fmt) {
263  va_start(args, fmt);
264  vsnprintf(buf, BUFSIZE - 1, fmt, args);
265  va_end(args);
266  }
267  ircdproto.ircd_cmd_notice(source, dest, buf);
268 }
269 
270 void anope_cmd_notice2(char *source, char *dest, char *msg)
271 {
272  ircdproto.ircd_cmd_notice2(source, dest, msg);
273 }
274 
275 void anope_cmd_action(char *source, char *dest, const char *fmt, ...)
276 {
277  va_list args;
278  char buf[BUFSIZE];
279  char actionbuf[BUFSIZE];
280  *buf = '\0';
281  *actionbuf = '\0';
282  if (fmt) {
283  va_start(args, fmt);
284  vsnprintf(buf, BUFSIZE - 1, fmt, args);
285  va_end(args);
286  }
287 
288  if (!*buf) {
289  return;
290  }
291  snprintf(actionbuf, BUFSIZE - 1, "%cACTION %s %c", 1, buf, 1);
292  ircdproto.ircd_cmd_privmsg(source, dest, actionbuf);
293 }
294 
295 
296 void anope_cmd_privmsg(char *source, char *dest, const char *fmt, ...)
297 {
298  va_list args;
299  char buf[BUFSIZE];
300  *buf = '\0';
301  if (fmt) {
302  va_start(args, fmt);
303  vsnprintf(buf, BUFSIZE - 1, fmt, args);
304  va_end(args);
305  }
306  ircdproto.ircd_cmd_privmsg(source, dest, buf);
307 }
308 
309 void anope_cmd_privmsg2(char *source, char *dest, char *msg)
310 {
311  ircdproto.ircd_cmd_privmsg2(source, dest, msg);
312 }
313 
314 void anope_cmd_serv_notice(char *source, char *dest, char *msg)
315 {
316  ircdproto.ircd_cmd_serv_notice(source, dest, msg);
317 }
318 
319 void anope_cmd_serv_privmsg(char *source, char *dest, char *msg)
320 {
321  ircdproto.ircd_cmd_serv_privmsg(source, dest, msg);
322 }
323 
324 void anope_cmd_bot_chan_mode(char *nick, char *chan)
325 {
326  ircdproto.ircd_cmd_bot_chan_mode(nick, chan);
327 }
328 
329 void anope_cmd_351(char *source)
330 {
331  ircdproto.ircd_cmd_351(source);
332 }
333 
334 void anope_cmd_quit(char *source, const char *fmt, ...)
335 {
336  va_list args;
337  char buf[BUFSIZE];
338  *buf = '\0';
339  if (fmt) {
340  va_start(args, fmt);
341  vsnprintf(buf, BUFSIZE - 1, fmt, args);
342  va_end(args);
343  }
344  ircdproto.ircd_cmd_quit(source, buf);
345 }
346 
347 void anope_cmd_pong(char *servname, char *who)
348 {
349  ircdproto.ircd_cmd_pong(servname, who);
350 }
351 
352 void anope_cmd_join(char *user, char *channel, time_t chantime)
353 {
354  ircdproto.ircd_cmd_join(user, channel, chantime);
355 }
356 
357 void anope_cmd_unsqline(char *user)
358 {
359  ircdproto.ircd_cmd_unsqline(user);
360 }
361 
362 void anope_cmd_invite(char *source, char *chan, char *nick)
363 {
364  ircdproto.ircd_cmd_invite(source, chan, nick);
365 }
366 
367 void anope_cmd_part(char *nick, char *chan, const char *fmt, ...)
368 {
369  if (fmt) {
370  va_list args;
371  char buf[BUFSIZE];
372  *buf = '\0';
373  va_start(args, fmt);
374  vsnprintf(buf, BUFSIZE - 1, fmt, args);
375  va_end(args);
376  ircdproto.ircd_cmd_part(nick, chan, buf);
377  } else {
378  ircdproto.ircd_cmd_part(nick, chan, NULL);
379  }
380 }
381 
382 void anope_cmd_391(char *source, char *timestr)
383 {
384  ircdproto.ircd_cmd_391(source, timestr);
385 }
386 
387 void anope_cmd_250(const char *fmt, ...)
388 {
389  va_list args;
390  char buf[BUFSIZE];
391  *buf = '\0';
392  if (fmt) {
393  va_start(args, fmt);
394  vsnprintf(buf, BUFSIZE - 1, fmt, args);
395  va_end(args);
396  }
397  ircdproto.ircd_cmd_250(buf);
398 }
399 
400 void anope_cmd_307(const char *fmt, ...)
401 {
402  va_list args;
403  char buf[BUFSIZE];
404  *buf = '\0';
405  if (fmt) {
406  va_start(args, fmt);
407  vsnprintf(buf, BUFSIZE - 1, fmt, args);
408  va_end(args);
409  }
410  ircdproto.ircd_cmd_307(buf);
411 }
412 
413 void anope_cmd_311(const char *fmt, ...)
414 {
415  va_list args;
416  char buf[BUFSIZE];
417  *buf = '\0';
418  if (fmt) {
419  va_start(args, fmt);
420  vsnprintf(buf, BUFSIZE - 1, fmt, args);
421  va_end(args);
422  }
423  ircdproto.ircd_cmd_311(buf);
424 }
425 
426 void anope_cmd_312(const char *fmt, ...)
427 {
428  va_list args;
429  char buf[BUFSIZE];
430  *buf = '\0';
431  if (fmt) {
432  va_start(args, fmt);
433  vsnprintf(buf, BUFSIZE - 1, fmt, args);
434  va_end(args);
435  }
436  ircdproto.ircd_cmd_312(buf);
437 }
438 
439 void anope_cmd_317(const char *fmt, ...)
440 {
441  va_list args;
442  char buf[BUFSIZE];
443  *buf = '\0';
444  if (fmt) {
445  va_start(args, fmt);
446  vsnprintf(buf, BUFSIZE - 1, fmt, args);
447  va_end(args);
448  }
449  ircdproto.ircd_cmd_317(buf);
450 }
451 
452 void anope_cmd_219(char *source, char *letter)
453 {
454  ircdproto.ircd_cmd_219(source, letter);
455 }
456 
457 void anope_cmd_401(char *source, char *who)
458 {
459  ircdproto.ircd_cmd_401(source, who);
460 }
461 
462 void anope_cmd_318(char *source, char *who)
463 {
464  ircdproto.ircd_cmd_318(source, who);
465 }
466 
467 void anope_cmd_242(const char *fmt, ...)
468 {
469  va_list args;
470  char buf[BUFSIZE];
471  *buf = '\0';
472  if (fmt) {
473  va_start(args, fmt);
474  vsnprintf(buf, BUFSIZE - 1, fmt, args);
475  va_end(args);
476  }
477  ircdproto.ircd_cmd_242(buf);
478 }
479 
480 void anope_cmd_243(const char *fmt, ...)
481 {
482  va_list args;
483  char buf[BUFSIZE];
484  *buf = '\0';
485  if (fmt) {
486  va_start(args, fmt);
487  vsnprintf(buf, BUFSIZE - 1, fmt, args);
488  va_end(args);
489  }
490  ircdproto.ircd_cmd_243(buf);
491 }
492 
493 void anope_cmd_211(const char *fmt, ...)
494 {
495  va_list args;
496  char buf[BUFSIZE];
497  *buf = '\0';
498  if (fmt) {
499  va_start(args, fmt);
500  vsnprintf(buf, BUFSIZE - 1, fmt, args);
501  va_end(args);
502  }
503  ircdproto.ircd_cmd_211(buf);
504 }
505 
506 void anope_cmd_global(char *source, const char *fmt, ...)
507 {
508  va_list args;
509  char buf[BUFSIZE];
510  *buf = '\0';
511  if (fmt) {
512  va_start(args, fmt);
513  vsnprintf(buf, BUFSIZE - 1, fmt, args);
514  va_end(args);
515  }
516  ircdproto.ircd_cmd_global(source, buf);
517 }
518 
519 void anope_cmd_global_legacy(char *source, char *fmt)
520 {
521  ircdproto.ircd_cmd_global_legacy(source, fmt);
522 }
523 
524 void anope_cmd_sqline(char *mask, char *reason)
525 {
526  ircdproto.ircd_cmd_sqline(mask, reason);
527 }
528 
529 void anope_cmd_squit(char *servname, char *message)
530 {
531  ircdproto.ircd_cmd_squit(servname, message);
532 }
533 
534 void anope_cmd_svso(char *source, char *nick, char *flag)
535 {
536  ircdproto.ircd_cmd_svso(source, nick, flag);
537 }
538 
539 void anope_cmd_chg_nick(char *oldnick, char *newnick)
540 {
541  ircdproto.ircd_cmd_chg_nick(oldnick, newnick);
542 }
543 
544 void anope_cmd_svsnick(char *source, char *guest, time_t when)
545 {
546  ircdproto.ircd_cmd_svsnick(source, guest, when);
547 }
548 
549 void anope_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
550 {
551  ircdproto.ircd_cmd_vhost_on(nick, vIdent, vhost);
552 }
553 
555 {
556  ircdproto.ircd_cmd_connect(servernum);
557 }
558 
560 {
561  ircdproto.ircd_cmd_bob();
562 }
563 
564 void anope_cmd_svshold(char *nick)
565 {
566  ircdproto.ircd_cmd_svshold(nick);
567 }
568 
570 {
571  ircdproto.ircd_cmd_release_svshold(nick);
572 }
573 
574 void anope_cmd_unsgline(char *mask)
575 {
576  ircdproto.ircd_cmd_unsgline(mask);
577 }
578 
579 void anope_cmd_unszline(char *mask)
580 {
581  ircdproto.ircd_cmd_unszline(mask);
582 }
583 
584 void anope_cmd_szline(char *mask, char *reason, char *whom)
585 {
586  ircdproto.ircd_cmd_szline(mask, reason, whom);
587 }
588 
589 void anope_cmd_sgline(char *mask, char *reason)
590 {
591  ircdproto.ircd_cmd_sgline(mask, reason);
592 }
593 
594 void anope_cmd_unban(char *name, char *nick)
595 {
596  ircdproto.ircd_cmd_unban(name, nick);
597 }
598 
599 void anope_cmd_svsmode_chan(char *name, char *mode, char *nick)
600 {
601  ircdproto.ircd_cmd_svsmode_chan(name, mode, nick);
602 }
603 
604 void anope_cmd_svid_umode(char *nick, time_t ts)
605 {
606  ircdproto.ircd_cmd_svid_umode(nick, ts);
607 }
608 
610 {
611  ircdproto.ircd_cmd_nc_change(u);
612 }
613 
614 void anope_cmd_svid_umode2(User * u, char *ts)
615 {
616  ircdproto.ircd_cmd_svid_umode2(u, ts);
617 }
618 
619 void anope_cmd_svid_umode3(User * u, char *ts)
620 {
621  ircdproto.ircd_cmd_svid_umode3(u, ts);
622 }
623 
624 void anope_cmd_svsjoin(char *source, char *nick, char *chan, char *param)
625 {
626  ircdproto.ircd_cmd_svsjoin(source, nick, chan, param);
627 }
628 
629 void anope_cmd_svspart(char *source, char *nick, char *chan)
630 {
631  ircdproto.ircd_cmd_svspart(source, nick, chan);
632 }
633 
634 void anope_cmd_swhois(char *source, char *who, char *mask)
635 {
636  ircdproto.ircd_cmd_swhois(source, who, mask);
637 }
638 
640 {
641  ircdproto.ircd_cmd_eob();
642 }
643 
644 int anope_flood_mode_check(char *value)
645 {
646  return ircdproto.ircd_flood_mode_check(value);
647 }
648 
650 {
651  if (ircd->jmode)
652  return ircdproto.ircd_jointhrottle_mode_check(value);
653  return 0;
654 }
655 
656 void anope_cmd_jupe(char *jserver, char *who, char *reason)
657 {
658  ircdproto.ircd_cmd_jupe(jserver, who, reason);
659 }
660 
661 int anope_valid_nick(char *nick)
662 {
663  return ircdproto.ircd_valid_nick(nick);
664 }
665 
666 int anope_valid_chan(char *chan)
667 {
668  return ircdproto.ircd_valid_chan(chan);
669 }
670 
671 
672 void anope_cmd_ctcp(char *source, char *dest, const char *fmt, ...)
673 {
674  va_list args;
675  char buf[BUFSIZE];
676  *buf = '\0';
677  if (fmt) {
678  va_start(args, fmt);
679  vsnprintf(buf, BUFSIZE - 1, fmt, args);
680  va_end(args);
681  }
682  ircdproto.ircd_cmd_ctcp(source, dest, buf);
683 }
684 
685 
686 
691 void pmodule_set_mod_current_buffer(void (*func) (int ac, char **av))
692 {
693  ircdproto.ircd_set_mod_current_buffer = func;
694 }
695 
696 void pmodule_cmd_svsnoop(void (*func) (char *server, int set))
697 {
698  ircdproto.ircd_cmd_svsnoop = func;
699 }
700 
701 void pmodule_cmd_remove_akill(void (*func) (char *user, char *host))
702 {
703  ircdproto.ircd_cmd_remove_akill = func;
704 }
705 
706 void pmodule_cmd_topic(void (*func)
707  (char *whosets, char *chan, char *whosetit,
708  char *topic, time_t when))
709 {
710  ircdproto.ircd_cmd_topic = func;
711 }
712 
713 void pmodule_cmd_vhost_off(void (*func) (User * u))
714 {
715  ircdproto.ircd_cmd_vhost_off = func;
716 }
717 
718 void pmodule_cmd_akill(void (*func)
719  (char *user, char *host, char *who, time_t when,
720  time_t expires, char *reason))
721 {
722  ircdproto.ircd_cmd_akill = func;
723 }
724 
725 void
726 pmodule_cmd_svskill(void (*func) (char *source, char *user, char *buf))
727 {
728  ircdproto.ircd_cmd_svskill = func;
729 }
730 
731 void pmodule_cmd_svsmode(void (*func) (User * u, int ac, char **av))
732 {
733  ircdproto.ircd_cmd_svsmode = func;
734 }
735 
736 void pmodule_cmd_372(void (*func) (char *source, char *msg))
737 {
738  ircdproto.ircd_cmd_372 = func;
739 }
740 
741 void pmodule_cmd_372_error(void (*func) (char *source))
742 {
743  ircdproto.ircd_cmd_372_error = func;
744 }
745 
746 void pmodule_cmd_375(void (*func) (char *source))
747 {
748  ircdproto.ircd_cmd_375 = func;
749 }
750 
751 void pmodule_cmd_376(void (*func) (char *source))
752 {
753  ircdproto.ircd_cmd_376 = func;
754 }
755 
756 void pmodule_cmd_nick(void (*func) (char *nick, char *name, char *modes))
757 {
758  ircdproto.ircd_cmd_nick = func;
759 }
760 
761 void pmodule_cmd_guest_nick(void (*func)
762  (char *nick, char *user, char *host,
763  char *real, char *modes))
764 {
765  ircdproto.ircd_cmd_guest_nick = func;
766 }
767 
768 void pmodule_cmd_mode(void (*func) (char *source, char *dest, char *buf))
769 {
770  ircdproto.ircd_cmd_mode = func;
771 }
772 
773 void pmodule_cmd_bot_nick(void (*func)
774  (char *nick, char *user, char *host, char *real,
775  char *modes))
776 {
777  ircdproto.ircd_cmd_bot_nick = func;
778 }
779 
780 void pmodule_cmd_kick(void (*func)
781  (char *source, char *chan, char *user, char *buf))
782 {
783  ircdproto.ircd_cmd_kick = func;
784 }
785 
786 void
787 pmodule_cmd_notice_ops(void (*func) (char *source, char *dest, char *buf))
788 {
789  ircdproto.ircd_cmd_notice_ops = func;
790 }
791 
792 void pmodule_cmd_notice(void (*func) (char *source, char *dest, char *buf))
793 {
794  ircdproto.ircd_cmd_notice = func;
795 }
796 
797 void
798 pmodule_cmd_notice2(void (*func) (char *source, char *dest, char *msg))
799 {
800  ircdproto.ircd_cmd_notice2 = func;
801 }
802 
803 void
804 pmodule_cmd_privmsg(void (*func) (char *source, char *dest, char *buf))
805 {
806  ircdproto.ircd_cmd_privmsg = func;
807 }
808 
809 void
810 pmodule_cmd_privmsg2(void (*func) (char *source, char *dest, char *msg))
811 {
812  ircdproto.ircd_cmd_privmsg2 = func;
813 }
814 
815 void
816 pmodule_cmd_serv_notice(void (*func) (char *source, char *dest, char *msg))
817 {
818  ircdproto.ircd_cmd_serv_notice = func;
819 }
820 
821 void pmodule_cmd_serv_privmsg(void (*func)
822  (char *source, char *dest, char *msg))
823 {
824  ircdproto.ircd_cmd_serv_privmsg = func;
825 }
826 
827 void pmodule_cmd_bot_chan_mode(void (*func) (char *nick, char *chan))
828 {
829  ircdproto.ircd_cmd_bot_chan_mode = func;
830 }
831 
832 void pmodule_cmd_351(void (*func) (char *source))
833 {
834  ircdproto.ircd_cmd_351 = func;
835 }
836 
837 void pmodule_cmd_quit(void (*func) (char *source, char *buf))
838 {
839  ircdproto.ircd_cmd_quit = func;
840 }
841 
842 void pmodule_cmd_pong(void (*func) (char *servname, char *who))
843 {
844  ircdproto.ircd_cmd_pong = func;
845 }
846 
847 void
848 pmodule_cmd_join(void (*func) (char *user, char *channel, time_t chantime))
849 {
850  ircdproto.ircd_cmd_join = func;
851 }
852 
853 void pmodule_cmd_unsqline(void (*func) (char *user))
854 {
855  ircdproto.ircd_cmd_unsqline = func;
856 }
857 
858 void
859 pmodule_cmd_invite(void (*func) (char *source, char *chan, char *nick))
860 {
861  ircdproto.ircd_cmd_invite = func;
862 }
863 
864 void pmodule_cmd_part(void (*func) (char *nick, char *chan, char *buf))
865 {
866  ircdproto.ircd_cmd_part = func;
867 }
868 
869 void pmodule_cmd_391(void (*func) (char *source, char *timestr))
870 {
871  ircdproto.ircd_cmd_391 = func;
872 }
873 
874 void pmodule_cmd_250(void (*func) (char *buf))
875 {
876  ircdproto.ircd_cmd_250 = func;
877 }
878 
879 void pmodule_cmd_307(void (*func) (char *buf))
880 {
881  ircdproto.ircd_cmd_307 = func;
882 }
883 
884 void pmodule_cmd_311(void (*func) (char *buf))
885 {
886  ircdproto.ircd_cmd_311 = func;
887 }
888 
889 void pmodule_cmd_312(void (*func) (char *buf))
890 {
891  ircdproto.ircd_cmd_312 = func;
892 }
893 
894 void pmodule_cmd_317(void (*func) (char *buf))
895 {
896  ircdproto.ircd_cmd_317 = func;
897 }
898 
899 void pmodule_cmd_219(void (*func) (char *source, char *letter))
900 {
901  ircdproto.ircd_cmd_219 = func;
902 }
903 
904 void pmodule_cmd_401(void (*func) (char *source, char *who))
905 {
906  ircdproto.ircd_cmd_401 = func;
907 }
908 
909 void pmodule_cmd_318(void (*func) (char *source, char *who))
910 {
911  ircdproto.ircd_cmd_318 = func;
912 }
913 
914 void pmodule_cmd_242(void (*func) (char *buf))
915 {
916  ircdproto.ircd_cmd_242 = func;
917 }
918 
919 void pmodule_cmd_243(void (*func) (char *buf))
920 {
921  ircdproto.ircd_cmd_243 = func;
922 }
923 
924 void pmodule_cmd_211(void (*func) (char *buf))
925 {
926  ircdproto.ircd_cmd_211 = func;
927 }
928 
929 void pmodule_cmd_global(void (*func) (char *source, char *buf))
930 {
931  ircdproto.ircd_cmd_global = func;
932 }
933 
934 void pmodule_cmd_global_legacy(void (*func) (char *source, char *fmt))
935 {
936  ircdproto.ircd_cmd_global_legacy = func;
937 }
938 
939 void pmodule_cmd_sqline(void (*func) (char *mask, char *reason))
940 {
941  ircdproto.ircd_cmd_sqline = func;
942 }
943 
944 void pmodule_cmd_squit(void (*func) (char *servname, char *message))
945 {
946  ircdproto.ircd_cmd_squit = func;
947 }
948 
949 void pmodule_cmd_svso(void (*func) (char *source, char *nick, char *flag))
950 {
951  ircdproto.ircd_cmd_svso = func;
952 }
953 
954 void pmodule_cmd_chg_nick(void (*func) (char *oldnick, char *newnick))
955 {
956  ircdproto.ircd_cmd_chg_nick = func;
957 }
958 
959 void
960 pmodule_cmd_svsnick(void (*func) (char *source, char *guest, time_t when))
961 {
962  ircdproto.ircd_cmd_svsnick = func;
963 }
964 
965 void
966 pmodule_cmd_vhost_on(void (*func) (char *nick, char *vIdent, char *vhost))
967 {
968  ircdproto.ircd_cmd_vhost_on = func;
969 }
970 
971 void pmodule_cmd_connect(void (*func) (int servernum))
972 {
973  ircdproto.ircd_cmd_connect = func;
974 }
975 
976 void pmodule_cmd_bob(void (*func) ())
977 {
978  ircdproto.ircd_cmd_bob = func;
979 }
980 
981 void pmodule_cmd_svshold(void (*func) (char *nick))
982 {
983  ircdproto.ircd_cmd_svshold = func;
984 }
985 
986 void pmodule_cmd_release_svshold(void (*func) (char *nick))
987 {
988  ircdproto.ircd_cmd_release_svshold = func;
989 }
990 
991 void pmodule_cmd_unsgline(void (*func) (char *mask))
992 {
993  ircdproto.ircd_cmd_unsgline = func;
994 }
995 
996 void pmodule_cmd_unszline(void (*func) (char *mask))
997 {
998  ircdproto.ircd_cmd_unszline = func;
999 }
1000 
1001 void
1002 pmodule_cmd_szline(void (*func) (char *mask, char *reason, char *whom))
1003 {
1004  ircdproto.ircd_cmd_szline = func;
1005 }
1006 
1007 void pmodule_cmd_sgline(void (*func) (char *mask, char *reason))
1008 {
1009  ircdproto.ircd_cmd_sgline = func;
1010 }
1011 
1012 void pmodule_cmd_unban(void (*func) (char *name, char *nick))
1013 {
1014  ircdproto.ircd_cmd_unban = func;
1015 }
1016 
1017 void
1018 pmodule_cmd_svsmode_chan(void (*func) (char *name, char *mode, char *nick))
1019 {
1020  ircdproto.ircd_cmd_svsmode_chan = func;
1021 }
1022 
1023 void pmodule_cmd_svid_umode(void (*func) (char *nick, time_t ts))
1024 {
1025  ircdproto.ircd_cmd_svid_umode = func;
1026 }
1027 
1028 void pmodule_cmd_nc_change(void (*func) (User * u))
1029 {
1030  ircdproto.ircd_cmd_nc_change = func;
1031 }
1032 
1033 void pmodule_cmd_svid_umode2(void (*func) (User * u, char *ts))
1034 {
1035  ircdproto.ircd_cmd_svid_umode2 = func;
1036 }
1037 
1038 void pmodule_cmd_svid_umode3(void (*func) (User * u, char *ts))
1039 {
1040  ircdproto.ircd_cmd_svid_umode3 = func;
1041 }
1042 
1043 void pmodule_cmd_ctcp(void (*func) (char *source, char *dest, char *buf))
1044 {
1045  ircdproto.ircd_cmd_ctcp = func;
1046 }
1047 
1048 void pmodule_cmd_svsjoin(void (*func)
1049  (char *source, char *nick, char *chan,
1050  char *param))
1051 {
1052  ircdproto.ircd_cmd_svsjoin = func;
1053 }
1054 
1055 void
1056 pmodule_cmd_svspart(void (*func) (char *source, char *nick, char *chan))
1057 {
1058  ircdproto.ircd_cmd_svspart = func;
1059 }
1060 
1061 void pmodule_cmd_swhois(void (*func) (char *source, char *who, char *mask))
1062 {
1063  ircdproto.ircd_cmd_swhois = func;
1064 }
1065 
1066 void pmodule_cmd_eob(void (*func) ())
1067 {
1068  ircdproto.ircd_cmd_eob = func;
1069 }
1070 
1071 void
1072 pmodule_cmd_jupe(void (*func) (char *jserver, char *who, char *reason))
1073 {
1074  ircdproto.ircd_cmd_jupe = func;
1075 }
1076 
1077 void pmodule_set_umode(void (*func) (User * user, int ac, char **av))
1078 {
1079  ircdproto.ircd_set_umode = func;
1080 }
1081 
1082 void pmodule_valid_nick(int (*func) (char *nick))
1083 {
1084  ircdproto.ircd_valid_nick = func;
1085 }
1086 
1087 void pmodule_valid_chan(int (*func) (char *chan))
1088 {
1089  ircdproto.ircd_valid_chan = func;
1090 }
1091 
1092 void pmodule_flood_mode_check(int (*func) (char *value))
1093 {
1094  ircdproto.ircd_flood_mode_check = func;
1095 }
1096 
1097 void pmodule_ircd_var(IRCDVar * ircdvar)
1098 {
1099  ircd = ircdvar;
1100 }
1101 
1103 {
1104  ircdcap = cap;
1105 }
1106 
1108 {
1109  version_protocol = sstrdup(version);
1110 }
1111 
1113 {
1114  cbmodeinfos = modeinfos;
1115 }
1116 
1118 {
1119  int i = 0;
1120  for (i = 0; i < 128; i++) {
1121  cumodes[i] = modes[i];
1122  }
1123 }
1124 
1126 {
1127  flood_mode_char_set = sstrdup(mode);
1128 }
1129 
1131 {
1133 }
1134 
1136 {
1137  int i = 0;
1138  for (i = 0; i < 128; i++) {
1139  cbmodes[i] = modes[i];
1140  }
1141 }
1142 
1144 {
1145  int i = 0;
1146  for (i = 0; i < 128; i++) {
1147  cmmodes[i] = modes[i];
1148  }
1149 }
1150 
1151 void pmodule_ircd_csmodes(char mode[128])
1152 {
1153  int i = 0;
1154  for (i = 0; i < 128; i++) {
1155  csmodes[i] = mode[i];
1156  }
1157 }
1158 
1159 void pmodule_jointhrottle_mode_check(int (*func) (char *value))
1160 {
1161  ircdproto.ircd_jointhrottle_mode_check = func;
1162 }
1163 
1165 {
1166  UseTSMODE = use;
1167 }
1168 
1171 void pmodule_invis_umode(int mode)
1172 {
1173  ircd_modes.user_invis = mode;
1174 }
1175 
1176 void pmodule_oper_umode(int mode)
1177 {
1178  ircd_modes.user_oper = mode;
1179 }
1180 
1181 void pmodule_invite_cmode(int mode)
1182 {
1183  ircd_modes.chan_invite = mode;
1184 }
1185 
1186 void pmodule_secret_cmode(int mode)
1187 {
1188  ircd_modes.chan_secret = mode;
1189 }
1190 
1192 {
1193  ircd_modes.chan_private = mode;
1194 }
1195 
1196 void pmodule_key_mode(int mode)
1197 {
1198  ircd_modes.chan_key = mode;
1199 }
1200 
1201 void pmodule_limit_mode(int mode)
1202 {
1203  ircd_modes.chan_limit = mode;
1204 }
1205 
1207 {
1208  ircd_modes.chan_perm = mode;
1209 }
1210 
1212 {
1213  return ircd_modes.user_invis;
1214 }
1215 
1217 {
1218  return ircd_modes.user_oper;
1219 }
1220 
1222 {
1223  return ircd_modes.chan_invite;
1224 }
1225 
1227 {
1228  return ircd_modes.chan_secret;
1229 }
1230 
1232 {
1233  return ircd_modes.chan_private;
1234 }
1235 
1237 {
1238  return ircd_modes.chan_key;
1239 }
1240 
1242 {
1243  return ircd_modes.chan_limit;
1244 }
1245 
1247 {
1248  return ircd_modes.chan_perm;
1249 }
1250 
void anope_cmd_topic(char *whosets, char *chan, char *whosetit, char *topic, time_t when)
Definition: ircd.c:145
void(* ircd_cmd_global)(char *source, char *buf)
Definition: services.h:1202
int anope_get_oper_mode()
Definition: ircd.c:1216
void anope_cmd_211(const char *fmt,...)
Definition: ircd.c:493
void(* ircd_cmd_svshold)(char *nick)
Definition: services.h:1212
void(* ircd_cmd_sgline)(char *mask, char *reason)
Definition: services.h:1217
void pmodule_cmd_eob(void(*func)())
Definition: ircd.c:1066
int chan_private
Definition: services.h:1242
void pmodule_cmd_notice2(void(*func)(char *source, char *dest, char *msg))
Definition: ircd.c:798
void pmodule_cmd_unszline(void(*func)(char *mask))
Definition: ircd.c:996
int anope_get_invite_mode()
Definition: ircd.c:1221
void(* ircd_set_mod_current_buffer)(int ac, char **av)
Definition: services.h:1158
void anope_cmd_svsjoin(char *source, char *nick, char *chan, char *param)
Definition: ircd.c:624
void anope_cmd_quit(char *source, const char *fmt,...)
Definition: ircd.c:334
void pmodule_cmd_squit(void(*func)(char *servname, char *message))
Definition: ircd.c:944
char * flood_mode_char_remove
Definition: ircd.c:29
void pmodule_invis_umode(int mode)
Definition: ircd.c:1171
void anope_cmd_401(char *source, char *who)
Definition: ircd.c:457
void(* ircd_cmd_svsnick)(char *source, char *guest, time_t when)
Definition: services.h:1208
void anope_cmd_sgline(char *mask, char *reason)
Definition: ircd.c:589
void anope_cmd_swhois(char *source, char *who, char *mask)
Definition: ircd.c:634
void anope_cmd_guest_nick(char *nick, char *user, char *host, char *real, char *modes)
Definition: ircd.c:205
void anope_cmd_privmsg(char *source, char *dest, const char *fmt,...)
Definition: ircd.c:296
void(* ircd_cmd_svsmode_chan)(char *name, char *mode, char *nick)
Definition: services.h:1219
void anope_cmd_unsgline(char *mask)
Definition: ircd.c:574
int anope_set_mod_current_buffer(int ac, char **av)
Definition: ircd.c:120
E int snprintf(char *buf, size_t size, const char *fmt,...)
Definition: compat.c:37
void pmodule_cmd_211(void(*func)(char *buf))
Definition: ircd.c:924
void pmodule_ircd_cbmodeinfos(CBModeInfo *modeinfos)
Definition: ircd.c:1112
void(* ircd_cmd_unsgline)(char *mask)
Definition: services.h:1214
void anope_cmd_svsnick(char *source, char *guest, time_t when)
Definition: ircd.c:544
void anope_cmd_svid_umode2(User *u, char *ts)
Definition: ircd.c:614
void(* ircd_cmd_svspart)(char *source, char *nick, char *chan)
Definition: services.h:1226
void anope_cmd_global(char *source, const char *fmt,...)
Definition: ircd.c:506
void pmodule_jointhrottle_mode_check(int(*func)(char *value))
Definition: ircd.c:1159
void pmodule_cmd_swhois(void(*func)(char *source, char *who, char *mask))
Definition: ircd.c:1061
int anope_get_secret_mode()
Definition: ircd.c:1226
void anope_cmd_nick(char *nick, char *name, char *modes)
Definition: ircd.c:200
void pmodule_cmd_307(void(*func)(char *buf))
Definition: ircd.c:879
CBMode cbmodes[128]
Definition: ircd.c:30
void(* ircd_cmd_sqline)(char *mask, char *reason)
Definition: services.h:1204
void anope_cmd_notice_ops(char *source, char *dest, const char *fmt,...)
Definition: ircd.c:244
void(* ircd_cmd_nc_change)(User *u)
Definition: services.h:1221
int anope_jointhrottle_mode_check(char *value)
Definition: ircd.c:649
IRCDCAPAB * ircdcap
Definition: ircd.c:24
void(* ircd_cmd_ctcp)(char *source, char *dest, char *buf)
Definition: services.h:1224
int chan_limit
Definition: services.h:1244
int anope_get_key_mode()
Definition: ircd.c:1236
void(* ircd_cmd_391)(char *source, char *timestr)
Definition: services.h:1190
void(* ircd_cmd_svid_umode)(char *nick, time_t ts)
Definition: services.h:1220
void anope_cmd_375(char *source)
Definition: ircd.c:190
void(* ircd_cmd_unszline)(char *mask)
Definition: services.h:1215
void(* ircd_cmd_311)(char *buf)
Definition: services.h:1193
void pmodule_ircd_cumodes(CUMode modes[128])
Definition: ircd.c:1117
void pmodule_cmd_quit(void(*func)(char *source, char *buf))
Definition: ircd.c:837
void pmodule_secret_cmode(int mode)
Definition: ircd.c:1186
void pmodule_cmd_svskill(void(*func)(char *source, char *user, char *buf))
Definition: ircd.c:726
void pmodule_cmd_391(void(*func)(char *source, char *timestr))
Definition: ircd.c:869
void pmodule_cmd_bot_nick(void(*func)(char *nick, char *user, char *host, char *real, char *modes))
Definition: ircd.c:773
CMMode cmmodes[128]
Definition: ircd.c:31
void pmodule_cmd_250(void(*func)(char *buf))
Definition: ircd.c:874
void(* ircd_cmd_bot_chan_mode)(char *nick, char *chan)
Definition: services.h:1182
void anope_cmd_privmsg2(char *source, char *dest, char *msg)
Definition: ircd.c:309
void(* ircd_cmd_376)(char *source)
Definition: services.h:1169
void(* ircd_cmd_mode)(char *source, char *dest, char *buf)
Definition: services.h:1172
void(* ircd_cmd_kick)(char *source, char *chan, char *user, char *buf)
Definition: services.h:1174
void anope_cmd_mode(char *source, char *dest, const char *fmt,...)
Definition: ircd.c:211
void pmodule_cmd_svsmode(void(*func)(User *u, int ac, char **av))
Definition: ircd.c:731
CBModeInfo * cbmodeinfos
Definition: ircd.c:26
void pmodule_cmd_376(void(*func)(char *source))
Definition: ircd.c:751
void anope_cmd_372_error(char *source)
Definition: ircd.c:185
void pmodule_cmd_vhost_on(void(*func)(char *nick, char *vIdent, char *vhost))
Definition: ircd.c:966
void(* ircd_cmd_401)(char *source, char *who)
Definition: services.h:1197
void anope_cmd_bot_nick(char *nick, char *user, char *host, char *real, char *modes)
Definition: ircd.c:224
void pmodule_cmd_219(void(*func)(char *source, char *letter))
Definition: ircd.c:899
void pmodule_valid_nick(int(*func)(char *nick))
Definition: ircd.c:1082
void anope_cmd_svskill(char *source, char *user, const char *fmt,...)
Definition: ircd.c:162
void pmodule_cmd_global(void(*func)(char *source, char *buf))
Definition: ircd.c:929
void(* ircd_cmd_squit)(char *servname, char *message)
Definition: services.h:1205
void pmodule_cmd_svid_umode(void(*func)(char *nick, time_t ts))
Definition: ircd.c:1023
void pmodule_cmd_243(void(*func)(char *buf))
Definition: ircd.c:919
void pmodule_set_umode(void(*func)(User *user, int ac, char **av))
Definition: ircd.c:1077
void pmodule_cmd_svshold(void(*func)(char *nick))
Definition: ircd.c:981
void pmodule_cmd_topic(void(*func)(char *whosets, char *chan, char *whosetit, char *topic, time_t when))
Definition: ircd.c:706
void(* ircd_cmd_375)(char *source)
Definition: services.h:1168
void pmodule_cmd_join(void(*func)(char *user, char *channel, time_t chantime))
Definition: ircd.c:848
void pmodule_valid_chan(int(*func)(char *chan))
Definition: ircd.c:1087
void anope_cmd_svid_umode3(User *u, char *ts)
Definition: ircd.c:619
void anope_cmd_svsnoop(char *server, int set)
Definition: ircd.c:135
void(* ircd_cmd_unsqline)(char *user)
Definition: services.h:1187
void(* ircd_cmd_bot_nick)(char *nick, char *user, char *host, char *real, char *modes)
Definition: services.h:1173
void(* ircd_cmd_remove_akill)(char *user, char *host)
Definition: services.h:1160
int chan_secret
Definition: services.h:1241
void anope_cmd_250(const char *fmt,...)
Definition: ircd.c:387
char * version_protocol
Definition: ircd.c:25
void(* ircd_cmd_swhois)(char *source, char *who, char *mask)
Definition: services.h:1227
void pmodule_cmd_pong(void(*func)(char *servname, char *who))
Definition: ircd.c:842
void anope_cmd_jupe(char *jserver, char *who, char *reason)
Definition: ircd.c:656
void pmodule_cmd_svso(void(*func)(char *source, char *nick, char *flag))
Definition: ircd.c:949
void(* ircd_cmd_eob)()
Definition: services.h:1228
void pmodule_cmd_remove_akill(void(*func)(char *user, char *host))
Definition: ircd.c:701
void(* ircd_cmd_svsjoin)(char *source, char *nick, char *chan, char *param)
Definition: services.h:1225
void pmodule_cmd_svsjoin(void(*func)(char *source, char *nick, char *chan, char *param))
Definition: ircd.c:1048
void anope_cmd_join(char *user, char *channel, time_t chantime)
Definition: ircd.c:352
void pmodule_invite_cmode(int mode)
Definition: ircd.c:1181
void pmodule_cmd_serv_notice(void(*func)(char *source, char *dest, char *msg))
Definition: ircd.c:816
void anope_cmd_317(const char *fmt,...)
Definition: ircd.c:439
void anope_cmd_global_legacy(char *source, char *fmt)
Definition: ircd.c:519
void anope_cmd_vhost_on(char *nick, char *vIdent, char *vhost)
Definition: ircd.c:549
void anope_cmd_ctcp(char *source, char *dest, const char *fmt,...)
Definition: ircd.c:672
void(* ircd_cmd_szline)(char *mask, char *reason, char *whom)
Definition: services.h:1216
E char * sstrdup(const char *s)
Definition: memory.c:105
IRCDVar * ircd
Definition: ircd.c:23
int anope_valid_nick(char *nick)
Definition: ircd.c:661
void pmodule_ircd_useTSMode(int use)
Definition: ircd.c:1164
int chan_perm
Definition: services.h:1245
void pmodule_cmd_global_legacy(void(*func)(char *source, char *fmt))
Definition: ircd.c:934
void pmodule_cmd_nick(void(*func)(char *nick, char *name, char *modes))
Definition: ircd.c:756
char csmodes[128]
Definition: ircd.c:32
void pmodule_cmd_242(void(*func)(char *buf))
Definition: ircd.c:914
void pmodule_oper_umode(int mode)
Definition: ircd.c:1176
void pmodule_cmd_connect(void(*func)(int servernum))
Definition: ircd.c:971
void(* ircd_cmd_topic)(char *whosets, char *chan, char *whosetit, char *topic, time_t when)
Definition: services.h:1161
void pmodule_cmd_bob(void(*func)())
Definition: ircd.c:976
int anope_get_private_mode()
Definition: ircd.c:1231
void(* ircd_cmd_join)(char *user, char *channel, time_t chantime)
Definition: services.h:1186
int user_invis
Definition: services.h:1238
void anope_cmd_svso(char *source, char *nick, char *flag)
Definition: ircd.c:534
void anope_cmd_243(const char *fmt,...)
Definition: ircd.c:480
void pmodule_cmd_311(void(*func)(char *buf))
Definition: ircd.c:884
void pmodule_cmd_375(void(*func)(char *source))
Definition: ircd.c:746
void pmodule_set_mod_current_buffer(void(*func)(int ac, char **av))
Definition: ircd.c:691
void(* ircd_cmd_notice2)(char *source, char *dest, char *msg)
Definition: services.h:1177
void pmodule_cmd_notice_ops(void(*func)(char *source, char *dest, char *buf))
Definition: ircd.c:787
void anope_cmd_vhost_off(User *u)
Definition: ircd.c:151
void(* ircd_cmd_serv_privmsg)(char *source, char *dest, char *msg)
Definition: services.h:1181
void anope_cmd_svshold(char *nick)
Definition: ircd.c:564
void anope_cmd_219(char *source, char *letter)
Definition: ircd.c:452
void(* ircd_cmd_global_legacy)(char *source, char *fmt)
Definition: services.h:1203
void anope_cmd_notice2(char *source, char *dest, char *msg)
Definition: ircd.c:270
int UseTSMODE
Definition: ircd.c:33
void(* ircd_cmd_notice_ops)(char *source, char *dest, char *buf)
Definition: services.h:1175
void pmodule_cmd_svsnoop(void(*func)(char *server, int set))
Definition: ircd.c:696
void(* ircd_cmd_307)(char *buf)
Definition: services.h:1192
void pmodule_cmd_sqline(void(*func)(char *mask, char *reason))
Definition: ircd.c:939
void pmodule_cmd_svid_umode2(void(*func)(User *u, char *ts))
Definition: ircd.c:1033
void(* ircd_cmd_243)(char *buf)
Definition: services.h:1200
void(* ircd_cmd_211)(char *buf)
Definition: services.h:1201
void pmodule_ircd_cbmodes(CBMode modes[128])
Definition: ircd.c:1135
void anope_cmd_kick(char *source, char *chan, char *user, const char *fmt,...)
Definition: ircd.c:230
void pmodule_cmd_ctcp(void(*func)(char *source, char *dest, char *buf))
Definition: ircd.c:1043
void pmodule_cmd_invite(void(*func)(char *source, char *chan, char *nick))
Definition: ircd.c:859
void anope_cmd_invite(char *source, char *chan, char *nick)
Definition: ircd.c:362
void pmodule_cmd_jupe(void(*func)(char *jserver, char *who, char *reason))
Definition: ircd.c:1072
void pmodule_ircd_cap(IRCDCAPAB *cap)
Definition: ircd.c:1102
void anope_cmd_squit(char *servname, char *message)
Definition: ircd.c:529
void anope_cmd_351(char *source)
Definition: ircd.c:329
void pmodule_cmd_unsqline(void(*func)(char *user))
Definition: ircd.c:853
void(* ircd_cmd_372_error)(char *source)
Definition: services.h:1167
E int servernum
Definition: extern.h:615
void(* ircd_cmd_svid_umode2)(User *u, char *ts)
Definition: services.h:1222
void anope_cmd_376(char *source)
Definition: ircd.c:195
void(* ircd_cmd_notice)(char *source, char *dest, char *buf)
Definition: services.h:1176
IRCDModes ircd_modes
Definition: ircd.c:18
void anope_cmd_notice(char *source, char *dest, const char *fmt,...)
Definition: ircd.c:257
void anope_cmd_sqline(char *mask, char *reason)
Definition: ircd.c:524
void pmodule_ircd_csmodes(char mode[128])
Definition: ircd.c:1151
void anope_cmd_bot_chan_mode(char *nick, char *chan)
Definition: ircd.c:324
void anope_cmd_release_svshold(char *nick)
Definition: ircd.c:569
void pmodule_cmd_privmsg(void(*func)(char *source, char *dest, char *buf))
Definition: ircd.c:804
void(* ircd_cmd_351)(char *source)
Definition: services.h:1183
void pmodule_permchan_mode(int mode)
Definition: ircd.c:1206
void anope_cmd_pong(char *servname, char *who)
Definition: ircd.c:347
void pmodule_key_mode(int mode)
Definition: ircd.c:1196
void pmodule_cmd_317(void(*func)(char *buf))
Definition: ircd.c:894
void(* ircd_cmd_312)(char *buf)
Definition: services.h:1194
void pmodule_cmd_svsnick(void(*func)(char *source, char *guest, time_t when))
Definition: ircd.c:960
void(* ircd_cmd_372)(char *source, char *msg)
Definition: services.h:1166
void anope_cmd_bob()
Definition: ircd.c:559
void(* ircd_cmd_219)(char *source, char *letter)
Definition: services.h:1196
void pmodule_cmd_372(void(*func)(char *source, char *msg))
Definition: ircd.c:736
void pmodule_ircd_var(IRCDVar *ircdvar)
Definition: ircd.c:1097
void pmodule_cmd_unsgline(void(*func)(char *mask))
Definition: ircd.c:991
void pmodule_cmd_kick(void(*func)(char *source, char *chan, char *user, char *buf))
Definition: ircd.c:780
void pmodule_cmd_unban(void(*func)(char *name, char *nick))
Definition: ircd.c:1012
void pmodule_cmd_mode(void(*func)(char *source, char *dest, char *buf))
Definition: ircd.c:768
void anope_cmd_remove_akill(char *user, char *host)
Definition: ircd.c:140
void pmodule_cmd_part(void(*func)(char *nick, char *chan, char *buf))
Definition: ircd.c:864
int(* ircd_valid_nick)(char *nick)
Definition: services.h:1231
void(* ircd_cmd_svskill)(char *source, char *user, char *buf)
Definition: services.h:1164
void(* ircd_cmd_svid_umode3)(User *u, char *ts)
Definition: services.h:1223
void pmodule_cmd_svspart(void(*func)(char *source, char *nick, char *chan))
Definition: ircd.c:1056
void anope_cmd_serv_privmsg(char *source, char *dest, char *msg)
Definition: ircd.c:319
void pmodule_ircd_version(char *version)
Definition: ircd.c:1107
void(* ircd_cmd_part)(char *nick, char *chan, char *buf)
Definition: services.h:1189
void anope_cmd_311(const char *fmt,...)
Definition: ircd.c:413
int anope_valid_chan(char *chan)
Definition: ircd.c:666
void pmodule_flood_mode_check(int(*func)(char *value))
Definition: ircd.c:1092
void(* ircd_cmd_svso)(char *source, char *nick, char *flag)
Definition: services.h:1206
E int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
void(* ircd_cmd_vhost_on)(char *nick, char *vIdent, char *vhost)
Definition: services.h:1209
void anope_cmd_391(char *source, char *timestr)
Definition: ircd.c:382
void pmodule_cmd_guest_nick(void(*func)(char *nick, char *user, char *host, char *real, char *modes))
Definition: ircd.c:761
void(* ircd_cmd_317)(char *buf)
Definition: services.h:1195
void pmodule_cmd_351(void(*func)(char *source))
Definition: ircd.c:832
void pmodule_cmd_vhost_off(void(*func)(User *u))
Definition: ircd.c:713
void pmodule_cmd_372_error(void(*func)(char *source))
Definition: ircd.c:741
char * flood_mode_char_set
Definition: ircd.c:28
void pmodule_cmd_notice(void(*func)(char *source, char *dest, char *buf))
Definition: ircd.c:792
int chan_key
Definition: services.h:1243
void anope_cmd_eob()
Definition: ircd.c:639
void(* ircd_cmd_318)(char *source, char *who)
Definition: services.h:1198
void pmodule_ircd_flood_mode_char_remove(char *mode)
Definition: ircd.c:1130
void(* ircd_cmd_svsmode)(User *u, int ac, char **av)
Definition: services.h:1165
void(* ircd_cmd_svsnoop)(char *server, int set)
Definition: services.h:1159
void pmodule_cmd_release_svshold(void(*func)(char *nick))
Definition: ircd.c:986
CUMode cumodes[128]
Definition: ircd.c:27
void(* ircd_cmd_guest_nick)(char *nick, char *user, char *host, char *real, char *modes)
Definition: services.h:1171
void pmodule_ircd_cmmodes(CMMode modes[128])
Definition: ircd.c:1143
void pmodule_limit_mode(int mode)
Definition: ircd.c:1201
int jmode
Definition: services.h:374
void(* ircd_cmd_250)(char *buf)
Definition: services.h:1191
void(* ircd_set_umode)(User *user, int ac, char **av)
Definition: services.h:1230
void(* ircd_cmd_serv_notice)(char *source, char *dest, char *msg)
Definition: services.h:1180
void anope_cmd_svsmode_chan(char *name, char *mode, char *nick)
Definition: ircd.c:599
void pmodule_cmd_318(void(*func)(char *source, char *who))
Definition: ircd.c:909
void pmodule_private_cmode(int mode)
Definition: ircd.c:1191
void pmodule_cmd_nc_change(void(*func)(User *u))
Definition: ircd.c:1028
void(* ircd_cmd_chg_nick)(char *oldnick, char *newnick)
Definition: services.h:1207
void(* ircd_cmd_privmsg)(char *source, char *dest, char *buf)
Definition: services.h:1178
void(* ircd_cmd_quit)(char *source, char *buf)
Definition: services.h:1184
void(* ircd_cmd_privmsg2)(char *source, char *dest, char *msg)
Definition: services.h:1179
void anope_cmd_akill(char *user, char *host, char *who, time_t when, time_t expires, char *reason)
Definition: ircd.c:156
void anope_cmd_318(char *source, char *who)
Definition: ircd.c:462
void anope_cmd_unsqline(char *user)
Definition: ircd.c:357
void anope_set_umode(User *user, int ac, char **av)
Definition: ircd.c:130
void anope_cmd_unban(char *name, char *nick)
Definition: ircd.c:594
void anope_cmd_242(const char *fmt,...)
Definition: ircd.c:467
void anope_cmd_svspart(char *source, char *nick, char *chan)
Definition: ircd.c:629
void pmodule_cmd_sgline(void(*func)(char *mask, char *reason))
Definition: ircd.c:1007
int(* ircd_flood_mode_check)(char *value)
Definition: services.h:1233
void pmodule_cmd_privmsg2(void(*func)(char *source, char *dest, char *msg))
Definition: ircd.c:810
char version[1024]
Definition: version.sh.c:24
void anope_cmd_serv_notice(char *source, char *dest, char *msg)
Definition: ircd.c:314
int anope_flood_mode_check(char *value)
Definition: ircd.c:644
void initIrcdProto()
Definition: ircd.c:38
void pmodule_cmd_chg_nick(void(*func)(char *oldnick, char *newnick))
Definition: ircd.c:954
void anope_cmd_372(char *source, char *msg)
Definition: ircd.c:180
void(* ircd_cmd_242)(char *buf)
Definition: services.h:1199
void(* ircd_cmd_vhost_off)(User *u)
Definition: services.h:1162
void(* ircd_cmd_pong)(char *servname, char *who)
Definition: services.h:1185
void anope_cmd_szline(char *mask, char *reason, char *whom)
Definition: ircd.c:584
int chan_invite
Definition: services.h:1240
void pmodule_cmd_bot_chan_mode(void(*func)(char *nick, char *chan))
Definition: ircd.c:827
void anope_cmd_312(const char *fmt,...)
Definition: ircd.c:426
void anope_cmd_307(const char *fmt,...)
Definition: ircd.c:400
int(* ircd_valid_chan)(char *chan)
Definition: services.h:1232
void(* ircd_cmd_akill)(char *user, char *host, char *who, time_t when, time_t expires, char *reason)
Definition: services.h:1163
void anope_cmd_chg_nick(char *oldnick, char *newnick)
Definition: ircd.c:539
void pmodule_cmd_312(void(*func)(char *buf))
Definition: ircd.c:889
void(* ircd_cmd_invite)(char *source, char *chan, char *nick)
Definition: services.h:1188
void(* ircd_cmd_unban)(char *name, char *nick)
Definition: services.h:1218
void pmodule_cmd_akill(void(*func)(char *user, char *host, char *who, time_t when, time_t expires, char *reason))
Definition: ircd.c:718
void anope_cmd_nc_change(User *u)
Definition: ircd.c:609
void(* ircd_cmd_nick)(char *nick, char *name, char *modes)
Definition: services.h:1170
void anope_cmd_svsmode(User *u, int ac, char **av)
Definition: ircd.c:175
void pmodule_cmd_szline(void(*func)(char *mask, char *reason, char *whom))
Definition: ircd.c:1002
void anope_cmd_svid_umode(char *nick, time_t ts)
Definition: ircd.c:604
void pmodule_cmd_svid_umode3(void(*func)(User *u, char *ts))
Definition: ircd.c:1038
void(* ircd_cmd_connect)(int servernum)
Definition: services.h:1210
int anope_get_permchan_mode()
Definition: ircd.c:1246
void pmodule_cmd_401(void(*func)(char *source, char *who))
Definition: ircd.c:904
void pmodule_cmd_serv_privmsg(void(*func)(char *source, char *dest, char *msg))
Definition: ircd.c:821
void anope_cmd_connect(int servernum)
Definition: ircd.c:554
int(* ircd_jointhrottle_mode_check)(char *value)
Definition: services.h:1234
void anope_cmd_part(char *nick, char *chan, const char *fmt,...)
Definition: ircd.c:367
void pmodule_ircd_flood_mode_char_set(char *mode)
Definition: ircd.c:1125
void anope_cmd_action(char *source, char *dest, const char *fmt,...)
Definition: ircd.c:275
IRCDProto ircdproto
Definition: ircd.c:17
int anope_get_invis_mode()
Definition: ircd.c:1211
#define BUFSIZE
Definition: config.h:47
void(* ircd_cmd_bob)()
Definition: services.h:1211
void(* ircd_cmd_jupe)(char *jserver, char *who, char *reason)
Definition: services.h:1229
int user_oper
Definition: services.h:1239
void anope_cmd_unszline(char *mask)
Definition: ircd.c:579
void(* ircd_cmd_release_svshold)(char *nick)
Definition: services.h:1213
int anope_get_limit_mode()
Definition: ircd.c:1241
void pmodule_cmd_svsmode_chan(void(*func)(char *name, char *mode, char *nick))
Definition: ircd.c:1018