2 Copyright © 1995-2015, The AROS Development Team. All rights reserved.
5 Desc: C99 header file stdint.h
6 Standard fixed sized integral types.
11 #include <aros/types/int_t.h>
13 #include <aros/types/intptr_t.h>
14 #include <aros/types/uintptr_t.h>
16 #if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS)
17 #ifndef _STDC_STDINT_H_LIMITMACROS
18 #define _STDC_STDINT_H_LIMITMACROS
19 #define INT8_MIN (-128)
20 #define INT16_MIN (-32767-1)
21 #define INT32_MIN (-2147483647-1)
22 #define INT64_MIN (-AROS_MAKE_INT64(9223372036854775807)-1)
24 #define INT8_MAX (127)
25 #define INT16_MAX (32767)
26 #define INT32_MAX (2147483647)
27 #define INT64_MAX (AROS_MAKE_INT64(9223372036854775807))
29 #define UINT8_MAX (255)
30 #define UINT16_MAX (65535)
31 #define UINT32_MAX (4294967295U)
32 #define UINT64_MAX (AROS_MAKE_UINT64(18446744073709551615))
34 #define SIG_ATOMIC_MIN AROS_SIG_ATOMIC_MIN
35 #define SIG_ATOMIC_MAX AROS_SIG_ATOMIC_MAX
37 #define INT_LEAST8_MIN (-128)
38 #define INT_LEAST16_MIN (-32767-1)
39 #define INT_LEAST32_MIN (-2147483647-1)
40 #define INT_LEAST64_MIN (-AROS_MAKE_INT64(9223372036854775807)-1)
42 #define INT_LEAST8_MAX (127)
43 #define INT_LEAST16_MAX (32767)
44 #define INT_LEAST32_MAX (2147483647)
45 #define INT_LEAST64_MAX (AROS_MAKE_INT64(9223372036854775807))
47 #define UINT_LEAST8_MAX (255)
48 #define UINT_LEAST16_MAX (65535)
49 #define UINT_LEAST32_MAX (4294967295U)
50 #define UINT_LEAST64_MAX (AROS_MAKE_UINT64(18446744073709551615))
53 #define INT_FAST8_MIN (-128)
54 #define INT_FAST16_MIN (-32767-1)
55 #define INT_FAST32_MIN (-2147483647-1)
56 #define INT_FAST64_MIN (-AROS_MAKE_INT64(9223372036854775807)-1)
58 #define INT_FAST8_MAX (127)
59 #define INT_FAST16_MAX (32767)
60 #define INT_FAST32_MAX (2147483647)
61 #define INT_FAST64_MAX (AROS_MAKE_INT64(9223372036854775807))
63 #define UINT_FAST8_MAX (255)
64 #define UINT_FAST16_MAX (65535)
65 #define UINT_FAST32_MAX (4294967295U)
66 #define UINT_FAST64_MAX (AROS_MAKE_UINT64(18446744073709551615))
70 #define INTPTR_MIN (-AROS_MAKE_INT64(9223372036854775807)-1)
71 #define INTPTR_MAX (AROS_MAKE_INT64(9223372036854775807))
72 #define UINTPTR_MAX (AROS_MAKE_UINT64(18446744073709551615))
74 #define INTPTR_MIN (-2147483647-1)
75 #define INTPTR_MAX (2147483647)
76 #define UINTPTR_MAX (4294967295U)
81 # define SIZE_MAX UINT64_MAX
83 # define SIZE_MAX UINT32_MAX
89 WCHAR_MIN, _MAX (must be <= -127 or >= 127)
90 WINT_MIN, _MAX (must be <= -65535 or >= 65535)
93 #endif /* _STDC_STDINT_H_LIMITMACROS */
94 #endif /* !__cplusplus || __STDC_LIMIT_MACROS */
96 #if !defined __cplusplus || defined __STDC_CONSTANT_MACROS
97 #ifndef _STDC_STDINT_H_CONSTMACROS
98 #define _STDC_STDINT_H_CONSTMACROS
102 # define INT16_C(c) c
103 # define INT32_C(c) c
104 # if __WORDSIZE == 64
105 # define INT64_C(c) c ## L
107 # define INT64_C(c) c ## LL
111 # define UINT8_C(c) c
112 # define UINT16_C(c) c
113 # define UINT32_C(c) c ## U
114 # if __WORDSIZE == 64
115 # define UINT64_C(c) c ## UL
117 # define UINT64_C(c) c ## ULL
121 # if __WORDSIZE == 64
122 # define INTMAX_C(c) c ## L
123 # define UINTMAX_C(c) c ## UL
125 # define INTMAX_C(c) c ## LL
126 # define UINTMAX_C(c) c ## ULL
129 /* Maximal integer (long long) size */
130 # define INTMAX_MIN INT64_MIN
131 # define INTMAX_MAX INT64_MAX
133 /* Maximal unsigned integer (unsigned long long) size */
134 # define UINTMAX_MAX UINT64_MAX
135 #endif /* _STDC_STDINT_H_CONSTMACROS */
136 #endif /* !__cplusplus || __STDC_CONSTANT_MACROS */