1
2 #ifndef _LINUX_LIMITS_H
3 #define _LINUX_LIMITS_H
4
5 #include <uapi/linux/limits.h>
6 #include <linux/types.h>
7
8 #define USHRT_MAX ((unsigned short)~0U)
9 #define SHRT_MAX ((short)(USHRT_MAX >> 1))
10 #define SHRT_MIN ((short)(-SHRT_MAX - 1))
11 #define INT_MAX ((int)(~0U >> 1))
12 #define INT_MIN (-INT_MAX - 1)
13 #define UINT_MAX (~0U)
14 #define LONG_MAX ((long)(~0UL >> 1))
15 #define LONG_MIN (-LONG_MAX - 1)
16 #define ULONG_MAX (~0UL)
17 #define LLONG_MAX ((long long)(~0ULL >> 1))
18 #define LLONG_MIN (-LLONG_MAX - 1)
19 #define ULLONG_MAX (~0ULL)
20 #define SIZE_MAX (~(size_t)0)
21 #define PHYS_ADDR_MAX (~(phys_addr_t)0)
22
23 #define U8_MAX ((u8)~0U)
24 #define S8_MAX ((s8)(U8_MAX >> 1))
25 #define S8_MIN ((s8)(-S8_MAX - 1))
26 #define U16_MAX ((u16)~0U)
27 #define S16_MAX ((s16)(U16_MAX >> 1))
28 #define S16_MIN ((s16)(-S16_MAX - 1))
29 #define U32_MAX ((u32)~0U)
30 #define S32_MAX ((s32)(U32_MAX >> 1))
31 #define S32_MIN ((s32)(-S32_MAX - 1))
32 #define U64_MAX ((u64)~0ULL)
33 #define S64_MAX ((s64)(U64_MAX >> 1))
34 #define S64_MIN ((s64)(-S64_MAX - 1))
35
36 #endif