changed Makefile; build all commands as an own file
[NeonServV5.git] / main.h
diff --git a/main.h b/main.h
index f06fc6fc610ed61b17911672c0aae65071808eed..0731781ba68cf00b30ce7228ee26750e14102375 100644 (file)
--- a/main.h
+++ b/main.h
@@ -1,6 +1,13 @@
 #ifndef _main_h
 #define _main_h
 
+#define NEONSERV_VERSION "5.0.1-dev"
+
+#include "config.h"
+#ifndef BOTWAR_ALERT_CHAN
+#define BOTWAR_ALERT_CHAN NULL
+#endif
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <arpa/inet.h>
 #include <unistd.h>
 #include <netdb.h>
+#include <stdarg.h>
+#include <time.h>
+
+#if __GNUC__
+#define PRINTF_LIKE(M,N) __attribute__((format (printf, M, N)))
+#else
+#define PRINTF_LIKE(M,N)
+#endif
 
 #if __GNUC__ >= 2
 #define UNUSED_ARG(ARG) ARG __attribute__((unused))
 #define UNUSED_ARG(ARG) ARG
 #endif
 
-int stricmp (const char *s1, const char *s2)
-{
-   if (s1 == NULL) return s2 == NULL ? 0 : -(*s2);
-   if (s2 == NULL) return *s1;
-   char c1, c2;
-   while ((c1 = tolower (*s1)) == (c2 = tolower (*s2)))
-   {
-     if (*s1 == '\0') break;
-     ++s1; ++s2;
-   }
-   return c1 - c2;
-}
+#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 2
 
 #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
 
 //valid nick chars
-#define VALID_NICK_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890{|}~[\\]^_`"
+#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;
+
+int stricmp (const char *s1, const char *s2);
+int stricmplen (const char *s1, const char *s2, int len);
+
 #endif
\ No newline at end of file