Added a test for MUIA_Listview_SelectChange.
[AROS.git] / compiler / stdc / include / aros / stdc / stdint.h
blob71e01dd437b8edce91ab64d2b248d18c3c286f73
1 /*
2 Copyright © 1995-2015, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: C99 header file stdint.h
6 Standard fixed sized integral types.
7 */
9 #include <aros/cpu.h>
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))
69 #if __WORDSIZE == 64
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))
73 #else
74 #define INTPTR_MIN (-2147483647-1)
75 #define INTPTR_MAX (2147483647)
76 #define UINTPTR_MAX (4294967295U)
77 #endif
79 #ifndef SIZE_MAX
80 # if __WORDSIZE == 64
81 # define SIZE_MAX UINT64_MAX
82 # else
83 # define SIZE_MAX UINT32_MAX
84 # endif
85 #endif
87 /* TODO:
88 PTRDIFF_MIN, _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
100 /* Signed. */
101 # define INT8_C(c) c
102 # define INT16_C(c) c
103 # define INT32_C(c) c
104 # if __WORDSIZE == 64
105 # define INT64_C(c) c ## L
106 # else
107 # define INT64_C(c) c ## LL
108 # endif
110 /* Unsigned. */
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
116 # else
117 # define UINT64_C(c) c ## ULL
118 # endif
120 /* Maximal type. */
121 # if __WORDSIZE == 64
122 # define INTMAX_C(c) c ## L
123 # define UINTMAX_C(c) c ## UL
124 # else
125 # define INTMAX_C(c) c ## LL
126 # define UINTMAX_C(c) c ## ULL
127 # endif
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 */