blob: 2181719fd907b6cc516f0c02217d0a32d2b7874c [file] [log] [blame]
rjw1f884582022-01-06 17:20:42 +08001/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _LINUX_STDDEF_H
3#define _LINUX_STDDEF_H
4
5#include <uapi/linux/stddef.h>
6
7#undef NULL
8#define NULL ((void *)0)
9
10enum {
11 false = 0,
12 true = 1
13};
14
15#undef offsetof
16#ifdef __compiler_offsetof
17#define offsetof(TYPE, MEMBER) __compiler_offsetof(TYPE, MEMBER)
18#else
19#define offsetof(TYPE, MEMBER) ((size_t)&((TYPE *)0)->MEMBER)
20#endif
21
22/**
23 * offsetofend(TYPE, MEMBER)
24 *
25 * @TYPE: The type of the structure
26 * @MEMBER: The member within the structure to get the end offset of
27 */
28#define offsetofend(TYPE, MEMBER) \
29 (offsetof(TYPE, MEMBER) + sizeof(((TYPE *)0)->MEMBER))
30
31#endif