| /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ | |
| /* Copyright (C) 2001-2002, 2004-2010 Free Software Foundation, Inc. | |
| Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. | |
| This file is part of gnulib. | |
| This program is free software; you can redistribute it and/or modify | |
| it under the terms of the GNU Lesser General Public License as published by | |
| the Free Software Foundation; either version 2, or (at your option) | |
| any later version. | |
| This program is distributed in the hope that it will be useful, | |
| but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| GNU Lesser General Public License for more details. | |
| You should have received a copy of the GNU Lesser General Public License | |
| along with this program; if not, see <http://www.gnu.org/licenses/>. */ | |
| /* | |
| * Subset of ISO C 99 <stdint.h> for platforms that lack it. | |
| * <http://www.opengroup.org/susv3xbd/stdint.h.html> | |
| */ | |
| /* When including a system file that in turn includes <inttypes.h>, | |
| use the system <inttypes.h>, not our substitute. This avoids | |
| problems with (for example) VMS, whose <sys/bitypes.h> includes | |
| <inttypes.h>. */ | |
| /* Get those types that are already defined in other system include | |
| files, so that we can "#define int8_t signed char" below without | |
| worrying about a later system include file containing a "typedef | |
| signed char int8_t;" that will get messed up by our macro. Our | |
| macros should all be consistent with the system versions, except | |
| for the "fast" types and macros, which we recommend against using | |
| in public interfaces due to compiler differences. */ | |
| /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users | |
| with "This header file is to be used only for c99 mode compilations" | |
| diagnostics. */ | |
| /* Other systems may have an incomplete or buggy <stdint.h>. | |
| Include it before <inttypes.h>, since any "#include <stdint.h>" | |
| in <inttypes.h> would reinclude us, skipping our contents because | |
| _UNISTRING_STDINT_H is defined. | |
| The include_next requires a split double-inclusion guard. */ | |
| /* <sys/types.h> defines some of the stdint.h types as well, on glibc, | |
| IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>). | |
| AIX 5.2 <sys/types.h> isn't needed and causes troubles. | |
| MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but | |
| relies on the system <stdint.h> definitions, so include | |
| <sys/types.h> after <stdint.h>. */ | |
| /* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ | |
| /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines | |
| int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. | |
| <inttypes.h> also defines intptr_t and uintptr_t. */ | |
| /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and | |
| the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ | |
| /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines | |
| int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is | |
| included by <sys/types.h>. */ | |
| /* 7.18.1.1. Exact-width integer types */ | |
| /* Here we assume a standard architecture where the hardware integer | |
| types have 8, 16, 32, optionally 64 bits. */ | |
| typedef signed char unistring_int8_t; | |
| typedef unsigned char unistring_uint8_t; | |
| typedef short int unistring_int16_t; | |
| typedef unsigned short int unistring_uint16_t; | |
| typedef int unistring_int32_t; | |
| typedef unsigned int unistring_uint32_t; | |
| /* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */ | |