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