When sending an error use the IRC_WriteErrClient() variant
[ngircd-alex.git] / src / ngircd / ngircd.h
1 /*
2  * ngIRCd -- The Next Generation IRC Daemon
3  * Copyright (c)2001-2010 Alexander Barton (alex@barton.de).
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  * Please read the file COPYING, README and AUTHORS for more information.
10  */
11
12 #ifndef __ngircd_h__
13 #define __ngircd_h__
14
15 /**
16  * @file
17  * Global variables of ngIRCd.
18  */
19
20 #include <time.h>
21
22 #include "defines.h"
23
24 #define C_ARRAY_SIZE(x) (sizeof(x)/sizeof((x)[0]))
25
26 /** UNIX timestamp of ngIRCd start */
27 GLOBAL time_t NGIRCd_Start;
28
29 /** ngIRCd start time as string, used for RPL_CREATED_MSG (003) */
30 GLOBAL char NGIRCd_StartStr[64];
31
32 /** ngIRCd version number containing release number and compile-time options */
33 GLOBAL char NGIRCd_Version[126];
34
35 /** String specifying the compile-time options and target platform */
36 GLOBAL char NGIRCd_VersionAddition[126];
37
38 #ifdef DEBUG
39 /** Flag indicating if debug mode is active (true) or not (false) */
40 GLOBAL bool NGIRCd_Debug;
41 #endif
42
43 #ifdef SNIFFER
44 /** Flag indication if sniffer is active (true) or not (false) */
45 GLOBAL bool NGIRCd_Sniffer;
46 #endif
47
48 /**
49  * Flag indicating if NO outgoing connections should be established (true)
50  * or not (false, the default)
51  */
52 GLOBAL bool NGIRCd_Passive;
53
54 /** Flag indicating that ngIRCd has been requested to quit (true) */
55 GLOBAL bool NGIRCd_SignalQuit;
56
57 /** Flag indicating that ngIRCd has been requested to restart (true) */
58 GLOBAL bool NGIRCd_SignalRestart;
59
60 /**
61  * Debug level for "VERSION" command, see description of numeric RPL_VERSION
62  * (351) in RFC 2812. ngIRCd sets debuglevel to 1 when the debug mode is
63  * active, and to 2 if the sniffer is running.
64  */
65 GLOBAL char NGIRCd_DebugLevel[2];
66
67 /** Full path and file name of current configuration file */
68 GLOBAL char NGIRCd_ConfFile[FNAME_LEN];
69
70 /** Protocol and server identification string; see doc/Protocol.txt */
71 GLOBAL char NGIRCd_ProtoID[COMMAND_LEN];
72
73 #endif
74
75 /* -eof- */