Atrinik Server 2.5
include/includes.h
Go to the documentation of this file.
00001 /************************************************************************
00002 *            Atrinik, a Multiplayer Online Role Playing Game            *
00003 *                                                                       *
00004 *    Copyright (C) 2009-2011 Alex Tokar and Atrinik Development Team    *
00005 *                                                                       *
00006 * Fork from Daimonin (Massive Multiplayer Online Role Playing Game)     *
00007 * and Crossfire (Multiplayer game for X-windows).                       *
00008 *                                                                       *
00009 * This program is free software; you can redistribute it and/or modify  *
00010 * it under the terms of the GNU General Public License as published by  *
00011 * the Free Software Foundation; either version 2 of the License, or     *
00012 * (at your option) any later version.                                   *
00013 *                                                                       *
00014 * This program is distributed in the hope that it will be useful,       *
00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00017 * GNU General Public License for more details.                          *
00018 *                                                                       *
00019 * You should have received a copy of the GNU General Public License     *
00020 * along with this program; if not, write to the Free Software           *
00021 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.             *
00022 *                                                                       *
00023 * The author can be reached at admin@atrinik.org                        *
00024 ************************************************************************/
00025 
00030 #ifndef INCLUDES_H
00031 #define INCLUDES_H
00032 
00033 /* Include this first, because it lets us know what we are missing */
00034 #ifdef WIN32
00035 #   include "win32.h"
00036 #else
00037 #   include <cmake.h>
00038 #endif
00039 
00040 #include <stdio.h>
00041 #include <string.h>
00042 #include <ctype.h>
00043 #include <errno.h>
00044 #include <signal.h>
00045 #include <setjmp.h>
00046 #include <stdlib.h>
00047 #include <limits.h>
00048 
00049 #ifdef HAVE_FCNTL_H
00050 #   include <fcntl.h>
00051 #endif
00052 
00053 #ifdef HAVE_UNISTD_H
00054 #   include <unistd.h>
00055 #endif
00056 
00057 #ifdef HAVE_SYS_TIME_H
00058 #   include <sys/time.h>
00059 #endif
00060 
00061 #if defined(HAVE_TIME_H)
00062 #   include <time.h>
00063 #endif
00064 
00065 /* stddef is for offsetof */
00066 #ifdef HAVE_STDDEF_H
00067 #   include <stddef.h>
00068 #endif
00069 
00070 #ifndef WIN32
00071 #   include <sys/socket.h>
00072 #   include <netinet/in.h>
00073 #   include <netinet/tcp.h>
00074 #   include <netdb.h>
00075 #endif
00076 
00077 #ifdef HAVE_ARPA_INET_H
00078 #   include <arpa/inet.h>
00079 #endif
00080 
00081 #include <sys/types.h>
00082 #include <sys/stat.h>
00083 #include <sys/param.h>
00084 
00085 #include "config.h"
00086 #include "define.h"
00087 #include "version.h"
00088 #include "logger.h"
00089 #include "newclient.h"
00090 
00091 #ifdef HAVE_STRICMP
00092 #   define strcasecmp(_s1_, _s2_) stricmp(_s1_, _s2_)
00093 #endif
00094 
00095 #ifdef HAVE_STRNICMP
00096 #   define strncasecmp(_s1_, _s2_, _nrof_) strnicmp(_s1_, _s2_, _nrof_)
00097 #endif
00098 
00099 #if defined(vax) || defined(ibm032)
00100 size_t strftime(char *, size_t, const char *, const struct tm *);
00101 time_t mktime(struct tm *);
00102 #endif
00103 
00104 #ifndef WIN32
00105 #   ifdef HAVE_DIRENT_H
00106 #       include <dirent.h>
00107 #       define NAMLEN(dirent) strlen((dirent)->d_name)
00108 #   else
00109 #       define dirent direct
00110 #       define NAMLEN(dirent) (dirent)->d_namlen
00111 #       ifdef HAVE_SYS_NDIR_H
00112 #           include <sys/ndir.h>
00113 #       endif
00114 #       ifdef HAVE_SYS_DIR_H
00115 #           include <sys/dir.h>
00116 #       endif
00117 #       ifdef HAVE_NDIR_H
00118 #           include <ndir.h>
00119 #       endif
00120 #   endif
00121 #endif
00122 
00123 #endif