diff options
Diffstat (limited to 'list.h')
-rw-r--r-- | list.h | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -42,6 +42,14 @@ }) #endif +#ifndef container_of_safe +#define container_of_safe(ptr, type, member) \ + ({ \ + const __typeof__(((type *) NULL)->member) *__mptr = (ptr); \ + __mptr ? (type *)((char *) __mptr - offsetof(type, member)) : NULL; \ + }) +#endif + struct list_head { struct list_head *next; struct list_head *prev; |