minor cosmetical cleanups...
[util-vserver.git] / util-vserver / compat.h
index f128874..badca67 100644 (file)
 #ifndef H_UTIL_VSERVER_COMPAT_H
 #define H_UTIL_VSERVER_COMPAT_H
 
-#if defined(__dietlibc__) && defined(__STRICT_ANSI__) && defined(__STDC_VERSION__)
+#if defined(__dietlibc__) && !defined(ENSC_DIETLIBC_C99) && defined(__STRICT_ANSI__) && defined(__STDC_VERSION__)
 #  include <sys/cdefs.h>
 #  undef inline
+
+#  undef  __STRICT_ANSI__
+#  include <stdint.h>
+#  define __STRICT_ANSI__
+#endif
+
+#if defined(__dietlibc__)
+#  define ENSC_FIX_IOCTL(X)    do { if ((X)<-1) { errno=-(X); (X) = -1; } } while (0)
+#else
+#  define ENSC_FIX_IOCTL(X)    do { } while (0)
 #endif
 
 #if defined(__GNUC__)
 #  define UNUSED                __attribute__((__unused__))
 #  define NORETURN              __attribute__((__noreturn__))
-#  if __GNUC__ >= 3
+#  if __GNUC__>3 || (__GNUC__==3 && __GNUC_MINOR__>=3)
+#    define NONNULL(ARGS)      __attribute__((__nonnull__ ARGS))
 #    define ALWAYSINLINE        __attribute__((__always_inline__))
 #  else
+#    define NONNULL(ARGS)
 #    define ALWAYSINLINE
 #  endif
+#  if __GNUC__>3
+#    define PURE               __attribute__((__pure__))
+#  else
+#    define PURE
+#  endif
 #else
+#  define NONNULL(ARGS)
 #  define UNUSED
 #  define NORETURN
 #  define ALWAYSINLINE
+#  define PURE
+#endif
+
+#if !defined(__STDC_VERSION__) || (__STDC_VERSION__<199901L)
+#  define restrict
 #endif
 
 #if !defined(HAVE_DECL_MS_MOVE) || !(HAVE_DECL_MS_MOVE)
@@ -43,8 +66,9 @@
 #  define MS_MOVE              8192
 #endif
 
-#ifndef HAVE_CTX_T
-typedef short int              ctx_t;
+#ifndef HAVE_XID_T
+#include <stdint.h>
+typedef uint32_t               xid_t;
 #endif
 
 #if defined(__dietlibc__)
@@ -56,5 +80,6 @@ typedef short int             ctx_t;
   __result; }))
 #endif
 
+#define FMT_PREFIX             utilvserver_fmt_
 
 #endif //  H_UTIL_VSERVER_COMPAT_H