X-Git-Url: http://git.itanic.dy.fi/?p=log-plotter;a=blobdiff_plain;f=utils.h;h=102dc65339fe06e9feb2410754eb393474b0b57f;hp=8b5152ef8c4e6158f70b60822a8efe6e07ea9e72;hb=9abf935040bd368c4b3c1828a79691d200fd45a9;hpb=4daad2abbacb183bc39d7ef1220e86afe6068b5d diff --git a/utils.h b/utils.h index 8b5152e..102dc65 100644 --- a/utils.h +++ b/utils.h @@ -3,4 +3,14 @@ #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) +#ifndef offsetof +#define offsetof(type, member) __builtin_offsetof (type, member) +#endif + +#define container_of(ptr, type, member) \ + ({ \ + const typeof( ((type *)0)->member ) *__mptr = (ptr); \ + (type *)( (char *)__mptr - offsetof(type,member) ); \ + }) + #endif