X-Git-Url: http://git.pk910.de/?p=NeonServV5.git;a=blobdiff_plain;f=src%2Fmain.h;h=1f1d0f315aae47cdf820617762545a1af4f166f1;hp=329aa5d13c60a3c3072e2365985b6b173fa39503;hb=f6bdc9d0fc8db22c265918f3325e11177fd001b9;hpb=7650fa6f3ccabbbf8a8b02b1a706bafb1a17a169 diff --git a/src/main.h b/src/main.h index 329aa5d..1f1d0f3 100644 --- a/src/main.h +++ b/src/main.h @@ -1,4 +1,4 @@ -/* main.h - NeonServ v5.3 +/* main.h - NeonServ v5.6 * Copyright (C) 2011-2012 Philipp Kreil (pk910) * * This program is free software: you can redistribute it and/or modify @@ -16,126 +16,41 @@ */ #ifndef _main_h #define _main_h -#include "../config.h" +#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; -#define NEONSERV_VERSION "5.3" -#define VERSION_PATCHLEVEL 543 - -#include -#include -#include -#include -#include -#ifdef WIN32 -#include -#include -#include -#else -#include -#include -#include -#include -#include -#include -#include -#endif -#include -#include -#include -#include #ifdef HAVE_THREADS -#include -#include -#define THREAD_MUTEX_INIT(var) { \ - pthread_mutexattr_t mutex_attr; \ - pthread_mutexattr_init(&mutex_attr);\ - pthread_mutexattr_settype(&mutex_attr, PTHREAD_MUTEX_RECURSIVE_NP);\ - pthread_mutex_init(&var, &mutex_attr); \ -} -#define SYNCHRONIZE(var) pthread_mutex_lock(&var) -#define DESYNCHRONIZE(var) pthread_mutex_unlock(&var) -#else -#define THREAD_MUTEX_INIT(var) -#define SYNCHRONIZE(var) -#define DESYNCHRONIZE(var) -#endif +extern pthread_mutex_t cache_sync; +extern pthread_mutex_t whohandler_sync, whohandler_mass_sync; -#if __GNUC__ -#define PRINTF_LIKE(M,N) __attribute__((format (printf, M, N))) -#else -#define PRINTF_LIKE(M,N) +/* MODULAR ACCESSIBLE */ int getCurrentThreadID(); #endif -#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 -#endif +/* MODULAR ACCESSIBLE */ time_t getStartTime(); +/* MODULAR ACCESSIBLE */ int getRunningThreads(); -#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" +/* MODULAR ACCESSIBLE */ void restart_bot(int crash); +/* MODULAR ACCESSIBLE */ void stop_bot(); +/* MODULAR ACCESSIBLE */ void reload_config(); #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 */ -#define TICKS_PER_SECOND 10 - -//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 - -#define timeval_is_bigger(x,y) ((x.tv_sec > y.tv_sec) || (x.tv_sec == y.tv_sec && x.tv_usec > y.tv_usec)) - -extern time_t start_time; -extern int statistics_enabled; -#ifdef HAVE_THREADS -extern int running_threads; -#endif - -int stricmp (const char *s1, const char *s2); -int stricmplen (const char *s1, const char *s2, int len); - -void restart_bot(int do_hard_restart); -void stop_bot(); -void reload_config(); - -void statistics_update(); - #endif \ No newline at end of file