Merge branch 'vendor/DHCPCD'
[dragonfly.git] / include / stdint.h
1 /*
2  * Copyright (c) 2003 Matthew Dillon <dillon@backplane.com>
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
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.
13  *
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
24  * SUCH DAMAGE.
25  */
26
27 #ifndef _STDINT_H_
28 #define _STDINT_H_
29
30 #include <machine/stdint.h>
31
32 typedef __int8_t        int8_t;
33 typedef __int16_t       int16_t;
34 typedef __int32_t       int32_t;
35 typedef __int64_t       int64_t;
36
37 #ifndef _UINT8_T_DECLARED
38 typedef __uint8_t       uint8_t;
39 #define _UINT8_T_DECLARED
40 #endif
41 #ifndef _UINT16_T_DECLARED
42 typedef __uint16_t      uint16_t;
43 #define _UINT16_T_DECLARED
44 #endif
45 #ifndef _UINT32_T_DECLARED
46 typedef __uint32_t      uint32_t;
47 #define _UINT32_T_DECLARED
48 #endif
49 #ifndef _UINT64_T_DECLARED
50 typedef __uint64_t      uint64_t;
51 #define _UINT64_T_DECLARED
52 #endif
53
54 #ifndef _INTPTR_T_DECLARED
55 #define _INTPTR_T_DECLARED
56 typedef __intptr_t      intptr_t;
57 #endif
58 typedef __uintptr_t     uintptr_t;
59
60 typedef __intmax_t      intmax_t;
61 typedef __uintmax_t     uintmax_t;
62
63 typedef __int_fast8_t           int_fast8_t;
64 typedef __int_fast16_t          int_fast16_t;
65 typedef __int_fast32_t          int_fast32_t;
66 typedef __int_fast64_t          int_fast64_t;
67 typedef __int_least8_t          int_least8_t;
68 typedef __int_least16_t         int_least16_t;
69 typedef __int_least32_t         int_least32_t;
70 typedef __int_least64_t         int_least64_t;
71 typedef __uint_fast8_t          uint_fast8_t;
72 typedef __uint_fast16_t         uint_fast16_t;
73 typedef __uint_fast32_t         uint_fast32_t;
74 typedef __uint_fast64_t         uint_fast64_t;
75 typedef __uint_least8_t         uint_least8_t;
76 typedef __uint_least16_t        uint_least16_t;
77 typedef __uint_least32_t        uint_least32_t;
78 typedef __uint_least64_t        uint_least64_t;
79
80 #include <machine/int_const.h>
81 #include <machine/int_limits.h>
82 #include <machine/wchar_limits.h>
83
84 /* Also possibly defined in <wchar.h> */
85 /* Limits of wchar_t. */
86 #ifndef WCHAR_MIN
87 #define WCHAR_MIN       __WCHAR_MIN
88 #endif
89 #ifndef WCHAR_MAX
90 #define WCHAR_MAX       __WCHAR_MAX
91 #endif
92
93 /* Limits of wint_t. */
94 #ifndef WINT_MIN
95 #define WINT_MIN        __WINT_MIN
96 #endif
97 #ifndef WINT_MAX
98 #define WINT_MAX        __WINT_MAX
99 #endif
100
101 #if __EXT1_VISIBLE
102 #ifndef RSIZE_MAX
103 #define RSIZE_MAX (SIZE_MAX >> 1)
104 #endif
105 #endif /* __EXT1_VISIBLE */
106
107 #endif /* !_STDINT_H_ */