Commit | Line | Data |
---|---|---|
d42e7319 JB |
1 | #ifndef SUPPORT_H_ |
2 | #define SUPPORT_H_ | |
3 | ||
4 | #include <stddef.h> | |
5 | ||
6 | /** | |
7 | * container_of - cast a member of a structure out to the containing structure | |
8 | * @ptr: the pointer to the member. | |
9 | * @type: the type of the container struct this is embedded in. | |
10 | * @member: the name of the member within the struct. | |
11 | * | |
12 | */ | |
13 | #define container_of(ptr, type, member) ({ \ | |
14 | const typeof( ((type *)0)->member ) *__mptr = (ptr); \ | |
15 | (type *)( (char *)__mptr - offsetof(type,member) );}) | |
16 | ||
17 | #endif |