1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 #ifndef _LIMITS_H_ 3 #define _LIMITS_H_ 4 5 #if __CHAR_BIT__ == 8 6 # if __CHAR_UNSIGNED__ 7 # define CHAR_MIN 0 8 # define CHAR_MAX __UINT8_MAX__ 9 # else 10 # define CHAR_MAX __INT8_MAX__ 11 # define CHAR_MIN (-CHAR_MAX - 1) 12 # endif 13 #endif 14 15 #if __SHRT_WIDTH__ == 16 16 # define SHRT_MAX __INT16_MAX__ 17 # define SHRT_MIN (-SHRT_MAX - 1) 18 # define USHRT_MAX __UINT16_MAX__ 19 #endif 20 21 #if __INT_WIDTH__ == 32 22 # define INT_MAX __INT32_MAX__ 23 # define INT_MIN (-INT_MAX - 1) 24 # define UINT_MAX __UINT32_MAX__ 25 #endif 26 27 #if __LONG_WIDTH__ == 64 28 # define LONG_MAX __INT64_MAX__ 29 # define LONG_MIN (-LONG_MAX - 1) 30 # define ULONG_MAX __UINT64_MAX__ 31 #elif __LONG_WIDTH__ == 32 32 # define LONG_MAX __INT32_MAX__ 33 # define LONG_MIN (-LONG_MAX - 1) 34 # define ULONG_MAX __UINT32_MAX__ 35 #endif 36 37 #if __LONG_LONG_WIDTH__ == 64 38 # define LLONG_MAX __INT64_MAX__ 39 # define LLONG_MIN (-LLONG_MAX - 1) 40 # define ULLONG_MAX __UINT64_MAX__ 41 #endif 42 43 #endif /* _LIMITS_H_ */ 44