X-Git-Url: http://git.efficios.com/?p=babeltrace.git;a=blobdiff_plain;f=include%2Fbabeltrace%2Fcompiler.h;h=c8bb4db5b8cd38d61be56aa06da8f892d3e13969;hp=7850ded675a3bb75ce892e2f74d75fcb915561ab;hb=fc93b2bdc2ced1d46fefb91fe79391afded8e504;hpb=a3dbc7949a29a2abe9c7e75f2d893f99d36d6256 diff --git a/include/babeltrace/compiler.h b/include/babeltrace/compiler.h index 7850ded6..c8bb4db5 100644 --- a/include/babeltrace/compiler.h +++ b/include/babeltrace/compiler.h @@ -3,4 +3,12 @@ #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 */