X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finclude%2Fplatform.h;h=add58821f77b1c5b77575b5976ea7843ba05cb9d;hb=17047b7bcbe3f1756028058a9887416c6afab5d8;hp=4bdebf90f436e37833ea44fe5dcb0fcd60f9be22;hpb=b6d387d71221528ec703a375548eb375b8389f01;p=oweals%2Fgnunet.git diff --git a/src/include/platform.h b/src/include/platform.h index 4bdebf90f..add58821f 100644 --- a/src/include/platform.h +++ b/src/include/platform.h @@ -1,10 +1,10 @@ /* This file is part of GNUnet. - (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 Christian Grothoff (and other contributing authors) + Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2012 GNUnet e.V. GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published - by the Free Software Foundation; either version 2, or (at your + by the Free Software Foundation; either version 3, or (at your option) any later version. GNUnet is distributed in the hope that it will be useful, but @@ -14,20 +14,20 @@ You should have received a copy of the GNU General Public License along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /** - * @file include/platform.h - * @brief plaform specifics - * * @author Nils Durner + * @author Christian Grothoff + * + * @file + * Plaform specific includes and defines. * * This file should never be included by installed - * header files (thos starting with "gnunet_"). + * header files (those starting with "gnunet_"). */ - #ifndef PLATFORM_H #define PLATFORM_H @@ -50,13 +50,16 @@ #include #endif -#define ALLOW_EXTRA_CHECKS GNUNET_NO +/** + * These may be expensive, but good for debugging... + */ +#define ALLOW_EXTRA_CHECKS GNUNET_YES /** * For strptime (glibc2 needs this). */ #ifndef _XOPEN_SOURCE -#define _XOPEN_SOURCE +#define _XOPEN_SOURCE 499 #endif #ifndef _REENTRANT @@ -69,14 +72,12 @@ #ifdef CYGWIN #include -#define _REENT_ONLY -#endif - -#ifdef CYGWIN -#undef _REENT_ONLY #endif #ifdef _MSC_VER +#ifndef FD_SETSIZE +#define FD_SETSIZE 1024 +#endif #include #include #else @@ -90,7 +91,9 @@ #if HAVE_NETINET_IN_SYSTM_H #include #endif -#include /* superset of previous */ +#if HAVE_NETINET_IP_H +#include /* superset of previous */ +#endif #include #include #include @@ -109,8 +112,12 @@ #include #include #include +#include #ifdef WINDOWS -#include /* for alloca(), on other OSes it's in stdlib.h */ +#include /* for alloca(), on other OSes it's in stdlib.h */ +#endif +#ifdef HAVE_MALLOC_H +#include /* for mallinfo on GNU */ #endif #ifndef _MSC_VER #include /* KLB_FIX */ @@ -139,7 +146,7 @@ #ifdef SOMEBSD #include #endif -#ifdef GNUNET_freeBSD +#ifdef FREEBSD #include #endif #ifdef DARWIN @@ -147,7 +154,7 @@ #include #include #endif -#ifdef LINUX +#if defined(LINUX) || defined(GNU) #include #endif #ifdef SOLARIS @@ -159,6 +166,9 @@ #if HAVE_UCRED_H #include #endif +#if HAVE_SYS_UCRED_H +#include +#endif #ifdef CYGWIN #include #include @@ -226,7 +236,8 @@ #if !HAVE_ATOLL -long long atoll (const char *nptr); +long long +atoll (const char *nptr); #endif #if ENABLE_NLS @@ -241,10 +252,31 @@ long long atoll (const char *nptr); #define O_LARGEFILE 0 #endif +/** + * AI_NUMERICSERV not defined in windows. Then we just do without. + */ +#ifndef AI_NUMERICSERV +#define AI_NUMERICSERV 0 +#endif + + #if defined(__sparc__) #define MAKE_UNALIGNED(val) ({ __typeof__((val)) __tmp; memmove(&__tmp, &(val), sizeof((val))); __tmp; }) #else #define MAKE_UNALIGNED(val) val #endif +#if WINDOWS +#define FDTYPE HANDLE +#define SOCKTYPE SOCKET +#else +#define FDTYPE int +#define SOCKTYPE int +#endif + +/** + * The termination signal + */ +#define GNUNET_TERM_SIG SIGTERM + #endif