X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2Fmain.h;h=1f1d0f315aae47cdf820617762545a1af4f166f1;hp=2e627939b8d49df4bdf77093f8cf161259c1b72b;hb=f6bdc9d0fc8db22c265918f3325e11177fd001b9;hpb=410cb79dd46afc2da46d2ac3fc2010a77ccb9f0e diff --git a/src/main.h b/src/main.h index 2e62793..1f1d0f3 100644 --- a/src/main.h +++ b/src/main.h @@ -1,5 +1,5 @@ -/* main.h - NeonServ v5.2 - * Copyright (C) 2011 Philipp Kreil (pk910) +/* main.h - NeonServ v5.6 + * Copyright (C) 2011-2012 Philipp Kreil (pk910) * * 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 @@ -16,104 +16,41 @@ */ #ifndef _main_h #define _main_h - -#define NEONSERV_VERSION "5.2" -#define VERSION_PATCHLEVEL 414 - -#ifndef BOTWAR_ALERT_CHAN -#define BOTWAR_ALERT_CHAN NULL +#include "overall.h" + +struct ProcessState { + time_t start_time; + int running : 1; + int restart : 1; + int run_as_daemon : 1; + int daemonized : 1; + int loglevel : 8; + int loaded_config : 1; + int running_threads : 8; + + int argc; + char **argv; + + char config[MAXLEN]; + char pidfile[MAXLEN]; +}; + +#ifndef DND_FUNCTIONS + +extern struct ProcessState process_state; + +#ifdef HAVE_THREADS +extern pthread_mutex_t cache_sync; +extern pthread_mutex_t whohandler_sync, whohandler_mass_sync; + +/* MODULAR ACCESSIBLE */ int getCurrentThreadID(); #endif -#include -#include -#include -#include -#ifdef WIN32 -#include -#include -#else -#include -#include -#include -#include -#include -#include -#endif -#include -#include -#include -#include - -#if __GNUC__ -#define PRINTF_LIKE(M,N) __attribute__((format (printf, M, N))) -#else -#define PRINTF_LIKE(M,N) -#endif +/* MODULAR ACCESSIBLE */ time_t getStartTime(); +/* MODULAR ACCESSIBLE */ int getRunningThreads(); -#if __GNUC__ >= 2 -#define UNUSED_ARG(ARG) ARG __attribute__((unused)) -#elif defined(S_SPLINT_S) -#define UNUSED_ARG(ARG) /*@unused@*/ ARG -#define const /*@observer@*/ /*@temp@*/ -#else -#define UNUSED_ARG(ARG) ARG +/* MODULAR ACCESSIBLE */ void restart_bot(int crash); +/* MODULAR ACCESSIBLE */ void stop_bot(); +/* MODULAR ACCESSIBLE */ void reload_config(); #endif - -#define STRINGIFY_(x) #x -#define STRINGIFY(x) STRINGIFY_(x) - -#if defined(__GNUC__) -#if defined(__GNUC_PATCHLEVEL__) -#define COMPILER "GCC" " " STRINGIFY(__GNUC__) "." STRINGIFY(__GNUC_MINOR__) "." STRINGIFY(__GNUC_PATCHLEVEL__) -#else -#define COMPILER "GCC" " " STRINGIFY(__GNUC__) "." STRINGIFY(__GNUC_MINOR__) -#endif -#elif defined (__IMAGECRAFT__) -#define COMPILER "ICCAVR" -#else -#define COMPILER "Unknown" -#endif - -#define SOCKET_SELECT_TIME 1 -#define SOCKET_RECONNECT_TIME 20 - -#define NICKLEN 30 -#define USERLEN 10 -#define AUTHLEN 32 -#define HOSTLEN 63 -#define REALLEN 50 -#define TOPICLEN 500 -#define CHANNELLEN 200 -#define MAXLEN 512 -#define TRIGGERLEN 50 -#define MAXNUMPARAMS 200 /* maximum number of parameters in one line */ -#define MAXLANGUAGES 5 -#define MAXMODES 6 -#define INVITE_TIMEOUT 30 -#define BOTWAR_DETECTION_TIME 7 -#define BOTWAR_DETECTION_EVENTS 6 -#define REWHO_TIMEOUT 10 /* wait 10 seconds before WHO an unauthed user again */ - -//valid nick chars -#define VALID_NICK_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890{|}~[\\]^-_`" -//the first char is a little bit different -// 0 1 2 3 4 5 6 -// 1234567890123456789012345678901234567890123456789012345678 9012 62 -#define VALID_NICK_CHARS_FIRST "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~[\\]^_`" -#define VALID_NICK_CHARS_FIRST_LEN 62 - -#define TEMPUSER_LIST_INDEX VALID_NICK_CHARS_FIRST_LEN - -extern time_t start_time; -extern int statistics_enabled; - -int stricmp (const char *s1, const char *s2); -int stricmplen (const char *s1, const char *s2, int len); - -void restart_bot(int hard_restart); -void stop_bot(); -void reload_config(); - -void statistics_update(); - #endif \ No newline at end of file