xref: /OK3568_Linux_fs/kernel/include/linux/limits.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun #ifndef _LINUX_LIMITS_H
3*4882a593Smuzhiyun #define _LINUX_LIMITS_H
4*4882a593Smuzhiyun 
5*4882a593Smuzhiyun #include <uapi/linux/limits.h>
6*4882a593Smuzhiyun #include <linux/types.h>
7*4882a593Smuzhiyun #include <vdso/limits.h>
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #define SIZE_MAX	(~(size_t)0)
10*4882a593Smuzhiyun #define PHYS_ADDR_MAX	(~(phys_addr_t)0)
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #define U8_MAX		((u8)~0U)
13*4882a593Smuzhiyun #define S8_MAX		((s8)(U8_MAX >> 1))
14*4882a593Smuzhiyun #define S8_MIN		((s8)(-S8_MAX - 1))
15*4882a593Smuzhiyun #define U16_MAX		((u16)~0U)
16*4882a593Smuzhiyun #define S16_MAX		((s16)(U16_MAX >> 1))
17*4882a593Smuzhiyun #define S16_MIN		((s16)(-S16_MAX - 1))
18*4882a593Smuzhiyun #define U32_MAX		((u32)~0U)
19*4882a593Smuzhiyun #define U32_MIN		((u32)0)
20*4882a593Smuzhiyun #define S32_MAX		((s32)(U32_MAX >> 1))
21*4882a593Smuzhiyun #define S32_MIN		((s32)(-S32_MAX - 1))
22*4882a593Smuzhiyun #define U64_MAX		((u64)~0ULL)
23*4882a593Smuzhiyun #define S64_MAX		((s64)(U64_MAX >> 1))
24*4882a593Smuzhiyun #define S64_MIN		((s64)(-S64_MAX - 1))
25*4882a593Smuzhiyun 
26*4882a593Smuzhiyun #endif /* _LINUX_LIMITS_H */
27