From: Dennis Schafroth Date: Tue, 30 Jun 2015 18:39:03 +0000 (+0200) Subject: porting.h: add porting.h for porting/compatibility on DARWIN X-Git-Tag: v9.1.0~259^2~38 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=cd93656e151dba7d31318c2824039bd3a3dd2db7;p=ceph.git porting.h: add porting.h for porting/compatibility on DARWIN Collection of porting/compatibility defines to compile on DARWIN Signed-off-by: Dennis Schafroth --- diff --git a/src/porting.h b/src/porting.h new file mode 100644 index 000000000000..89274248c317 --- /dev/null +++ b/src/porting.h @@ -0,0 +1,42 @@ + +#ifndef PORTING_H +#define PORTING_H +#include "acconfig.h" + + +#if defined(DARWIN) +#include + +/* O_LARGEFILE is not defined/required on OS X */ +#define O_LARGEFILE 0 + +/* Wonder why this is missing */ +#define PATH_MAX 1024 + +/* Could be relevant for other platforms */ +#ifndef ERESTART +#define ERESTART EINTR +#endif + +/* + * This optimization may not be available on all platforms (e.g. OSX). + * Apparently a similar approach based on TCP_CORK can be used. + */ +#ifndef MSG_MORE +# define MSG_MORE 0 +#endif + +/* + * On BSD SO_NOSIGPIPE can be set via setsockopt to block SIGPIPE. + */ +#ifndef MSG_NOSIGNAL +# define MSG_NOSIGNAL 0 +# ifdef SO_NOSIGPIPE +# define CEPH_USE_SO_NOSIGPIPE +# else +# error "Cannot block SIGPIPE!" +# endif +#endif + +#endif /* DARWIN */ +#endif /* PORTING_H */