PIPS
|
#include <limits.h>
Go to the source code of this file.
Macros | |
#define | _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H |
Copyright (C) 2001-2002, 2004-2014 Free Software Foundation, Inc. More... | |
#define | _ @GUARD_PREFIX@_STDINT_H |
On Android (Bionic libc), <sys/types.h> includes this file before having defined 'time_t'. More... | |
#define | _STDINT_MIN(signed, bits, zero) ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero)) |
Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, LONG_MIN, LONG_MAX, ULONG_MAX. More... | |
#define | _STDINT_MAX(signed, bits, zero) |
#define | int8_t gl_int8_t |
#define | uint8_t gl_uint8_t |
#define | int16_t gl_int16_t |
#define | uint16_t gl_uint16_t |
#define | int32_t gl_int32_t |
#define | uint32_t gl_uint32_t |
#define | _UINT8_T |
If the system defines INT64_MAX, assume int64_t works. More... | |
#define | _UINT32_T |
#define | _UINT64_T |
#define | int_least8_t int8_t |
7.18.1.2. More... | |
#define | uint_least8_t uint8_t |
#define | int_least16_t int16_t |
#define | uint_least16_t uint16_t |
#define | int_least32_t int32_t |
#define | uint_least32_t uint32_t |
#define | int_fast8_t gl_int_fast8_t |
#define | uint_fast8_t gl_uint_fast8_t |
#define | int_fast16_t gl_int_fast16_t |
#define | uint_fast16_t gl_uint_fast16_t |
#define | int_fast32_t gl_int_fast32_t |
#define | uint_fast32_t gl_uint_fast32_t |
#define | intptr_t gl_intptr_t |
#define | uintptr_t gl_uintptr_t |
#define | intmax_t gl_intmax_t |
#define | uintmax_t gl_uintmax_t |
#define | GNULIB_defined_stdint_types 1 |
#define | INT8_MIN (~ INT8_MAX) |
!GNULIB_defined_stdint_types More... | |
#define | INT8_MAX 127 |
#define | UINT8_MAX 255 |
#define | INT16_MIN (~ INT16_MAX) |
#define | INT16_MAX 32767 |
#define | UINT16_MAX 65535 |
#define | INT32_MIN (~ INT32_MAX) |
#define | INT32_MAX 2147483647 |
#define | UINT32_MAX 4294967295U |
#define | INT_LEAST8_MIN INT8_MIN |
7.18.2.2. More... | |
#define | INT_LEAST8_MAX INT8_MAX |
#define | UINT_LEAST8_MAX UINT8_MAX |
#define | INT_LEAST16_MIN INT16_MIN |
#define | INT_LEAST16_MAX INT16_MAX |
#define | UINT_LEAST16_MAX UINT16_MAX |
#define | INT_LEAST32_MIN INT32_MIN |
#define | INT_LEAST32_MAX INT32_MAX |
#define | UINT_LEAST32_MAX UINT32_MAX |
#define | INT_FAST8_MIN SCHAR_MIN |
7.18.2.3. More... | |
#define | INT_FAST8_MAX SCHAR_MAX |
#define | UINT_FAST8_MAX UCHAR_MAX |
#define | INT_FAST16_MIN INT_FAST32_MIN |
#define | INT_FAST16_MAX INT_FAST32_MAX |
#define | UINT_FAST16_MAX UINT_FAST32_MAX |
#define | INT_FAST32_MIN LONG_MIN |
#define | INT_FAST32_MAX LONG_MAX |
#define | UINT_FAST32_MAX ULONG_MAX |
#define | INTPTR_MIN LONG_MIN |
7.18.2.4. More... | |
#define | INTPTR_MAX LONG_MAX |
#define | UINTPTR_MAX ULONG_MAX |
#define | INTMAX_MIN INT32_MIN |
7.18.2.5. More... | |
#define | INTMAX_MAX INT32_MAX |
#define | UINTMAX_MAX UINT32_MAX |
#define | PTRDIFF_MIN _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) |
7.18.3. More... | |
#define | PTRDIFF_MAX _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) |
#define | SIG_ATOMIC_MIN |
sig_atomic_t limits More... | |
#define | SIG_ATOMIC_MAX |
#define | SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) |
size_t limit More... | |
#define | WCHAR_MIN _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) |
wchar_t limits More... | |
#define | WCHAR_MAX _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) |
#define | WINT_MIN _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) |
wint_t limits More... | |
#define | WINT_MAX _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) |
#define | INT8_C(x) x |
7.18.4. More... | |
#define | UINT8_C(x) x |
#define | INT16_C(x) x |
#define | UINT16_C(x) x |
#define | INT32_C(x) x |
#define | UINT32_C(x) x ## U |
#define | INTMAX_C(x) x##L |
7.18.4.2. More... | |
#define | UINTMAX_C(x) x##UL |
Typedefs | |
typedef signed char | gl_int8_t |
7.18.1.1. More... | |
typedef unsigned char | gl_uint8_t |
typedef short int | gl_int16_t |
typedef unsigned short int | gl_uint16_t |
typedef int | gl_int32_t |
typedef unsigned int | gl_uint32_t |
typedef signed char | gl_int_fast8_t |
7.18.1.3. More... | |
typedef unsigned char | gl_uint_fast8_t |
typedef long int | gl_int_fast32_t |
typedef unsigned long int | gl_uint_fast32_t |
typedef gl_int_fast32_t | gl_int_fast16_t |
typedef gl_uint_fast32_t | gl_uint_fast16_t |
typedef long int | gl_intptr_t |
7.18.1.4. More... | |
typedef unsigned long int | gl_uintptr_t |
typedef long int | gl_intmax_t |
7.18.1.5. More... | |
typedef unsigned long int | gl_uintmax_t |
typedef int | _verify_intmax_size[sizeof(intmax_t)==sizeof(uintmax_t) ? 1 :-1] |
Verify that intmax_t and uintmax_t have the same size. More... | |
#define _ @GUARD_PREFIX@_STDINT_H |
On Android (Bionic libc), <sys/types.h> includes this file before having defined 'time_t'.
Therefore in this case avoid including other system header files; just include the system's <stdint.h>. Ideally we should test BIONIC here, but it is only defined after <sys/cdefs.h> has been included; hence test ANDROID instead.
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.
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. Mac OS 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 @NEXT_STDINT_H.
Definition at line 88 of file stdint.in.h.
#define _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H |
Copyright (C) 2001-2002, 2004-2014 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 General Public License as published by the Free Software Foundation; either version 3, 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 General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses/.
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>.
Definition at line 34 of file stdint.in.h.
#define _STDINT_MAX | ( | signed, | |
bits, | |||
zero | |||
) |
Definition at line 124 of file stdint.in.h.
#define _STDINT_MIN | ( | signed, | |
bits, | |||
zero | |||
) | ((signed) ? (- ((zero) + 1) << ((bits) ? (bits) - 1 : 0)) : (zero)) |
Get SCHAR_MIN, SCHAR_MAX, UCHAR_MAX, INT_MIN, INT_MAX, LONG_MIN, LONG_MAX, ULONG_MAX.
Minimum and maximum values for an integer type under the usual assumption. Return an unspecified value if BITS == 0, adding a check to pacify picky compilers.
Definition at line 121 of file stdint.in.h.
#define _UINT32_T |
Definition at line 210 of file stdint.in.h.
#define _UINT64_T |
Definition at line 211 of file stdint.in.h.
#define _UINT8_T |
If the system defines INT64_MAX, assume int64_t works.
That way, if the underlying platform defines int64_t to be a 64-bit long long int, the code below won't mistakenly define it to be a 64-bit long int, which would mess up C++ name mangling. We must use #ifdef rather than if, to avoid an error with HP-UX 10.20 cc.
Do not undefine int64_t if gnulib is not being used with 64-bit types, since otherwise it breaks platforms like Tandem/NSK.
Avoid collision with Solaris 2.5.1 <pthread.h> etc.
Definition at line 209 of file stdint.in.h.
#define GNULIB_defined_stdint_types 1 |
Definition at line 340 of file stdint.in.h.
Definition at line 585 of file stdint.in.h.
#define INT16_MAX 32767 |
Definition at line 361 of file stdint.in.h.
#define INT16_MIN (~ INT16_MAX) |
Definition at line 360 of file stdint.in.h.
#define int16_t gl_int16_t |
Definition at line 148 of file stdint.in.h.
Definition at line 590 of file stdint.in.h.
#define INT32_MAX 2147483647 |
Definition at line 368 of file stdint.in.h.
#define INT32_MIN (~ INT32_MAX) |
Definition at line 367 of file stdint.in.h.
#define int32_t gl_int32_t |
Definition at line 155 of file stdint.in.h.
7.18.4.
Macros for integer constants 7.18.4.1. Macros for minimum-width integer constants According to ISO C 99 Technical Corrigendum 1 Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits, and int is 32 bits.
Definition at line 580 of file stdint.in.h.
#define INT8_MAX 127 |
Definition at line 354 of file stdint.in.h.
#define INT8_MIN (~ INT8_MAX) |
!GNULIB_defined_stdint_types
7.18.2. Limits of specified-width integer types 7.18.2.1. Limits of exact-width integer types Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits.
Definition at line 353 of file stdint.in.h.
#define int8_t gl_int8_t |
Definition at line 141 of file stdint.in.h.
#define INT_FAST16_MAX INT_FAST32_MAX |
Definition at line 438 of file stdint.in.h.
#define INT_FAST16_MIN INT_FAST32_MIN |
Definition at line 437 of file stdint.in.h.
#define int_fast16_t gl_int_fast16_t |
Definition at line 277 of file stdint.in.h.
#define INT_FAST32_MAX LONG_MAX |
Definition at line 450 of file stdint.in.h.
#define INT_FAST32_MIN LONG_MIN |
Definition at line 449 of file stdint.in.h.
#define int_fast32_t gl_int_fast32_t |
Definition at line 279 of file stdint.in.h.
#define INT_FAST8_MAX SCHAR_MAX |
Definition at line 431 of file stdint.in.h.
#define INT_FAST8_MIN SCHAR_MIN |
7.18.2.3.
Limits of fastest minimum-width integer types Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types are taken from the same list of types.
Definition at line 430 of file stdint.in.h.
#define int_fast8_t gl_int_fast8_t |
Definition at line 275 of file stdint.in.h.
#define INT_LEAST16_MAX INT16_MAX |
Definition at line 399 of file stdint.in.h.
#define INT_LEAST16_MIN INT16_MIN |
Definition at line 398 of file stdint.in.h.
#define int_least16_t int16_t |
Definition at line 230 of file stdint.in.h.
#define INT_LEAST32_MAX INT32_MAX |
Definition at line 406 of file stdint.in.h.
#define INT_LEAST32_MIN INT32_MIN |
Definition at line 405 of file stdint.in.h.
#define int_least32_t int32_t |
Definition at line 232 of file stdint.in.h.
#define INT_LEAST8_MAX INT8_MAX |
Definition at line 392 of file stdint.in.h.
#define INT_LEAST8_MIN INT8_MIN |
7.18.2.2.
Limits of minimum-width integer types Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types are the same as the corresponding N_t types.
Definition at line 391 of file stdint.in.h.
#define int_least8_t int8_t |
7.18.1.2.
Minimum-width integer types Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the leastN_t types are the same as the corresponding N_t types.
Definition at line 228 of file stdint.in.h.
#define INTMAX_MAX INT32_MAX |
Definition at line 484 of file stdint.in.h.
#define INTMAX_MIN INT32_MIN |
#define intmax_t gl_intmax_t |
Definition at line 316 of file stdint.in.h.
#define INTPTR_MAX LONG_MAX |
Definition at line 472 of file stdint.in.h.
#define INTPTR_MIN LONG_MIN |
7.18.2.4.
Limits of integer types capable of holding object pointers
Definition at line 471 of file stdint.in.h.
#define intptr_t gl_intptr_t |
Definition at line 294 of file stdint.in.h.
#define PTRDIFF_MAX _STDINT_MAX (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) |
Definition at line 512 of file stdint.in.h.
#define PTRDIFF_MIN _STDINT_MIN (1, @BITSIZEOF_PTRDIFF_T@, 0@PTRDIFF_T_SUFFIX@) |
#define SIG_ATOMIC_MAX |
Definition at line 522 of file stdint.in.h.
#define SIG_ATOMIC_MIN |
sig_atomic_t limits
Definition at line 519 of file stdint.in.h.
#define SIZE_MAX _STDINT_MAX (0, @BITSIZEOF_SIZE_T@, 0@SIZE_T_SUFFIX@) |
size_t limit
Definition at line 536 of file stdint.in.h.
Definition at line 586 of file stdint.in.h.
#define UINT16_MAX 65535 |
Definition at line 362 of file stdint.in.h.
#define uint16_t gl_uint16_t |
Definition at line 149 of file stdint.in.h.
Definition at line 591 of file stdint.in.h.
#define UINT32_MAX 4294967295U |
Definition at line 369 of file stdint.in.h.
#define uint32_t gl_uint32_t |
Definition at line 156 of file stdint.in.h.
Definition at line 581 of file stdint.in.h.
#define UINT8_MAX 255 |
Definition at line 355 of file stdint.in.h.
#define uint8_t gl_uint8_t |
Definition at line 142 of file stdint.in.h.
#define UINT_FAST16_MAX UINT_FAST32_MAX |
Definition at line 439 of file stdint.in.h.
#define uint_fast16_t gl_uint_fast16_t |
Definition at line 278 of file stdint.in.h.
#define UINT_FAST32_MAX ULONG_MAX |
Definition at line 451 of file stdint.in.h.
#define uint_fast32_t gl_uint_fast32_t |
Definition at line 280 of file stdint.in.h.
#define UINT_FAST8_MAX UCHAR_MAX |
Definition at line 432 of file stdint.in.h.
#define uint_fast8_t gl_uint_fast8_t |
Definition at line 276 of file stdint.in.h.
#define UINT_LEAST16_MAX UINT16_MAX |
Definition at line 400 of file stdint.in.h.
#define uint_least16_t uint16_t |
Definition at line 231 of file stdint.in.h.
#define UINT_LEAST32_MAX UINT32_MAX |
Definition at line 407 of file stdint.in.h.
#define uint_least32_t uint32_t |
Definition at line 233 of file stdint.in.h.
#define UINT_LEAST8_MAX UINT8_MAX |
Definition at line 393 of file stdint.in.h.
#define uint_least8_t uint8_t |
Definition at line 229 of file stdint.in.h.
Definition at line 628 of file stdint.in.h.
#define UINTMAX_MAX UINT32_MAX |
Definition at line 492 of file stdint.in.h.
#define uintmax_t gl_uintmax_t |
Definition at line 330 of file stdint.in.h.
#define UINTPTR_MAX ULONG_MAX |
Definition at line 473 of file stdint.in.h.
#define uintptr_t gl_uintptr_t |
Definition at line 295 of file stdint.in.h.
#define WCHAR_MAX _STDINT_MAX (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) |
Definition at line 559 of file stdint.in.h.
#define WCHAR_MIN _STDINT_MIN (@HAVE_SIGNED_WCHAR_T@, @BITSIZEOF_WCHAR_T@, 0@WCHAR_T_SUFFIX@) |
wchar_t limits
Get WCHAR_MIN, WCHAR_MAX. This include is not on the top, above, because on OSF/1 4.0 we have a sequence of nested includes <wchar.h> -> <stdio.h> -> <getopt.h> -> <stdlib.h>, and the latter includes <stdint.h> and assumes its types are already defined.
Definition at line 557 of file stdint.in.h.
#define WINT_MAX _STDINT_MAX (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) |
Definition at line 567 of file stdint.in.h.
#define WINT_MIN _STDINT_MIN (@HAVE_SIGNED_WINT_T@, @BITSIZEOF_WINT_T@, 0@WINT_T_SUFFIX@) |
wint_t limits
Definition at line 565 of file stdint.in.h.
Verify that intmax_t and uintmax_t have the same size.
Too much code breaks if this is not the case. If this check fails, the reason is likely to be found in the autoconf macros.
Definition at line 337 of file stdint.in.h.
typedef short int gl_int16_t |
Definition at line 146 of file stdint.in.h.
typedef int gl_int32_t |
Definition at line 153 of file stdint.in.h.
typedef signed char gl_int8_t |
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.
Definition at line 139 of file stdint.in.h.
typedef gl_int_fast32_t gl_int_fast16_t |
Definition at line 272 of file stdint.in.h.
typedef long int gl_int_fast32_t |
Definition at line 269 of file stdint.in.h.
typedef signed char gl_int_fast8_t |
7.18.1.3.
Fastest minimum-width integer types Note: Other <stdint.h> substitutes may define these types differently. It is not recommended to use these types in public header files. Here we assume a standard architecture where the hardware integer types have 8, 16, 32, optionally 64 bits. Therefore the fastN_t types are taken from the same list of types. The following code normally uses types consistent with glibc, as that lessens the chance of incompatibility with older GNU hosts.
Definition at line 260 of file stdint.in.h.
typedef long int gl_intmax_t |
7.18.1.5.
Greatest-width integer types Note: These types are compiler dependent. It may be unwise to use them in public header files. If the system defines INTMAX_MAX, assume that intmax_t works, and similarly for UINTMAX_MAX and uintmax_t. This avoids problems with assuming one type where another is used by the system.
Definition at line 315 of file stdint.in.h.
typedef long int gl_intptr_t |
7.18.1.4.
Integer types capable of holding object pointers
Definition at line 292 of file stdint.in.h.
typedef unsigned short int gl_uint16_t |
Definition at line 147 of file stdint.in.h.
typedef unsigned int gl_uint32_t |
Definition at line 154 of file stdint.in.h.
typedef unsigned char gl_uint8_t |
Definition at line 140 of file stdint.in.h.
typedef gl_uint_fast32_t gl_uint_fast16_t |
Definition at line 273 of file stdint.in.h.
typedef unsigned long int gl_uint_fast32_t |
Definition at line 270 of file stdint.in.h.
typedef unsigned char gl_uint_fast8_t |
Definition at line 261 of file stdint.in.h.
typedef unsigned long int gl_uintmax_t |
Definition at line 329 of file stdint.in.h.
typedef unsigned long int gl_uintptr_t |
Definition at line 293 of file stdint.in.h.