1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _LINUX_STDDEF_H
3 #define _LINUX_STDDEF_H
5 #include <uapi/linux/stddef.h>
8 #define NULL ((void *)0)
16 #ifdef __compiler_offsetof
17 #define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
19 #define offsetof(TYPE, MEMBER) ((size_t)&((TYPE *)0)->MEMBER)
23 * sizeof_field(TYPE, MEMBER)
25 * @TYPE: The structure containing the field of interest
26 * @MEMBER: The field to return the size of
28 #define sizeof_field(TYPE, MEMBER) sizeof((((TYPE *)0)->MEMBER))
31 * offsetofend(TYPE, MEMBER)
33 * @TYPE: The type of the structure
34 * @MEMBER: The member within the structure to get the end offset of
36 #define offsetofend(TYPE, MEMBER) \
37 (offsetof(TYPE, MEMBER) + sizeof_field(TYPE, MEMBER))