xref: /openbmc/linux/include/linux/stddef.h (revision 842b6b16)
1 #ifndef _LINUX_STDDEF_H
2 #define _LINUX_STDDEF_H
3 
4 #include <uapi/linux/stddef.h>
5 
6 #undef NULL
7 #define NULL ((void *)0)
8 
9 enum {
10 	false	= 0,
11 	true	= 1
12 };
13 
14 #undef offsetof
15 #ifdef __compiler_offsetof
16 #define offsetof(TYPE, MEMBER)	__compiler_offsetof(TYPE, MEMBER)
17 #else
18 #define offsetof(TYPE, MEMBER)	((size_t)&((TYPE *)0)->MEMBER)
19 #endif
20 
21 /**
22  * offsetofend(TYPE, MEMBER)
23  *
24  * @TYPE: The type of the structure
25  * @MEMBER: The member within the structure to get the end offset of
26  */
27 #define offsetofend(TYPE, MEMBER) \
28 	(offsetof(TYPE, MEMBER)	+ sizeof(((TYPE *)0)->MEMBER))
29 
30 #endif
31