aboutsummaryrefslogtreecommitdiffstats
path: root/osdep.h
diff options
context:
space:
mode:
Diffstat (limited to 'osdep.h')
-rw-r--r--osdep.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/osdep.h b/osdep.h
index 626cea1..ffbf221 100644
--- a/osdep.h
+++ b/osdep.h
@@ -7,6 +7,10 @@
#include <sys/signal.h>
#endif
+#ifndef _WIN32
+#include <sys/time.h>
+#endif
+
#ifndef glue
#define xglue(x, y) x ## y
#define glue(x, y) xglue(x, y)
@@ -14,12 +18,6 @@
#define tostring(s) #s
#endif
-#ifndef container_of
-#define container_of(ptr, type, member) ({ \
- const typeof(((type *) 0)->member) *__mptr = (ptr); \
- (type *) ((char *) __mptr - offsetof(type, member));})
-#endif
-
#ifndef likely
#if __GNUC__ < 3
#define __builtin_expect(x, n) (x)
@@ -54,8 +52,10 @@
#define always_inline inline
#else
#define always_inline __attribute__ (( always_inline )) __inline__
+#ifdef __OPTIMIZE__
#define inline always_inline
#endif
+#endif
#else
#define inline always_inline
#endif
@@ -68,6 +68,13 @@
#define qemu_printf printf
+#if defined (__GNUC__) && defined (__GNUC_MINOR__)
+# define QEMU_GNUC_PREREQ(maj, min) \
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#else
+# define QEMU_GNUC_PREREQ(maj, min) 0
+#endif
+
void *qemu_memalign(size_t alignment, size_t size);
void *qemu_vmalloc(size_t size);
void qemu_vfree(void *ptr);