added gnutls backend and moved backend code into new files
[ircu2.10.12-pk.git] / include / ircd.h
index af7393d4d2c17eda56416e2c81c13853c123db38..789f971eb47433789457b5ebede0f59878951650 100644 (file)
@@ -1,55 +1,59 @@
-#ifndef IRCD_H
-#define IRCD_H
-
-/*=============================================================================
- * Macro's
+/** @file ircd.h
+ * @brief Global data for the daemon.
+ * @version $Id$
  */
+#ifndef INCLUDED_ircd_h
+#define INCLUDED_ircd_h
+#ifndef INCLUDED_struct_h
+#include "struct.h"           /* struct Client */
+#endif
+#ifndef INCLUDED_sys_types_h
+#include <sys/types.h>        /* size_t, time_t */
+#endif
 
-#define TStime() (now + TSoffset)
-#define BadPtr(x) (!(x) || (*(x) == '\0'))
+/** Describes status for a daemon. */
+struct Daemon
+{
+  int          argc;        /**< Number of command-line arguments. */
+  char**       argv;        /**< Array of command-line arguments. */
+  pid_t        pid;         /**< %Daemon's process id. */
+  uid_t        uid;         /**< %Daemon's user id. */
+  uid_t        euid;        /**< %Daemon's effective user id. */
+  unsigned int bootopt;     /**< Boot option flags. */
+  int          pid_fd;      /**< File descriptor for process id file. */
+};
+
+/*
+ * Macros
+ */
+#define TStime() (CurrentTime + TSoffset) /**< Current network time*/
+#define OLDEST_TS 780000000    /**< Any TS older than this is bogus */
+#define BadPtr(x) (!(x) || (*(x) == '\0')) /**< Is \a x a bad string? */
 
 /* Miscellaneous defines */
 
-#define UDP_PORT       "7007"
-#define MINOR_PROTOCOL "09"
-#define MAJOR_PROTOCOL "10"
-#define BASE_VERSION   "u2.10"
+#define UDP_PORT        "7007"  /**< Default port for server-to-server pings. */
+#define MINOR_PROTOCOL  "09"    /**< Minimum protocol version supported. */
+#define MAJOR_PROTOCOL  "10"    /**< Current protocol version. */
+#define BASE_VERSION    "u2.10" /**< Base name of IRC daemon version. */
 
-/* Flags for bootup options (command line flags) */
-
-#define BOOT_CONSOLE   1
-#define BOOT_QUICK     2
-#define BOOT_DEBUG     4
-#define BOOT_INETD     8
-#define BOOT_TTY       16
-#define BOOT_AUTODIE   32
-
-/*=============================================================================
+/*
  * Proto types
  */
+extern void server_die(const char* message);
+extern void server_panic(const char* message);
+extern void server_restart(const char* message);
+
+extern struct Client  me;
+extern time_t         CurrentTime;
+extern struct Client* GlobalClientList;
+extern time_t         TSoffset;
+extern int            GlobalRehashFlag;      /* 1 if SIGHUP is received */
+extern int            GlobalRestartFlag;     /* 1 if SIGINT is received */
+extern char*          configfile;
+extern int            debuglevel;
+extern char*          debugmode;
+extern int           running;
+
+#endif /* INCLUDED_ircd_h */
 
-#ifdef PROFIL
-extern RETSIGTYPE s_monitor(HANDLER_ARG(int sig));
-#endif
-extern RETSIGTYPE s_die(HANDLER_ARG(int sig));
-extern RETSIGTYPE s_restart(HANDLER_ARG(int sig));
-
-extern void restart(char *mesg);
-extern void server_reboot(void);
-
-extern aClient me;
-extern time_t now;
-extern aClient *client;
-extern time_t TSoffset;
-extern unsigned int bootopt;
-extern int have_server_port;
-extern time_t nextdnscheck;
-extern time_t nextconnect;
-extern int dorehash;
-extern time_t nextping;
-extern unsigned short int portnum;
-extern char *configfile;
-extern int debuglevel;
-extern char *debugmode;
-
-#endif /* IRCD_H */