33 lines
553 B
C
33 lines
553 B
C
/*
|
|
* stddef.h
|
|
*/
|
|
|
|
#ifndef _STDDEF_H
|
|
#define _STDDEF_H
|
|
|
|
#ifndef __KLIBC__
|
|
# define __KLIBC__ 1
|
|
#endif
|
|
|
|
#include <bitsize/stddef.h>
|
|
|
|
#undef NULL
|
|
#ifdef __cplusplus
|
|
# define NULL 0
|
|
#else
|
|
# define NULL ((void *)0)
|
|
#endif
|
|
|
|
#undef offsetof
|
|
#define offsetof(t,m) ((size_t)&((t *)0)->m)
|
|
|
|
#undef container_of
|
|
/*
|
|
* The container_of construct: if p is a pointer to member m of
|
|
* container class c, then return a pointer to the container of which
|
|
* *p is a member.
|
|
*/
|
|
#define container_of(p, c, m) ((c *)((char *)(p) - offsetof(c,m)))
|
|
|
|
#endif /* _STDDEF_H */
|