ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/branches/8.2.x/include/ircd.h
Revision: 8280
Committed: Tue Feb 20 19:30:33 2018 UTC (6 years, 1 month ago) by michael
Content type: text/x-chdr
File size: 3753 byte(s)
Log Message:
- Update copyright years

File Contents

# Content
1 /*
2 * ircd-hybrid: an advanced, lightweight Internet Relay Chat Daemon (ircd)
3 *
4 * Copyright (c) 1997-2018 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 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 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 unsigned int foreground;
89 };
90
91 struct ServerTime
92 {
93 uintmax_t tv_sec, tv_usec;
94 };
95
96
97 #ifdef HAVE_LIBGEOIP
98 extern GeoIP *GeoIPv4_ctx;
99 extern GeoIP *GeoIPv6_ctx;
100 #endif
101 extern char **myargv;
102 extern const char *infotext[];
103 extern const char *serno;
104 extern const char *ircd_version;
105 extern const char *logFileName;
106 extern const char *pidFileName;
107 extern unsigned int dorehash;
108 extern unsigned int doremotd;
109 extern struct Counter Count;
110 extern struct ServerStatistics ServerStats;
111 extern struct SetOptions GlobalSetOptions;
112 extern struct ServerState_t server_state;
113 extern struct event event_write_links_file;
114 extern struct ServerTime SystemTime;
115 #define CurrentTime SystemTime.tv_sec
116
117 extern void set_time(void);
118 #endif

Properties

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