]> jfr.im git - irc/evilnet/x3.git/blob - src/opserv.h
Couple of srvx updates.
[irc/evilnet/x3.git] / src / opserv.h
1 /* opserv.h - IRC Operator assistant service
2 * Copyright 2000-2004 srvx Development Team
3 *
4 * This file is part of x3.
5 *
6 * x3 is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with srvx; if not, write to the Free Software Foundation,
18 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
19 */
20
21 #ifndef _opserv_h
22 #define _opserv_h
23
24 #define DEFCON_NO_NEW_CHANNELS 1 /* No New Channel Registrations */
25 #define DEFCON_NO_NEW_NICKS 2 /* No New Nick Registrations */
26 #define DEFCON_NO_MODE_CHANGE 4 /* No channel MODE changes */
27 #define DEFCON_FORCE_CHAN_MODES 8 /* Force Chan Mode */
28 #define DEFCON_REDUCE_SESSION 16 /* Reduce Session Limit */
29 #define DEFCON_NO_NEW_CLIENTS 32 /* Kill any NEW clients */
30 #define DEFCON_OPER_ONLY 64 /* Restrict services to oper's only */
31 #define DEFCON_SILENT_OPER_ONLY 128 /* Silently ignore non-opers */
32 #define DEFCON_GLINE_NEW_CLIENTS 256 /* Gline any new clients */
33 #define DEFCON_NO_NEW_MEMOS 512 /* No New Memos Sent */
34 #define DEFCON_SHUN_NEW_CLIENTS 1024 /* Shun any new clients */
35
36 extern int DefCon[6];
37 extern int checkDefCon(int level);
38 extern void DefConProcess(struct userNode *user);
39 extern void defcon_timeout(UNUSED_ARG(void *data));
40
41 void init_opserv(const char *nick);
42 unsigned int gag_create(const char *mask, const char *owner, const char *reason, time_t expires);
43 int opserv_bad_channel(const char *name);
44 struct routingPlan* opserv_add_routing_plan(const char *name);
45 unsigned int opserv_conf_admin_level();
46 void routing_handle_connect_failure(struct server *source, char *server, char *message);
47 int activate_routing(struct svccmd *cmd, struct userNode *user, char *plan_name);
48 void routing_handle_squit(char *server, char* uplink, char *message);
49 void routing_handle_connect(char *server, char *uplink);
50 void reroute_timer_reset(unsigned int time);
51 void routing_init();
52
53 #endif