154d50897SMasahiro Yamada /* SPDX-License-Identifier: GPL-2.0 */ 254d50897SMasahiro Yamada #ifndef _LINUX_LIMITS_H 354d50897SMasahiro Yamada #define _LINUX_LIMITS_H 454d50897SMasahiro Yamada 554d50897SMasahiro Yamada #include <uapi/linux/limits.h> 654d50897SMasahiro Yamada #include <linux/types.h> 73e0e9f8cSVincenzo Frascino #include <vdso/limits.h> 854d50897SMasahiro Yamada 954d50897SMasahiro Yamada #define SIZE_MAX (~(size_t)0) 10dabba872SPasha Tatashin #define SSIZE_MAX ((ssize_t)(SIZE_MAX >> 1)) 1154d50897SMasahiro Yamada #define PHYS_ADDR_MAX (~(phys_addr_t)0) 1254d50897SMasahiro Yamada 13*3c9d017cSAndy Shevchenko #define RESOURCE_SIZE_MAX ((resource_size_t)~0) 14*3c9d017cSAndy Shevchenko 1554d50897SMasahiro Yamada #define U8_MAX ((u8)~0U) 1654d50897SMasahiro Yamada #define S8_MAX ((s8)(U8_MAX >> 1)) 1754d50897SMasahiro Yamada #define S8_MIN ((s8)(-S8_MAX - 1)) 1854d50897SMasahiro Yamada #define U16_MAX ((u16)~0U) 1954d50897SMasahiro Yamada #define S16_MAX ((s16)(U16_MAX >> 1)) 2054d50897SMasahiro Yamada #define S16_MIN ((s16)(-S16_MAX - 1)) 2154d50897SMasahiro Yamada #define U32_MAX ((u32)~0U) 223f50f132SJohn Fastabend #define U32_MIN ((u32)0) 2354d50897SMasahiro Yamada #define S32_MAX ((s32)(U32_MAX >> 1)) 2454d50897SMasahiro Yamada #define S32_MIN ((s32)(-S32_MAX - 1)) 2554d50897SMasahiro Yamada #define U64_MAX ((u64)~0ULL) 2654d50897SMasahiro Yamada #define S64_MAX ((s64)(U64_MAX >> 1)) 2754d50897SMasahiro Yamada #define S64_MIN ((s64)(-S64_MAX - 1)) 2854d50897SMasahiro Yamada 2954d50897SMasahiro Yamada #endif /* _LINUX_LIMITS_H */ 30