#ifndef _main_h
#define _main_h
+#define NEONSERV_VERSION "5.0.1-dev"
+
+#include "config.h"
+
#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
//valid nick chars
#define VALID_NICK_CHARS "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890{|}~[\\]^_`"
#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