From d769463e1607502305adaed67b4751d83ce558db Mon Sep 17 00:00:00 2001 From: mquinson Date: Fri, 10 Dec 2004 06:46:04 +0000 Subject: [PATCH] Contain all the system headers we may need. Works on unix and linux git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@589 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/portable.h | 105 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 src/portable.h diff --git a/src/portable.h b/src/portable.h new file mode 100644 index 0000000000..f7f0f6db0c --- /dev/null +++ b/src/portable.h @@ -0,0 +1,105 @@ +/* $Id$ */ + +/* portable -- header loading to write portable code */ + +/* Copyright (c) 2004 Martin Quinson. */ +/* LGPL*/ + +#ifndef GRAS_PORTABLE_H +#define GRAS_PORTABLE_H + +#include "gras_config.h" + +#include +#include /* struct timeval */ +#include + +/**** + **** Networking + ****/ + + +#ifdef HAVE_SYS_SOCKET_H +# include +# include /* sometimes required for #include */ +# include /* TCP_NODELAY */ +# include /* getprotobyname() */ +# include /* inet_ntoa() */ +# endif + +#ifdef HAVE_WINSOCK2_H +# include +# include /* socklen_t, but doubtful */ +#elif HAVE_WINSOCK_H +# include +#endif + +#ifdef HAVE_WINSOCK_H +# define tcp_read( s, buf, len ) recv( s, buf, len, 0 ) +# define tcp_write( s, buf, len ) send( s, buf, len, 0 ) +# define ioctl( s, c, a ) ioctlsocket( (s), (c), (a) ) +# define ioctl_t u_long +# define AC_SOCKET_INVALID ((unsigned int) ~0) + +# ifdef SD_BOTH +# define tcp_close( s ) (shutdown( s, SD_BOTH ), closesocket( s )) +# else +# define tcp_close( s ) closesocket( s ) +# endif + +# define EWOULDBLOCK WSAEWOULDBLOCK +# define EINPROGRESS WSAEINPROGRESS +# define ETIMEDOUT WSAETIMEDOUT + +# undef sock_errno +# undef sock_errstr +# define sock_errno() WSAGetLastError() +# define sock_errstr(e) ber_pvt_wsa_err2string(e) + +char *ber_pvt_wsa_err2string(int errcode); + +# define S_IRGRP 0 +# define S_IWGRP 0 + +#else +# define tcp_read( s, buf, len) read( s, buf, len ) +# define tcp_write( s, buf, len) write( s, buf, len ) + +# ifdef SHUT_RDWR +# define tcp_close( s ) (shutdown( s, SHUT_RDWR ), close( s )) +# else +# define tcp_close( s ) close( s ) +# endif +#endif /* windows or unix ? */ + +/**** + **** File handling + ****/ + +#include + +#ifdef HAVE_SYS_STAT_H +#include +#endif + +/**** + **** Time handling + ****/ + +#if TIME_WITH_SYS_TIME +# include +# include +#else +# if HAVE_SYS_TIME_H +# include +# else +# include +# endif +#endif + +#ifdef _WIN32 +#define sleep _sleep /* else defined in stdlib.h */ +#endif + + +#endif /* GRAS_PORTABLE_H */ -- 2.20.1