]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
porting.h: add porting.h for porting/compatibility on DARWIN
authorDennis Schafroth <dennis@schafroth.dk>
Tue, 30 Jun 2015 18:39:03 +0000 (20:39 +0200)
committerKefu Chai <kchai@redhat.com>
Mon, 31 Aug 2015 07:35:58 +0000 (15:35 +0800)
Collection of porting/compatibility defines to compile on DARWIN

Signed-off-by: Dennis Schafroth <dennis@schafroth.com>
src/porting.h [new file with mode: 0644]

diff --git a/src/porting.h b/src/porting.h
new file mode 100644 (file)
index 0000000..8927424
--- /dev/null
@@ -0,0 +1,42 @@
+
+#ifndef PORTING_H
+#define PORTING_H 
+#include "acconfig.h"
+
+
+#if defined(DARWIN) 
+#include <sys/socket.h>
+
+/* 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 */