Zephyr API Documentation 4.0.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
stdint.h
Go to the documentation of this file.
1/* stdint.h */
2
3/*
4 * Copyright (c) 2014 Wind River Systems, Inc.
5 *
6 * SPDX-License-Identifier: Apache-2.0
7 */
8
9#ifndef ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_STDINT_H_
10#define ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_STDINT_H_
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#define INT8_MAX __INT8_MAX__
17#define INT16_MAX __INT16_MAX__
18#define INT32_MAX __INT32_MAX__
19#define INT64_MAX __INT64_MAX__
20#define INTMAX_MAX __INT64_MAX__
21
22#define INT8_MIN (-INT8_MAX - 1)
23#define INT16_MIN (-INT16_MAX - 1)
24#define INT32_MIN (-INT32_MAX - 1)
25#define INT64_MIN (-INT64_MAX - 1LL)
26
27#define UINT8_MAX __UINT8_MAX__
28#define UINT16_MAX __UINT16_MAX__
29#define UINT32_MAX __UINT32_MAX__
30#define UINT64_MAX __UINT64_MAX__
31#define UINTMAX_MAX __UINT64_MAX__
32
33#define INT_FAST8_MAX __INT_FAST8_MAX__
34#define INT_FAST16_MAX __INT_FAST16_MAX__
35#define INT_FAST32_MAX __INT_FAST32_MAX__
36#define INT_FAST64_MAX __INT_FAST64_MAX__
37
38#define INT_FAST8_MIN (-INT_FAST8_MAX - 1)
39#define INT_FAST16_MIN (-INT_FAST16_MAX - 1)
40#define INT_FAST32_MIN (-INT_FAST32_MAX - 1)
41#define INT_FAST64_MIN (-INT_FAST64_MAX - 1LL)
42
43#define UINT_FAST8_MAX __UINT_FAST8_MAX__
44#define UINT_FAST16_MAX __UINT_FAST16_MAX__
45#define UINT_FAST32_MAX __UINT_FAST32_MAX__
46#define UINT_FAST64_MAX __UINT_FAST64_MAX__
47
48#define INT_LEAST8_MAX __INT_LEAST8_MAX__
49#define INT_LEAST16_MAX __INT_LEAST16_MAX__
50#define INT_LEAST32_MAX __INT_LEAST32_MAX__
51#define INT_LEAST64_MAX __INT_LEAST64_MAX__
52
53#define INT_LEAST8_MIN (-INT_LEAST8_MAX - 1)
54#define INT_LEAST16_MIN (-INT_LEAST16_MAX - 1)
55#define INT_LEAST32_MIN (-INT_LEAST32_MAX - 1)
56#define INT_LEAST64_MIN (-INT_LEAST64_MAX - 1LL)
57
58#define UINT_LEAST8_MAX __UINT_LEAST8_MAX__
59#define UINT_LEAST16_MAX __UINT_LEAST16_MAX__
60#define UINT_LEAST32_MAX __UINT_LEAST32_MAX__
61#define UINT_LEAST64_MAX __UINT_LEAST64_MAX__
62
63#define INTPTR_MAX __INTPTR_MAX__
64#define INTPTR_MIN (-INTPTR_MAX - 1)
65#define UINTPTR_MAX __UINTPTR_MAX__
66
67#define PTRDIFF_MAX __PTRDIFF_MAX__
68#define PTRDIFF_MIN (-PTRDIFF_MAX - 1)
69
70#define SIZE_MAX __SIZE_MAX__
71
72typedef __INT8_TYPE__ int8_t;
73typedef __INT16_TYPE__ int16_t;
74typedef __INT32_TYPE__ int32_t;
75typedef __INT64_TYPE__ int64_t;
76typedef __INT64_TYPE__ intmax_t;
77
78typedef __INT_FAST8_TYPE__ int_fast8_t;
79typedef __INT_FAST16_TYPE__ int_fast16_t;
80typedef __INT_FAST32_TYPE__ int_fast32_t;
81typedef __INT_FAST64_TYPE__ int_fast64_t;
82
83typedef __INT_LEAST8_TYPE__ int_least8_t;
84typedef __INT_LEAST16_TYPE__ int_least16_t;
85typedef __INT_LEAST32_TYPE__ int_least32_t;
86typedef __INT_LEAST64_TYPE__ int_least64_t;
87
88typedef __UINT8_TYPE__ uint8_t;
89typedef __UINT16_TYPE__ uint16_t;
90typedef __UINT32_TYPE__ uint32_t;
91typedef __UINT64_TYPE__ uint64_t;
92typedef __UINT64_TYPE__ uintmax_t;
93
94typedef __UINT_FAST8_TYPE__ uint_fast8_t;
95typedef __UINT_FAST16_TYPE__ uint_fast16_t;
96typedef __UINT_FAST32_TYPE__ uint_fast32_t;
97typedef __UINT_FAST64_TYPE__ uint_fast64_t;
98
99typedef __UINT_LEAST8_TYPE__ uint_least8_t;
100typedef __UINT_LEAST16_TYPE__ uint_least16_t;
101typedef __UINT_LEAST32_TYPE__ uint_least32_t;
102typedef __UINT_LEAST64_TYPE__ uint_least64_t;
103
104typedef __INTPTR_TYPE__ intptr_t;
105typedef __UINTPTR_TYPE__ uintptr_t;
106
107#if defined(__GNUC__) || defined(__clang__)
108/* These macros must produce constant integer expressions, which can't
109 * be done in the preprocessor (casts aren't allowed). Defer to the
110 * GCC internal functions where they're available.
111 */
112#define INT8_C(_v) __INT8_C(_v)
113#define INT16_C(_v) __INT16_C(_v)
114#define INT32_C(_v) __INT32_C(_v)
115#define INT64_C(_v) __INT64_C(_v)
116#define INTMAX_C(_v) __INTMAX_C(_v)
117
118#define UINT8_C(_v) __UINT8_C(_v)
119#define UINT16_C(_v) __UINT16_C(_v)
120#define UINT32_C(_v) __UINT32_C(_v)
121#define UINT64_C(_v) __UINT64_C(_v)
122#define UINTMAX_C(_v) __UINTMAX_C(_v)
123#endif /* defined(__GNUC__) || defined(__clang__) */
124
125#ifdef __CCAC__
126#ifndef __INT8_C
127#define __INT8_C(x) x
128#endif
129
130#ifndef INT8_C
131#define INT8_C(x) __INT8_C(x)
132#endif
133
134#ifndef __UINT8_C
135#define __UINT8_C(x) x ## U
136#endif
137
138#ifndef UINT8_C
139#define UINT8_C(x) __UINT8_C(x)
140#endif
141
142#ifndef __INT16_C
143#define __INT16_C(x) x
144#endif
145
146#ifndef INT16_C
147#define INT16_C(x) __INT16_C(x)
148#endif
149
150#ifndef __UINT16_C
151#define __UINT16_C(x) x ## U
152#endif
153
154#ifndef UINT16_C
155#define UINT16_C(x) __UINT16_C(x)
156#endif
157
158#ifndef __INT32_C
159#define __INT32_C(x) x
160#endif
161
162#ifndef INT32_C
163#define INT32_C(x) __INT32_C(x)
164#endif
165
166#ifndef __UINT32_C
167#define __UINT32_C(x) x ## U
168#endif
169
170#ifndef UINT32_C
171#define UINT32_C(x) __UINT32_C(x)
172#endif
173
174#ifndef __INT64_C
175#define __INT64_C(x) x
176#endif
177
178#ifndef INT64_C
179#define INT64_C(x) __INT64_C(x)
180#endif
181
182#ifndef __UINT64_C
183#define __UINT64_C(x) x ## ULL
184#endif
185
186#ifndef UINT64_C
187#define UINT64_C(x) __UINT64_C(x)
188#endif
189
190#ifndef __INTMAX_C
191#define __INTMAX_C(x) x
192#endif
193
194#ifndef INTMAX_C
195#define INTMAX_C(x) __INTMAX_C(x)
196#endif
197
198#ifndef __UINTMAX_C
199#define __UINTMAX_C(x) x ## ULL
200#endif
201
202#ifndef UINTMAX_C
203#define UINTMAX_C(x) __UINTMAX_C(x)
204#endif
205#endif /* __CCAC__ */
206
207#ifdef __cplusplus
208}
209#endif
210
211#endif /* ZEPHYR_LIB_LIBC_MINIMAL_INCLUDE_STDINT_H_ */
__UINT32_TYPE__ uint32_t
Definition stdint.h:90
__INTPTR_TYPE__ intptr_t
Definition stdint.h:104
__INT32_TYPE__ int32_t
Definition stdint.h:74
__UINT_LEAST16_TYPE__ uint_least16_t
Definition stdint.h:100
__UINT64_TYPE__ uint64_t
Definition stdint.h:91
__UINT_FAST8_TYPE__ uint_fast8_t
Definition stdint.h:94
__INT_LEAST16_TYPE__ int_least16_t
Definition stdint.h:84
__UINT8_TYPE__ uint8_t
Definition stdint.h:88
__INT_LEAST32_TYPE__ int_least32_t
Definition stdint.h:85
__UINTPTR_TYPE__ uintptr_t
Definition stdint.h:105
__INT_FAST32_TYPE__ int_fast32_t
Definition stdint.h:80
__UINT16_TYPE__ uint16_t
Definition stdint.h:89
__UINT_LEAST8_TYPE__ uint_least8_t
Definition stdint.h:99
__UINT_FAST64_TYPE__ uint_fast64_t
Definition stdint.h:97
__UINT_LEAST32_TYPE__ uint_least32_t
Definition stdint.h:101
__INT_FAST16_TYPE__ int_fast16_t
Definition stdint.h:79
__INT_LEAST64_TYPE__ int_least64_t
Definition stdint.h:86
__INT_FAST8_TYPE__ int_fast8_t
Definition stdint.h:78
__INT64_TYPE__ intmax_t
Definition stdint.h:76
__UINT_FAST32_TYPE__ uint_fast32_t
Definition stdint.h:96
__UINT_FAST16_TYPE__ uint_fast16_t
Definition stdint.h:95
__UINT64_TYPE__ uintmax_t
Definition stdint.h:92
__UINT_LEAST64_TYPE__ uint_least64_t
Definition stdint.h:102
__INT_FAST64_TYPE__ int_fast64_t
Definition stdint.h:81
__INT64_TYPE__ int64_t
Definition stdint.h:75
__INT8_TYPE__ int8_t
Definition stdint.h:72
__INT_LEAST8_TYPE__ int_least8_t
Definition stdint.h:83
__INT16_TYPE__ int16_t
Definition stdint.h:73