#ifndef _COMMON_H_ #define _COMMON_H_ #include #include #include #include #include #include // [warring] offsetof is redefined in stddef.h // // #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) // #define container_of(ptr, type, member) ({ \ // const typeof( ((type *)0)->member ) *__mptr = (ptr); \ // (type *)( (char *)__mptr - offsetof(type,member) );}) #define _offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - _offsetof(type,member) );}) #endif