2 * Copyright (c) 2001 Mike Barcroft <mike@FreeBSD.org>
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29 #ifndef _SYS_STDINT_H_
30 #define _SYS_STDINT_H_
32 #include <sys/cdefs.h>
34 #include <machine/ansi.h>
35 #include <machine/limits.h>
37 typedef __int8_t int8_t;
38 typedef __int16_t int16_t;
39 typedef __int32_t int32_t;
40 typedef __int64_t int64_t;
42 typedef __uint8_t uint8_t;
43 typedef __uint16_t uint16_t;
44 typedef __uint32_t uint32_t;
45 typedef __uint64_t uint64_t;
47 typedef __int_least8_t int_least8_t;
48 typedef __int_least16_t int_least16_t;
49 typedef __int_least32_t int_least32_t;
50 typedef __int_least64_t int_least64_t;
52 typedef __uint_least8_t uint_least8_t;
53 typedef __uint_least16_t uint_least16_t;
54 typedef __uint_least32_t uint_least32_t;
55 typedef __uint_least64_t uint_least64_t;
57 typedef __int_fast8_t int_fast8_t;
58 typedef __int_fast16_t int_fast16_t;
59 typedef __int_fast32_t int_fast32_t;
60 typedef __int_fast64_t int_fast64_t;
62 typedef __uint_fast8_t uint_fast8_t;
63 typedef __uint_fast16_t uint_fast16_t;
64 typedef __uint_fast32_t uint_fast32_t;
65 typedef __uint_fast64_t uint_fast64_t;
67 typedef __intmax_t intmax_t;
68 typedef __uintmax_t uintmax_t;
70 typedef __intptr_t intptr_t;
71 typedef __uintptr_t uintptr_t;
73 #if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS)
74 #define INT8_C(c) __INT8_C(c)
75 #define INT16_C(c) __INT16_C(c)
76 #define INT32_C(c) __INT32_C(c)
77 #define INT64_C(c) __INT64_C(c)
79 #define UINT8_C(c) __UINT8_C(c)
80 #define UINT16_C(c) __UINT16_C(c)
81 #define UINT32_C(c) __UINT32_C(c)
82 #define UINT64_C(c) __UINT64_C(c)
84 #define INTMAX_C(c) __INTMAX_C(c)
85 #define UINTMAX_C(c) __UINTMAX_C(c)
86 #endif /* !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) */
88 #endif /* !_SYS_STDINT_H_ */