/[svn]/ircd-hybrid/branches/8.2.x/include/ircd.h
ViewVC logotype

Contents of /ircd-hybrid/branches/8.2.x/include/ircd.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8799 - (show annotations)
Sat Jan 19 00:22:51 2019 UTC (3 years, 7 months ago) by michael
File MIME type: text/x-csrc
File size: 3558 byte(s)
- Use bool for SetOptions.autoconn

1 /*
2 * ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
3 *
4 * Copyright (c) 1997-2019 ircd-hybrid development team
5 *
6 * This program 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 2 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 this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
19 * USA
20 */
21
22 /*! \file ircd.h
23 * \brief A header for the ircd startup routines.
24 * \version $Id$
25 */
26
27
28 #ifndef INCLUDED_ircd_h
29 #define INCLUDED_ircd_h
30
31 #include "ircd_defs.h"
32 #include "config.h"
33
34
35 struct SetOptions
36 {
37 bool autoconn; /* autoconn enabled for all servers? */
38 unsigned int maxclients;
39 unsigned int floodcount; /* Number of messages in 'floodtime' seconds */
40 unsigned int floodtime;
41 unsigned int joinfloodtime;
42 unsigned int joinfloodcount;
43 unsigned int ident_timeout; /* timeout for identd lookups */
44 unsigned int spam_num;
45 unsigned int spam_time;
46 };
47
48 /*
49 * statistics structures
50 */
51 struct ServerStatistics
52 {
53 uintmax_t is_cbs; /* bytes sent to clients */
54 uintmax_t is_cbr; /* bytes received from clients */
55 uintmax_t is_sbs; /* bytes sent to servers */
56 uintmax_t is_sbr; /* bytes received from servers */
57
58 uintmax_t is_cti; /* time spent connected by clients */
59 uintmax_t is_sti; /* time spent connected by servers */
60
61 unsigned int is_cl; /* number of client connections */
62 unsigned int is_sv; /* number of server connections */
63 unsigned int is_ni; /* connection but no idea who it was */
64 unsigned int is_ac; /* connections accepted */
65 unsigned int is_ref; /* accepts refused */
66 unsigned int is_unco; /* unknown commands */
67 unsigned int is_wrdi; /* command going in wrong direction */
68 unsigned int is_unpf; /* unknown prefix */
69 unsigned int is_empt; /* empty message */
70 unsigned int is_num; /* numeric message */
71 unsigned int is_kill; /* number of kills generated on collisions */
72 unsigned int is_asuc; /* successful auth requests */
73 unsigned int is_abad; /* bad auth requests */
74 };
75
76 struct Counter
77 {
78 uintmax_t totalrestartcount; /* Total client count ever */
79 unsigned int oper; /* Opers */
80 unsigned int invisi; /* invisible clients */
81 unsigned int max_loc; /* MAX local clients */
82 unsigned int max_tot; /* MAX global clients */
83 unsigned int max_loc_con; /* MAX local connection count (clients + server) */
84 };
85
86 struct ServerState_t
87 {
88 bool foreground;
89 };
90
91 struct ServerTime
92 {
93 uintmax_t tv_sec, tv_usec;
94 };
95
96
97 extern char **myargv;
98 extern const char *logFileName;
99 extern const char *pidFileName;
100 extern bool dorehash;
101 extern bool doremotd;
102 extern struct Counter Count;
103 extern struct ServerStatistics ServerStats;
104 extern struct SetOptions GlobalSetOptions;
105 extern struct ServerState_t server_state;
106 extern struct event event_write_links_file;
107 extern struct ServerTime SystemTime;
108 #define CurrentTime SystemTime.tv_sec
109
110 extern void set_time(void);
111 #endif

Properties

Name Value
svn:eol-style native
svn:keywords Id

svnadmin@ircd-hybrid.org
ViewVC Help
Powered by ViewVC 1.1.28