Add stddef.h include for offsetof
[babeltrace.git] / include / babeltrace / compiler.h
index 7850ded675a3bb75ce892e2f74d75fcb915561ab..ee45cddc6ed0ebc8dfbe6015ffa005dc2e1aab7e 100644 (file)
@@ -1,6 +1,16 @@
 #ifndef _BABELTRACE_COMPILER_H
 #define _BABELTRACE_COMPILER_H
 
+#include <stddef.h>    /* for offsetof */
+
 #define MAYBE_BUILD_BUG_ON(cond) ((void)sizeof(char[1 - 2 * !!(cond)]))
 
+#ifndef container_of
+#define container_of(ptr, type, member)                                        \
+       ({                                                              \
+               const typeof(((type *)NULL)->member) * __ptr = (ptr);   \
+               (type *)((char *)__ptr - offsetof(type, member));       \
+       })
+#endif
+
 #endif /* _BABELTRACE_COMPILER_H */
This page took 0.023474 seconds and 4 git commands to generate.