projects
/
oweals
/
gnunet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Implement data ack in CADET MQ API
[oweals/gnunet.git]
/
src
/
include
/
platform.h
diff --git
a/src/include/platform.h
b/src/include/platform.h
index b36cd83a4015eb6fc45c8baf04ce88206200e56d..add58821f77b1c5b77575b5976ea7843ba05cb9d 100644
(file)
--- a/
src/include/platform.h
+++ b/
src/include/platform.h
@@
-1,10
+1,10
@@
/*
This file is part of GNUnet.
/*
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
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
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
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., 5
9 Temple Place - Suite 330
,
- Boston, MA 0211
1-1307
, USA.
+ Free Software Foundation, Inc., 5
1 Franklin Street, Fifth Floor
,
+ Boston, MA 0211
0-1301
, USA.
*/
/**
*/
/**
- * @file include/platform.h
- * @brief plaform specifics
- *
* @author Nils Durner
* @author Nils Durner
+ * @author Christian Grothoff
+ *
+ * @file
+ * Plaform specific includes and defines.
*
* This file should never be included by installed
*
* This file should never be included by installed
- * header files (thos starting with "gnunet_").
+ * header files (thos
e
starting with "gnunet_").
*/
*/
-
#ifndef PLATFORM_H
#define PLATFORM_H
#ifndef PLATFORM_H
#define PLATFORM_H
@@
-50,13
+50,16
@@
#include <sys/types.h>
#endif
#include <sys/types.h>
#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
/**
* For strptime (glibc2 needs this).
*/
#ifndef _XOPEN_SOURCE
-#define _XOPEN_SOURCE
+#define _XOPEN_SOURCE
499
#endif
#ifndef _REENTRANT
#endif
#ifndef _REENTRANT
@@
-69,15
+72,14
@@
#ifdef CYGWIN
#include <sys/reent.h>
#ifdef CYGWIN
#include <sys/reent.h>
-#define _REENT_ONLY
-#endif
-
-#ifdef CYGWIN
-#undef _REENT_ONLY
#endif
#ifdef _MSC_VER
#endif
#ifdef _MSC_VER
+#ifndef FD_SETSIZE
+#define FD_SETSIZE 1024
+#endif
#include <Winsock2.h>
#include <Winsock2.h>
+#include <ws2tcpip.h>
#else
#ifndef MINGW
#include <netdb.h>
#else
#ifndef MINGW
#include <netdb.h>
@@
-89,7
+91,9
@@
#if HAVE_NETINET_IN_SYSTM_H
#include <netinet/in_systm.h>
#endif
#if HAVE_NETINET_IN_SYSTM_H
#include <netinet/in_systm.h>
#endif
-#include <netinet/ip.h> /* superset of previous */
+#if HAVE_NETINET_IP_H
+#include <netinet/ip.h> /* superset of previous */
+#endif
#include <arpa/inet.h>
#include <netinet/tcp.h>
#include <pwd.h>
#include <arpa/inet.h>
#include <netinet/tcp.h>
#include <pwd.h>
@@
-108,6
+112,13
@@
#include <stdarg.h>
#include <errno.h>
#include <signal.h>
#include <stdarg.h>
#include <errno.h>
#include <signal.h>
+#include <libgen.h>
+#ifdef WINDOWS
+#include <malloc.h> /* for alloca(), on other OSes it's in stdlib.h */
+#endif
+#ifdef HAVE_MALLOC_H
+#include <malloc.h> /* for mallinfo on GNU */
+#endif
#ifndef _MSC_VER
#include <unistd.h> /* KLB_FIX */
#endif
#ifndef _MSC_VER
#include <unistd.h> /* KLB_FIX */
#endif
@@
-135,7
+146,7
@@
#ifdef SOMEBSD
#include <net/if.h>
#endif
#ifdef SOMEBSD
#include <net/if.h>
#endif
-#ifdef
GNUNET_free
BSD
+#ifdef
FREE
BSD
#include <semaphore.h>
#endif
#ifdef DARWIN
#include <semaphore.h>
#endif
#ifdef DARWIN
@@
-143,14
+154,21
@@
#include <semaphore.h>
#include <net/if.h>
#endif
#include <semaphore.h>
#include <net/if.h>
#endif
-#if
def LINUX
+#if
defined(LINUX) || defined(GNU)
#include <net/if.h>
#endif
#ifdef SOLARIS
#include <sys/sockio.h>
#include <net/if.h>
#endif
#ifdef SOLARIS
#include <sys/sockio.h>
+#include <sys/filio.h>
#include <sys/loadavg.h>
#include <semaphore.h>
#endif
#include <sys/loadavg.h>
#include <semaphore.h>
#endif
+#if HAVE_UCRED_H
+#include <ucred.h>
+#endif
+#if HAVE_SYS_UCRED_H
+#include <sys/ucred.h>
+#endif
#ifdef CYGWIN
#include <windows.h>
#include <cygwin/if.h>
#ifdef CYGWIN
#include <windows.h>
#include <cygwin/if.h>
@@
-165,13
+183,18
@@
#include <vfork.h>
#endif
#include <vfork.h>
#endif
-#if HAVE_CTYPE_H
#include <ctype.h>
#include <ctype.h>
-#endif
#if HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
#endif
#if HAVE_SYS_RESOURCE_H
#include <sys/resource.h>
#endif
+#if HAVE_ENDIAN_H
+#include <endian.h>
+#endif
+#if HAVE_SYS_ENDIAN_H
+#include <sys/endian.h>
+#endif
+
#include "plibc.h"
#include <locale.h>
#include "plibc.h"
#include <locale.h>
@@
-213,7
+236,8
@@
#if !HAVE_ATOLL
#if !HAVE_ATOLL
-long long atoll (const char *nptr);
+long long
+atoll (const char *nptr);
#endif
#if ENABLE_NLS
#endif
#if ENABLE_NLS
@@
-228,10
+252,31
@@
long long atoll (const char *nptr);
#define O_LARGEFILE 0
#endif
#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 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
#endif