Masahiro Yamada | 54d5089 | 2019-03-07 16:27:14 -0800 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
| 2 | #ifndef _LINUX_LIMITS_H |
| 3 | #define _LINUX_LIMITS_H |
| 4 | |
| 5 | #include <uapi/linux/limits.h> |
| 6 | #include <linux/types.h> |
Vincenzo Frascino | 3e0e9f8 | 2020-03-20 14:53:28 +0000 | [diff] [blame] | 7 | #include <vdso/limits.h> |
Masahiro Yamada | 54d5089 | 2019-03-07 16:27:14 -0800 | [diff] [blame] | 8 | |
Masahiro Yamada | 54d5089 | 2019-03-07 16:27:14 -0800 | [diff] [blame] | 9 | #define SIZE_MAX (~(size_t)0) |
Pasha Tatashin | dabba87 | 2022-05-27 02:55:34 +0000 | [diff] [blame] | 10 | #define SSIZE_MAX ((ssize_t)(SIZE_MAX >> 1)) |
Masahiro Yamada | 54d5089 | 2019-03-07 16:27:14 -0800 | [diff] [blame] | 11 | #define PHYS_ADDR_MAX (~(phys_addr_t)0) |
| 12 | |
| 13 | #define U8_MAX ((u8)~0U) |
| 14 | #define S8_MAX ((s8)(U8_MAX >> 1)) |
| 15 | #define S8_MIN ((s8)(-S8_MAX - 1)) |
| 16 | #define U16_MAX ((u16)~0U) |
| 17 | #define S16_MAX ((s16)(U16_MAX >> 1)) |
| 18 | #define S16_MIN ((s16)(-S16_MAX - 1)) |
| 19 | #define U32_MAX ((u32)~0U) |
John Fastabend | 3f50f13 | 2020-03-30 14:36:39 -0700 | [diff] [blame] | 20 | #define U32_MIN ((u32)0) |
Masahiro Yamada | 54d5089 | 2019-03-07 16:27:14 -0800 | [diff] [blame] | 21 | #define S32_MAX ((s32)(U32_MAX >> 1)) |
| 22 | #define S32_MIN ((s32)(-S32_MAX - 1)) |
| 23 | #define U64_MAX ((u64)~0ULL) |
| 24 | #define S64_MAX ((s64)(U64_MAX >> 1)) |
| 25 | #define S64_MIN ((s64)(-S64_MAX - 1)) |
| 26 | |
| 27 | #endif /* _LINUX_LIMITS_H */ |