/* limits.h */ /* * Copyright (c) 2014 Wind River Systems, Inc. * * SPDX-License-Identifier: Apache-2.0 */ #ifndef ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_LIMITS_H_ #define ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_LIMITS_H_ #ifdef __cplusplus extern "C" { #endif #if __CHAR_BIT__ == 8 #define UCHAR_MAX 0xFFU #else #error "unexpected __CHAR_BIT__ value" #endif #define SCHAR_MAX __SCHAR_MAX__ #define SCHAR_MIN (-SCHAR_MAX - 1) #ifdef __CHAR_UNSIGNED__ /* 'char' is an unsigned type */ #define CHAR_MAX UCHAR_MAX #define CHAR_MIN 0 #else /* 'char' is a signed type */ #define CHAR_MAX SCHAR_MAX #define CHAR_MIN SCHAR_MIN #endif #define CHAR_BIT __CHAR_BIT__ #define LONG_BIT (__SIZEOF_LONG__ * CHAR_BIT) #define WORD_BIT (__SIZEOF_POINTER__ * CHAR_BIT) #define INT_MAX __INT_MAX__ #define SHRT_MAX __SHRT_MAX__ #define LONG_MAX __LONG_MAX__ #define LLONG_MAX __LONG_LONG_MAX__ #define INT_MIN (-INT_MAX - 1) #define SHRT_MIN (-SHRT_MAX - 1) #define LONG_MIN (-LONG_MAX - 1L) #define LLONG_MIN (-LLONG_MAX - 1LL) #if __SIZE_MAX__ == __UINT32_MAX__ #define SSIZE_MAX __INT32_MAX__ #elif __SIZE_MAX__ == __UINT64_MAX__ #define SSIZE_MAX __INT64_MAX__ #else #error "unexpected __SIZE_MAX__ value" #endif #if __SIZEOF_SHORT__ == 2 #define USHRT_MAX 0xFFFFU #else #error "unexpected __SIZEOF_SHORT__ value" #endif #if __SIZEOF_INT__ == 4 #define UINT_MAX 0xFFFFFFFFU #else #error "unexpected __SIZEOF_INT__ value" #endif #if __SIZEOF_LONG__ == 4 #define ULONG_MAX 0xFFFFFFFFUL #elif __SIZEOF_LONG__ == 8 #define ULONG_MAX 0xFFFFFFFFFFFFFFFFUL #else #error "unexpected __SIZEOF_LONG__ value" #endif #if __SIZEOF_LONG_LONG__ == 8 #define ULLONG_MAX 0xFFFFFFFFFFFFFFFFULL #else #error "unexpected __SIZEOF_LONG_LONG__ value" #endif #define PATH_MAX 256 #ifdef __cplusplus } #endif #endif /* ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_LIMITS_H_ */