X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Finclude%2Fplatform.h;h=c44f67f677eb457cc63c70ce1c7eae646ce6b530;hb=9e249590e5d750c70ec61d1100c70d325374dbd8;hp=257fc7c6b1685d0eea85c773199a14925d02849f;hpb=7e20c445682f63dfab3058acfc0e61a7a48ca25a;p=oweals%2Fgnunet.git diff --git a/src/include/platform.h b/src/include/platform.h index 257fc7c6b..c44f67f67 100644 --- a/src/include/platform.h +++ b/src/include/platform.h @@ -1,6 +1,6 @@ /* This file is part of GNUnet. - (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 Christian Grothoff (and other contributing authors) + (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2012 Christian Grothoff (and other contributing authors) GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -20,14 +20,12 @@ /** * @file include/platform.h - * @brief plaform specifics - * + * @brief plaform specific includes and defines * @author Nils Durner - * + * @author Christian Grothoff * 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 @@ -40,15 +38,17 @@ #ifdef WINDOWS #define BREAKPOINT asm("int $3;"); +#define GNUNET_SIGCHLD 17 #else #define BREAKPOINT +#define GNUNET_SIGCHLD SIGCHLD #endif #ifdef HAVE_SYS_TYPES_H #include #endif -#define ALLOW_EXTRA_CHECKS GNUNET_NO +#define ALLOW_EXTRA_CHECKS GNUNET_YES /** * For strptime (glibc2 needs this). @@ -67,20 +67,26 @@ #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 #ifndef MINGW #include #include +#include +#if HAVE_NETINET_IN_H #include +#endif +#if HAVE_NETINET_IN_SYSTM_H +#include +#endif +#include /* superset of previous */ #include #include #include @@ -95,9 +101,17 @@ #include #include #include +#include #include #include #include +#include +#ifdef WINDOWS +#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 */ #endif @@ -125,7 +139,7 @@ #ifdef SOMEBSD #include #endif -#ifdef GNUNET_freeBSD +#ifdef FREEBSD #include #endif #ifdef DARWIN @@ -133,14 +147,18 @@ #include #include #endif -#ifdef LINUX +#if defined(LINUX) || defined(GNU) #include #endif #ifdef SOLARIS #include +#include #include #include #endif +#if HAVE_UCRED_H +#include +#endif #ifdef CYGWIN #include #include @@ -151,18 +169,24 @@ #include #include -#if HAVE_CTYPE_H -#include +#if HAVE_VFORK_H +#include #endif + +#include #if HAVE_SYS_RESOURCE_H #include #endif +#if HAVE_ENDIAN_H +#include +#endif +#if HAVE_SYS_ENDIAN_H +#include +#endif + #include "plibc.h" -#undef HAVE_CONFIG_H -#include -#define HAVE_CONFIG_H 1 #include #ifndef FRAMEWORK_BUILD #include "gettext.h" @@ -202,21 +226,42 @@ #if !HAVE_ATOLL -long long atoll (const char *nptr); +long long +atoll (const char *nptr); #endif #if ENABLE_NLS #include "langinfo.h" #endif +#ifndef SIZE_MAX +#define SIZE_MAX ((size_t)(-1)) +#endif + #ifndef O_LARGEFILE #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 + #endif