3 #include <arch/types.h>
5 /* Limits of integral types. */
7 /* Minimum of signed integral types. */
8 # define INT8_MIN (-128)
9 # define INT16_MIN (-32767-1)
10 # define INT32_MIN (-2147483647-1)
11 # define INT64_MIN (-__INT64_C(9223372036854775807)-1)
12 /* Maximum of signed integral types. */
13 # define INT8_MAX (127)
14 # define INT16_MAX (32767)
15 # define INT32_MAX (2147483647)
16 # define INT64_MAX (__INT64_C(9223372036854775807))
18 /* Maximum of unsigned integral types. */
19 # define UINT8_MAX (255)
20 # define UINT16_MAX (65535)
21 # define UINT32_MAX (4294967295U)
22 # define UINT64_MAX (__UINT64_C(18446744073709551615))
24 #if NUM_ADDR_BITS == 64
25 # define SIZE_MAX UINT64_MAX
26 # define LONG_MAX INT64_MAX
27 # define ULONG_MAX UINT64_MAX
28 #elif NUM_ADDR_BITS == 32
29 # define SIZE_MAX UINT32_MAX
30 # define LONG_MAX INT32_MAX
31 # define ULONG_MAX UINT32_MAX
33 # error "NUM_ADDR_BITS is not set"