ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/branches/8.2.x/include/ircd.h
Revision: 7329
Committed: Thu Feb 18 21:07:50 2016 UTC (8 years, 1 month ago) by michael
Content type: text/x-chdr
File size: 3963 byte(s)
Log Message:
- Now that we got time_t to work nicely on openbsd with snprintf's conversion specifiers,
  we ran into a similiar issue on Raspbian/ARMv7's time_t which is of signed 32 bit and
  doesn't cope at all with %j. Instead of doing tricks, get rid of time_t everywhere and
  forever and use uintmax_t instead which has at least a 'standardized' conversion specifier
  associated with it.

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 1 second */
40 unsigned int joinfloodtime;
41 unsigned int joinfloodcount;
42 unsigned int ident_timeout; /* timeout for identd lookups */
43 int spam_num;
44 unsigned int spam_time;
45 };
46
47 /*
48 * statistics structures
49 */
50 struct ServerStatistics
51 {
52 uintmax_t is_cbs; /* bytes sent to clients */
53 uintmax_t is_cbr; /* bytes received from clients */
54 uintmax_t is_sbs; /* bytes sent to servers */
55 uintmax_t is_sbr; /* bytes received from servers */
56
57 uintmax_t is_cti; /* time spent connected by clients */
58 uintmax_t is_sti; /* time spent connected by servers */
59
60 unsigned int is_cl; /* number of client connections */
61 unsigned int is_sv; /* number of server connections */
62 unsigned int is_ni; /* connection but no idea who it was */
63 unsigned int is_ac; /* connections accepted */
64 unsigned int is_ref; /* accepts refused */
65 unsigned int is_unco; /* unknown commands */
66 unsigned int is_wrdi; /* command going in wrong direction */
67 unsigned int is_unpf; /* unknown prefix */
68 unsigned int is_empt; /* empty message */
69 unsigned int is_num; /* numeric message */
70 unsigned int is_kill; /* number of kills generated on collisions */
71 unsigned int is_asuc; /* successful auth requests */
72 unsigned int is_abad; /* bad auth requests */
73 };
74
75 struct Counter
76 {
77 uintmax_t totalrestartcount; /* Total client count ever */
78 unsigned int myserver; /* my servers */
79 unsigned int oper; /* Opers */
80 unsigned int local; /* Local Clients */
81 unsigned int total; /* total clients */
82 unsigned int invisi; /* invisible clients */
83 unsigned int max_loc; /* MAX local clients */
84 unsigned int max_tot; /* MAX global clients */
85 unsigned int max_loc_con; /* MAX local connection count (clients + server) */
86 unsigned int max_loc_cli; /* XXX This is redundant - Max local client count */
87 };
88
89 struct ServerState_t
90 {
91 unsigned int foreground;
92 };
93
94 struct ServerTime
95 {
96 uintmax_t tv_sec, tv_usec;
97 };
98
99
100 #ifdef HAVE_LIBGEOIP
101 extern GeoIP *GeoIPv4_ctx;
102 extern GeoIP *GeoIPv6_ctx;
103 #endif
104 extern char **myargv;
105 extern const char *infotext[];
106 extern const char *serno;
107 extern const char *ircd_version;
108 extern const char *logFileName;
109 extern const char *pidFileName;
110 extern unsigned int dorehash;
111 extern unsigned int doremotd;
112 extern struct Counter Count;
113 extern struct ServerStatistics ServerStats;
114 extern struct SetOptions GlobalSetOptions;
115 extern struct ServerState_t server_state;
116 extern struct event event_write_links_file;
117 extern struct ServerTime SystemTime;
118 #define CurrentTime SystemTime.tv_sec
119
120 extern void set_time(void);
121 #endif

Properties

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