aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk.h
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-17 16:25:10 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2009-08-17 16:25:10 +0000
commitd32b7ae7b15210f30bd41cc5b23f869904b3a0ca (patch)
tree333de497308ab37a5160fea3e6aefad4b665b01b /include/asterisk.h
parent493dabadd36f18340f2f303dec3b208c72d65439 (diff)
Define our desires for POSIX and X/OPEN API features properly.
Based on a post on the gcc-help mailing list and some subsequent reading, we can increase our portability to various platforms by directly defining the POSIX and X/OPEN API feature sets we wish to have available. This patch does that, and also includes a double-check to ensure that the system we are compiling on can actually provide the requested feature sets. git-svn-id: http://svn.digium.com/svn/asterisk/trunk@212463 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk.h')
-rw-r--r--include/asterisk.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/include/asterisk.h b/include/asterisk.h
index 30a20ee60..3a6cdc0f9 100644
--- a/include/asterisk.h
+++ b/include/asterisk.h
@@ -20,6 +20,18 @@
#include "asterisk/autoconfig.h"
+#define _POSIX_C_SOURCE 200112L
+#define _XOPEN_SOURCE 600
+
+#include <unistd.h>
+
+#if _POSIX_VERSION < 200112L
+#error System does not support POSIX version 200112.
+#endif
+#if _XOPEN_VERSION < 600
+#error System does not support XOPEN version 600.
+#endif
+
#if !defined(NO_MALLOC_DEBUG) && !defined(STANDALONE) && defined(MALLOC_DEBUG)
#include "asterisk/astmm.h"
#endif
@@ -49,17 +61,16 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/socket.h>
-#include <unistd.h>
#include <fcntl.h>
#define open(a,...) __ast_fdleak_open(__FILE__,__LINE__,__PRETTY_FUNCTION__, a, __VA_ARGS__)
-#define pipe(a) __ast_fdleak_pipe(a, __FILE__,__LINE__,__PRETTY_FUNCTION__)
+#define pipe(a) __ast_fdleak_pipe(a, __FILE__,__LINE__,__PRETTY_FUNCTION__)
#define socket(a,b,c) __ast_fdleak_socket(a, b, c, __FILE__,__LINE__,__PRETTY_FUNCTION__)
#define close(a) __ast_fdleak_close(a)
#define fopen(a,b) __ast_fdleak_fopen(a, b, __FILE__,__LINE__,__PRETTY_FUNCTION__)
#define fclose(a) __ast_fdleak_fclose(a)
#define dup2(a,b) __ast_fdleak_dup2(a, b, __FILE__,__LINE__,__PRETTY_FUNCTION__)
-#define dup(a) __ast_fdleak_dup(a, __FILE__,__LINE__,__PRETTY_FUNCTION__)
+#define dup(a) __ast_fdleak_dup(a, __FILE__,__LINE__,__PRETTY_FUNCTION__)
int __ast_fdleak_open(const char *file, int line, const char *func, const char *path, int flags, ...);
int __ast_fdleak_pipe(int *fds, const char *file, int line, const char *func);