ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/include/ircd.h
Revision: 7858
Committed: Tue Nov 8 20:06:16 2016 UTC (8 years, 9 months ago) by michael
Content type: text/x-chdr
File size: 3986 byte(s)
Log Message:
- Import FLOODTIME changes from p4

File Contents

# Content
1 /*
2 * ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
3 *
4 * Copyright (c) 1997-2016 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 unsigned int maxclients;
38 unsigned int autoconn; /* autoconn enabled for all servers? */
39 int floodcount; /* Number of messages in 'floodtime' seconds */
40 int floodtime;
41 unsigned int joinfloodtime;
42 unsigned int joinfloodcount;
43 unsigned int ident_timeout; /* timeout for identd lookups */
44 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 myserver; /* my servers */
80 unsigned int oper; /* Opers */
81 unsigned int local; /* Local Clients */
82 unsigned int total; /* total clients */
83 unsigned int invisi; /* invisible clients */
84 unsigned int max_loc; /* MAX local clients */
85 unsigned int max_tot; /* MAX global clients */
86 unsigned int max_loc_con; /* MAX local connection count (clients + server) */
87 unsigned int max_loc_cli; /* XXX This is redundant - Max local client count */
88 };
89
90 struct ServerState_t
91 {
92 unsigned int foreground;
93 };
94
95 struct ServerTime
96 {
97 uintmax_t tv_sec, tv_usec;
98 };
99
100
101 #ifdef HAVE_LIBGEOIP
102 extern GeoIP *GeoIPv4_ctx;
103 extern GeoIP *GeoIPv6_ctx;
104 #endif
105 extern char **myargv;
106 extern const char *infotext[];
107 extern const char *serno;
108 extern const char *ircd_version;
109 extern const char *logFileName;
110 extern const char *pidFileName;
111 extern unsigned int dorehash;
112 extern unsigned int doremotd;
113 extern struct Counter Count;
114 extern struct ServerStatistics ServerStats;
115 extern struct SetOptions GlobalSetOptions;
116 extern struct ServerState_t server_state;
117 extern struct event event_write_links_file;
118 extern struct ServerTime SystemTime;
119 #define CurrentTime SystemTime.tv_sec
120
121 extern void set_time(void);
122 #endif

Properties

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