1/* DO NOT EDIT! GENERATED AUTOMATICALLY! */
2#include <stddef.h>
3#if __GLIBC__ >= 2
4#include <stdint.h>
5#else
6/* Copyright (C) 2001-2002, 2004-2009 Free Software Foundation, Inc.
7   Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood.
8   This file is part of gnulib.
9
10   This program is free software; you can redistribute it and/or modify
11   it under the terms of the GNU Lesser General Public License as published by
12   the Free Software Foundation; either version 2, or (at your option)
13   any later version.
14
15   This program is distributed in the hope that it will be useful,
16   but WITHOUT ANY WARRANTY; without even the implied warranty of
17   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18   GNU Lesser General Public License for more details.
19
20   You should have received a copy of the GNU Lesser General Public License
21   along with this program; if not, write to the Free Software Foundation,
22   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
23
24/*
25 * Subset of ISO C 99 <stdint.h> for platforms that lack it.
26 * <http://www.opengroup.org/susv3xbd/stdint.h.html>
27 */
28
29#ifndef _UNISTRING_STDINT_H
30
31/* When including a system file that in turn includes <inttypes.h>,
32   use the system <inttypes.h>, not our substitute.  This avoids
33   problems with (for example) VMS, whose <sys/bitypes.h> includes
34   <inttypes.h>.  */
35#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
36
37/* Get those types that are already defined in other system include
38   files, so that we can "#define int8_t signed char" below without
39   worrying about a later system include file containing a "typedef
40   signed char int8_t;" that will get messed up by our macro.  Our
41   macros should all be consistent with the system versions, except
42   for the "fast" types and macros, which we recommend against using
43   in public interfaces due to compiler differences.  */
44
45#if 1
46# if defined __sgi && ! defined __c99
47   /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
48      with "This header file is to be used only for c99 mode compilations"
49      diagnostics.  */
50#  define __STDINT_H__
51# endif
52  /* Other systems may have an incomplete or buggy <stdint.h>.
53     Include it before <inttypes.h>, since any "#include <stdint.h>"
54     in <inttypes.h> would reinclude us, skipping our contents because
55     _UNISTRING_STDINT_H is defined.
56     The include_next requires a split double-inclusion guard.  */
57# if __GNUC__ >= 3
58
59# endif
60# include <stdint.h>
61#endif
62
63#if ! defined _UNISTRING_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
64#define _UNISTRING_STDINT_H
65
66/* <sys/types.h> defines some of the stdint.h types as well, on glibc,
67   IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
68   AIX 5.2 <sys/types.h> isn't needed and causes troubles.
69   MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
70   relies on the system <stdint.h> definitions, so include
71   <sys/types.h> after <stdint.h>.  */
72#if 1 && ! defined _AIX
73# include <sys/types.h>
74#endif
75
76/* Get LONG_MIN, LONG_MAX, ULONG_MAX.  */
77#include <limits.h>
78
79#if 1
80  /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
81     int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
82     <inttypes.h> also defines intptr_t and uintptr_t.  */
83# include <inttypes.h>
84#elif 0
85  /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
86     the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX.  */
87# include <sys/inttypes.h>
88#endif
89
90#if 0 && ! defined __BIT_TYPES_DEFINED__
91  /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
92     int{8,16,32,64}_t and __BIT_TYPES_DEFINED__.  In libc5 >= 5.2.2 it is
93     included by <sys/types.h>.  */
94# include <sys/bitypes.h>
95#endif
96
97#undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
98
99
100/* 7.18.1.1. Exact-width integer types */
101
102/* Here we assume a standard architecture where the hardware integer
103   types have 8, 16, 32, optionally 64 bits.  */
104
105#undef int8_t
106#undef uint8_t
107typedef signed char unistring_int8_t;
108typedef unsigned char unistring_uint8_t;
109#define int8_t unistring_int8_t
110#define uint8_t unistring_uint8_t
111
112#undef int16_t
113#undef uint16_t
114typedef short int unistring_int16_t;
115typedef unsigned short int unistring_uint16_t;
116#define int16_t unistring_int16_t
117#define uint16_t unistring_uint16_t
118
119#undef int32_t
120#undef uint32_t
121typedef int unistring_int32_t;
122typedef unsigned int unistring_uint32_t;
123#define int32_t unistring_int32_t
124#define uint32_t unistring_uint32_t
125
126/* Avoid collision with Solaris 2.5.1 <pthread.h> etc.  */
127#define _UINT8_T
128#define _UINT32_T
129#define _UINT64_T
130
131
132#endif /* _UNISTRING_STDINT_H */
133#endif /* !defined _UNISTRING_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
134#endif
135