]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/ngircd.h
Make sure that the target user is able to join a local channel
[ngircd-alex.git] / src / ngircd / ngircd.h
index df60f25c9b44861040d15767a7166229c3c225e7..2efb8a943fb921e52f6574ff8851b424e43bdbdc 100644 (file)
@@ -1,36 +1,75 @@
 /*
  * ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001 by Alexander Barton (alex@barton.de)
- *
- * Dieses Programm ist freie Software. Sie koennen es unter den Bedingungen
- * der GNU General Public License (GPL), wie von der Free Software Foundation
- * herausgegeben, weitergeben und/oder modifizieren, entweder unter Version 2
- * der Lizenz oder (wenn Sie es wuenschen) jeder spaeteren Version.
- * Naehere Informationen entnehmen Sie bitter der Datei COPYING. Eine Liste
- * der an comBase beteiligten Autoren finden Sie in der Datei AUTHORS.
- *
- * $Id: ngircd.h,v 1.2 2001/12/12 23:30:01 alex Exp $
- *
- * ngircd.h: Prototypen aus dem "Haupt-Modul"
- *
- * $Log: ngircd.h,v $
- * Revision 1.2  2001/12/12 23:30:01  alex
- * - NGIRCd_Quit ist nun das globale Flag zum Beenden des ngircd.
- *
- * Revision 1.1.1.1  2001/12/11 21:53:04  alex
- * Imported sources to CVS.
+ * Copyright (c)2001-2010 Alexander Barton (alex@barton.de).
  *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * Please read the file COPYING, README and AUTHORS for more information.
  */
 
-
 #ifndef __ngircd_h__
 #define __ngircd_h__
 
+/**
+ * @file
+ * Global variables of ngIRCd.
+ */
+
+#include <time.h>
+
+#include "defines.h"
+
+#define C_ARRAY_SIZE(x)        (sizeof(x)/sizeof((x)[0]))
+
+/** UNIX timestamp of ngIRCd start */
+GLOBAL time_t NGIRCd_Start;
+
+/** ngIRCd start time as string, used for RPL_CREATED_MSG (003) */
+GLOBAL char NGIRCd_StartStr[64];
 
-GLOBAL BOOLEAN NGIRCd_Quit;            /* TRUE: Hauptschleife beenden */
+/** ngIRCd version number containing release number and compile-time options */
+GLOBAL char NGIRCd_Version[126];
 
+/** String specifying the compile-time options and target platform */
+GLOBAL char NGIRCd_VersionAddition[126];
 
+#ifdef DEBUG
+/** Flag indicating if debug mode is active (true) or not (false) */
+GLOBAL bool NGIRCd_Debug;
 #endif
 
+#ifdef SNIFFER
+/** Flag indication if sniffer is active (true) or not (false) */
+GLOBAL bool NGIRCd_Sniffer;
+#endif
+
+/**
+ * Flag indicating if NO outgoing connections should be established (true)
+ * or not (false, the default)
+ */
+GLOBAL bool NGIRCd_Passive;
+
+/** Flag indicating that ngIRCd has been requested to quit (true) */
+GLOBAL bool NGIRCd_SignalQuit;
+
+/** Flag indicating that ngIRCd has been requested to restart (true) */
+GLOBAL bool NGIRCd_SignalRestart;
+
+/**
+ * Debug level for "VERSION" command, see description of numeric RPL_VERSION
+ * (351) in RFC 2812. ngIRCd sets debuglevel to 1 when the debug mode is
+ * active, and to 2 if the sniffer is running.
+ */
+GLOBAL char NGIRCd_DebugLevel[2];
+
+/** Full path and file name of current configuration file */
+GLOBAL char NGIRCd_ConfFile[FNAME_LEN];
+
+/** Protocol and server identification string; see doc/Protocol.txt */
+GLOBAL char NGIRCd_ProtoID[COMMAND_LEN];
+
+#endif
 
 /* -eof- */