/** @file ircd.h * @brief Global data for the daemon. * @version $Id: ircd.h 1229 2004-10-05 04:14:44Z entrope $ */ #ifndef INCLUDED_ircd_h #define INCLUDED_ircd_h #ifndef INCLUDED_struct_h #include "struct.h" /* struct Client */ #endif #ifndef INCLUDED_sys_types_h #include /* size_t, time_t */ #endif /** 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 /**< 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. */ /* * 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 */