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