|
||||
File indexing completed on 2025-01-18 10:13:16
0001 /* DO NOT EDIT! GENERATED AUTOMATICALLY! */ 0002 #include <stddef.h> 0003 #if __GLIBC__ >= 2 0004 #include <stdint.h> 0005 #else 0006 /* Copyright (C) 2001-2002, 2004-2010 Free Software Foundation, Inc. 0007 Written by Paul Eggert, Bruno Haible, Sam Steingold, Peter Burwood. 0008 This file is part of gnulib. 0009 0010 This program is free software; you can redistribute it and/or modify 0011 it under the terms of the GNU Lesser General Public License as published by 0012 the Free Software Foundation; either version 2, or (at your option) 0013 any later version. 0014 0015 This program is distributed in the hope that it will be useful, 0016 but WITHOUT ANY WARRANTY; without even the implied warranty of 0017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 0018 GNU Lesser General Public License for more details. 0019 0020 You should have received a copy of the GNU Lesser General Public License 0021 along with this program; if not, see <https://www.gnu.org/licenses/>. */ 0022 0023 /* 0024 * Subset of ISO C 99 <stdint.h> for platforms that lack it. 0025 * <http://www.opengroup.org/susv3xbd/stdint.h.html> 0026 */ 0027 0028 #ifndef _UNISTRING_STDINT_H 0029 0030 /* When including a system file that in turn includes <inttypes.h>, 0031 use the system <inttypes.h>, not our substitute. This avoids 0032 problems with (for example) VMS, whose <sys/bitypes.h> includes 0033 <inttypes.h>. */ 0034 #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H 0035 0036 /* Get those types that are already defined in other system include 0037 files, so that we can "#define int8_t signed char" below without 0038 worrying about a later system include file containing a "typedef 0039 signed char int8_t;" that will get messed up by our macro. Our 0040 macros should all be consistent with the system versions, except 0041 for the "fast" types and macros, which we recommend against using 0042 in public interfaces due to compiler differences. */ 0043 0044 #if 1 0045 # if defined __sgi && ! defined __c99 0046 /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users 0047 with "This header file is to be used only for c99 mode compilations" 0048 diagnostics. */ 0049 # define __STDINT_H__ 0050 # endif 0051 /* Other systems may have an incomplete or buggy <stdint.h>. 0052 Include it before <inttypes.h>, since any "#include <stdint.h>" 0053 in <inttypes.h> would reinclude us, skipping our contents because 0054 _UNISTRING_STDINT_H is defined. 0055 The include_next requires a split double-inclusion guard. */ 0056 # if __GNUC__ >= 3 0057 0058 # endif 0059 # include <stdint.h> 0060 #endif 0061 0062 #if ! defined _UNISTRING_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H 0063 #define _UNISTRING_STDINT_H 0064 0065 /* <sys/types.h> defines some of the stdint.h types as well, on glibc, 0066 IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>). 0067 AIX 5.2 <sys/types.h> isn't needed and causes troubles. 0068 MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but 0069 relies on the system <stdint.h> definitions, so include 0070 <sys/types.h> after <stdint.h>. */ 0071 #if 1 && ! defined _AIX 0072 # include <sys/types.h> 0073 #endif 0074 0075 /* Get LONG_MIN, LONG_MAX, ULONG_MAX. */ 0076 #include <limits.h> 0077 0078 #if 1 0079 /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines 0080 int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__. 0081 <inttypes.h> also defines intptr_t and uintptr_t. */ 0082 # include <inttypes.h> 0083 #elif 0 0084 /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and 0085 the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX. */ 0086 # include <sys/inttypes.h> 0087 #endif 0088 0089 #if 0 && ! defined __BIT_TYPES_DEFINED__ 0090 /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines 0091 int{8,16,32,64}_t and __BIT_TYPES_DEFINED__. In libc5 >= 5.2.2 it is 0092 included by <sys/types.h>. */ 0093 # include <sys/bitypes.h> 0094 #endif 0095 0096 #undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H 0097 0098 0099 /* 7.18.1.1. Exact-width integer types */ 0100 0101 /* Here we assume a standard architecture where the hardware integer 0102 types have 8, 16, 32, optionally 64 bits. */ 0103 0104 #undef int8_t 0105 #undef uint8_t 0106 typedef signed char unistring_int8_t; 0107 typedef unsigned char unistring_uint8_t; 0108 #define int8_t unistring_int8_t 0109 #define uint8_t unistring_uint8_t 0110 0111 #undef int16_t 0112 #undef uint16_t 0113 typedef short int unistring_int16_t; 0114 typedef unsigned short int unistring_uint16_t; 0115 #define int16_t unistring_int16_t 0116 #define uint16_t unistring_uint16_t 0117 0118 #undef int32_t 0119 #undef uint32_t 0120 typedef int unistring_int32_t; 0121 typedef unsigned int unistring_uint32_t; 0122 #define int32_t unistring_int32_t 0123 #define uint32_t unistring_uint32_t 0124 0125 /* Avoid collision with Solaris 2.5.1 <pthread.h> etc. */ 0126 #define _UINT8_T 0127 #define _UINT32_T 0128 0129 0130 #endif /* _UNISTRING_STDINT_H */ 0131 #endif /* !defined _UNISTRING_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */ 0132 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |