#ifndef _UTILS_H #define _UTILS_H #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