gnunet-android

GNUnet for Android
Log | Files | Refs | README

stdint.h (4668B)


      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-2010 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, see <https://www.gnu.org/licenses/>.  */
     22 
     23 /*
     24  * Subset of ISO C 99 <stdint.h> for platforms that lack it.
     25  * <http://www.opengroup.org/susv3xbd/stdint.h.html>
     26  */
     27 
     28 #ifndef _UNISTRING_STDINT_H
     29 
     30 /* When including a system file that in turn includes <inttypes.h>,
     31    use the system <inttypes.h>, not our substitute.  This avoids
     32    problems with (for example) VMS, whose <sys/bitypes.h> includes
     33    <inttypes.h>.  */
     34 #define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
     35 
     36 /* Get those types that are already defined in other system include
     37    files, so that we can "#define int8_t signed char" below without
     38    worrying about a later system include file containing a "typedef
     39    signed char int8_t;" that will get messed up by our macro.  Our
     40    macros should all be consistent with the system versions, except
     41    for the "fast" types and macros, which we recommend against using
     42    in public interfaces due to compiler differences.  */
     43 
     44 #if 1
     45 # if defined __sgi && ! defined __c99
     46    /* Bypass IRIX's <stdint.h> if in C89 mode, since it merely annoys users
     47       with "This header file is to be used only for c99 mode compilations"
     48       diagnostics.  */
     49 #  define __STDINT_H__
     50 # endif
     51   /* Other systems may have an incomplete or buggy <stdint.h>.
     52      Include it before <inttypes.h>, since any "#include <stdint.h>"
     53      in <inttypes.h> would reinclude us, skipping our contents because
     54      _UNISTRING_STDINT_H is defined.
     55      The include_next requires a split double-inclusion guard.  */
     56 # if __GNUC__ >= 3
     57 
     58 # endif
     59 # include <stdint.h>
     60 #endif
     61 
     62 #if ! defined _UNISTRING_STDINT_H && ! defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H
     63 #define _UNISTRING_STDINT_H
     64 
     65 /* <sys/types.h> defines some of the stdint.h types as well, on glibc,
     66    IRIX 6.5, and OpenBSD 3.8 (via <machine/types.h>).
     67    AIX 5.2 <sys/types.h> isn't needed and causes troubles.
     68    MacOS X 10.4.6 <sys/types.h> includes <stdint.h> (which is us), but
     69    relies on the system <stdint.h> definitions, so include
     70    <sys/types.h> after <stdint.h>.  */
     71 #if 1 && ! defined _AIX
     72 # include <sys/types.h>
     73 #endif
     74 
     75 /* Get LONG_MIN, LONG_MAX, ULONG_MAX.  */
     76 #include <limits.h>
     77 
     78 #if 1
     79   /* In OpenBSD 3.8, <inttypes.h> includes <machine/types.h>, which defines
     80      int{8,16,32,64}_t, uint{8,16,32,64}_t and __BIT_TYPES_DEFINED__.
     81      <inttypes.h> also defines intptr_t and uintptr_t.  */
     82 # include <inttypes.h>
     83 #elif 0
     84   /* Solaris 7 <sys/inttypes.h> has the types except the *_fast*_t types, and
     85      the macros except for *_FAST*_*, INTPTR_MIN, PTRDIFF_MIN, PTRDIFF_MAX.  */
     86 # include <sys/inttypes.h>
     87 #endif
     88 
     89 #if 0 && ! defined __BIT_TYPES_DEFINED__
     90   /* Linux libc4 >= 4.6.7 and libc5 have a <sys/bitypes.h> that defines
     91      int{8,16,32,64}_t and __BIT_TYPES_DEFINED__.  In libc5 >= 5.2.2 it is
     92      included by <sys/types.h>.  */
     93 # include <sys/bitypes.h>
     94 #endif
     95 
     96 #undef _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H
     97 
     98 
     99 /* 7.18.1.1. Exact-width integer types */
    100 
    101 /* Here we assume a standard architecture where the hardware integer
    102    types have 8, 16, 32, optionally 64 bits.  */
    103 
    104 #undef int8_t
    105 #undef uint8_t
    106 typedef signed char unistring_int8_t;
    107 typedef unsigned char unistring_uint8_t;
    108 #define int8_t unistring_int8_t
    109 #define uint8_t unistring_uint8_t
    110 
    111 #undef int16_t
    112 #undef uint16_t
    113 typedef short int unistring_int16_t;
    114 typedef unsigned short int unistring_uint16_t;
    115 #define int16_t unistring_int16_t
    116 #define uint16_t unistring_uint16_t
    117 
    118 #undef int32_t
    119 #undef uint32_t
    120 typedef int unistring_int32_t;
    121 typedef unsigned int unistring_uint32_t;
    122 #define int32_t unistring_int32_t
    123 #define uint32_t unistring_uint32_t
    124 
    125 /* Avoid collision with Solaris 2.5.1 <pthread.h> etc.  */
    126 #define _UINT8_T
    127 #define _UINT32_T
    128 
    129 
    130 #endif /* _UNISTRING_STDINT_H */
    131 #endif /* !defined _UNISTRING_STDINT_H && !defined _GL_JUST_INCLUDE_SYSTEM_STDINT_H */
    132 #endif