1/* DO NOT EDIT! GENERATED AUTOMATICALLY! */ 2/* Copyright (C) 2006-2010 Free Software Foundation, Inc. 3 Written by Paul Eggert, Bruno Haible, Derek Price. 4 This file is part of gnulib. 5 6 This program is free software: you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18 19/* 20 * ISO C 99 <inttypes.h> for platforms that lack it. 21 * <http://www.opengroup.org/susv3xbd/inttypes.h.html> 22 */ 23 24/* Include the original <inttypes.h> if it exists, and if this file 25 has not been included yet or if this file includes gnulib stdint.h 26 which in turn includes this file. 27 The include_next requires a split double-inclusion guard. */ 28#if ! defined INTTYPES_H || defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H 29# if 1 30# if __GNUC__ >= 3 31#pragma GCC system_header 32# endif 33# include_next <inttypes.h> 34# endif 35#endif 36 37#if ! defined INTTYPES_H && ! defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H 38#define INTTYPES_H 39 40/* Include <stdint.h> or the gnulib replacement. 41 But avoid namespace pollution on glibc systems. */ 42#ifndef __GLIBC__ 43# include <stdint.h> 44#endif 45/* Get CHAR_BIT. */ 46#include <limits.h> 47 48#if !(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX) 49# error "This file assumes that 'int' has exactly 32 bits. Please report your platform and compiler to <bug-gnulib@gnu.org>." 50#endif 51 52/* The definition of GL_LINK_WARNING is copied here. */ 53/* GL_LINK_WARNING("literal string") arranges to emit the literal string as 54 a linker warning on most glibc systems. 55 We use a linker warning rather than a preprocessor warning, because 56 #warning cannot be used inside macros. */ 57#ifndef GL_LINK_WARNING 58 /* This works on platforms with GNU ld and ELF object format. 59 Testing __GLIBC__ is sufficient for asserting that GNU ld is in use. 60 Testing __ELF__ guarantees the ELF object format. 61 Testing __GNUC__ is necessary for the compound expression syntax. */ 62# if defined __GLIBC__ && defined __ELF__ && defined __GNUC__ 63# define GL_LINK_WARNING(message) \ 64 GL_LINK_WARNING1 (__FILE__, __LINE__, message) 65# define GL_LINK_WARNING1(file, line, message) \ 66 GL_LINK_WARNING2 (file, line, message) /* macroexpand file and line */ 67# define GL_LINK_WARNING2(file, line, message) \ 68 GL_LINK_WARNING3 (file ":" #line ": warning: " message) 69# define GL_LINK_WARNING3(message) \ 70 ({ static const char warning[sizeof (message)] \ 71 __attribute__ ((__unused__, \ 72 __section__ (".gnu.warning"), \ 73 __aligned__ (1))) \ 74 = message "\n"; \ 75 (void)0; \ 76 }) 77# else 78# define GL_LINK_WARNING(message) ((void) 0) 79# endif 80#endif 81 82/* The definition of _GL_ARG_NONNULL is copied here. */ 83/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools 84 that the values passed as arguments n, ..., m must be non-NULL pointers. 85 n = 1 stands for the first argument, n = 2 for the second argument etc. */ 86#ifndef _GL_ARG_NONNULL 87# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3 88# define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params)) 89# else 90# define _GL_ARG_NONNULL(params) 91# endif 92#endif 93 94/* 7.8.1 Macros for format specifiers */ 95 96#if ! defined __cplusplus || defined __STDC_FORMAT_MACROS 97 98# if defined _TNS_R_TARGET 99 /* Tandem NonStop R series and compatible platforms released before 100 July 2005 support %Ld but not %lld. */ 101# define _LONG_LONG_FORMAT_PREFIX "L" 102# else 103# define _LONG_LONG_FORMAT_PREFIX "ll" 104# endif 105 106# if !defined PRId8 || 0 107# undef PRId8 108# ifdef INT8_MAX 109# define PRId8 "d" 110# endif 111# endif 112# if !defined PRIi8 || 0 113# undef PRIi8 114# ifdef INT8_MAX 115# define PRIi8 "i" 116# endif 117# endif 118# if !defined PRIo8 || 0 119# undef PRIo8 120# ifdef UINT8_MAX 121# define PRIo8 "o" 122# endif 123# endif 124# if !defined PRIu8 || 0 125# undef PRIu8 126# ifdef UINT8_MAX 127# define PRIu8 "u" 128# endif 129# endif 130# if !defined PRIx8 || 0 131# undef PRIx8 132# ifdef UINT8_MAX 133# define PRIx8 "x" 134# endif 135# endif 136# if !defined PRIX8 || 0 137# undef PRIX8 138# ifdef UINT8_MAX 139# define PRIX8 "X" 140# endif 141# endif 142# if !defined PRId16 || 0 143# undef PRId16 144# ifdef INT16_MAX 145# define PRId16 "d" 146# endif 147# endif 148# if !defined PRIi16 || 0 149# undef PRIi16 150# ifdef INT16_MAX 151# define PRIi16 "i" 152# endif 153# endif 154# if !defined PRIo16 || 0 155# undef PRIo16 156# ifdef UINT16_MAX 157# define PRIo16 "o" 158# endif 159# endif 160# if !defined PRIu16 || 0 161# undef PRIu16 162# ifdef UINT16_MAX 163# define PRIu16 "u" 164# endif 165# endif 166# if !defined PRIx16 || 0 167# undef PRIx16 168# ifdef UINT16_MAX 169# define PRIx16 "x" 170# endif 171# endif 172# if !defined PRIX16 || 0 173# undef PRIX16 174# ifdef UINT16_MAX 175# define PRIX16 "X" 176# endif 177# endif 178# if !defined PRId32 || 0 179# undef PRId32 180# ifdef INT32_MAX 181# define PRId32 "d" 182# endif 183# endif 184# if !defined PRIi32 || 0 185# undef PRIi32 186# ifdef INT32_MAX 187# define PRIi32 "i" 188# endif 189# endif 190# if !defined PRIo32 || 0 191# undef PRIo32 192# ifdef UINT32_MAX 193# define PRIo32 "o" 194# endif 195# endif 196# if !defined PRIu32 || 0 197# undef PRIu32 198# ifdef UINT32_MAX 199# define PRIu32 "u" 200# endif 201# endif 202# if !defined PRIx32 || 0 203# undef PRIx32 204# ifdef UINT32_MAX 205# define PRIx32 "x" 206# endif 207# endif 208# if !defined PRIX32 || 0 209# undef PRIX32 210# ifdef UINT32_MAX 211# define PRIX32 "X" 212# endif 213# endif 214# ifdef INT64_MAX 215# if (0 ? defined _LP64 : 0) 216# define _PRI64_PREFIX "l" 217# elif defined _MSC_VER || defined __MINGW32__ 218# define _PRI64_PREFIX "I64" 219# elif 1 && LONG_MAX >> 30 == 1 220# define _PRI64_PREFIX _LONG_LONG_FORMAT_PREFIX 221# endif 222# if !defined PRId64 || 0 223# undef PRId64 224# define PRId64 _PRI64_PREFIX "d" 225# endif 226# if !defined PRIi64 || 0 227# undef PRIi64 228# define PRIi64 _PRI64_PREFIX "i" 229# endif 230# endif 231# ifdef UINT64_MAX 232# if (0 ? defined _LP64 : 0) 233# define _PRIu64_PREFIX "l" 234# elif defined _MSC_VER || defined __MINGW32__ 235# define _PRIu64_PREFIX "I64" 236# elif 1 && ULONG_MAX >> 31 == 1 237# define _PRIu64_PREFIX _LONG_LONG_FORMAT_PREFIX 238# endif 239# if !defined PRIo64 || 0 240# undef PRIo64 241# define PRIo64 _PRIu64_PREFIX "o" 242# endif 243# if !defined PRIu64 || 0 244# undef PRIu64 245# define PRIu64 _PRIu64_PREFIX "u" 246# endif 247# if !defined PRIx64 || 0 248# undef PRIx64 249# define PRIx64 _PRIu64_PREFIX "x" 250# endif 251# if !defined PRIX64 || 0 252# undef PRIX64 253# define PRIX64 _PRIu64_PREFIX "X" 254# endif 255# endif 256 257# if !defined PRIdLEAST8 || 0 258# undef PRIdLEAST8 259# define PRIdLEAST8 "d" 260# endif 261# if !defined PRIiLEAST8 || 0 262# undef PRIiLEAST8 263# define PRIiLEAST8 "i" 264# endif 265# if !defined PRIoLEAST8 || 0 266# undef PRIoLEAST8 267# define PRIoLEAST8 "o" 268# endif 269# if !defined PRIuLEAST8 || 0 270# undef PRIuLEAST8 271# define PRIuLEAST8 "u" 272# endif 273# if !defined PRIxLEAST8 || 0 274# undef PRIxLEAST8 275# define PRIxLEAST8 "x" 276# endif 277# if !defined PRIXLEAST8 || 0 278# undef PRIXLEAST8 279# define PRIXLEAST8 "X" 280# endif 281# if !defined PRIdLEAST16 || 0 282# undef PRIdLEAST16 283# define PRIdLEAST16 "d" 284# endif 285# if !defined PRIiLEAST16 || 0 286# undef PRIiLEAST16 287# define PRIiLEAST16 "i" 288# endif 289# if !defined PRIoLEAST16 || 0 290# undef PRIoLEAST16 291# define PRIoLEAST16 "o" 292# endif 293# if !defined PRIuLEAST16 || 0 294# undef PRIuLEAST16 295# define PRIuLEAST16 "u" 296# endif 297# if !defined PRIxLEAST16 || 0 298# undef PRIxLEAST16 299# define PRIxLEAST16 "x" 300# endif 301# if !defined PRIXLEAST16 || 0 302# undef PRIXLEAST16 303# define PRIXLEAST16 "X" 304# endif 305# if !defined PRIdLEAST32 || 0 306# undef PRIdLEAST32 307# define PRIdLEAST32 "d" 308# endif 309# if !defined PRIiLEAST32 || 0 310# undef PRIiLEAST32 311# define PRIiLEAST32 "i" 312# endif 313# if !defined PRIoLEAST32 || 0 314# undef PRIoLEAST32 315# define PRIoLEAST32 "o" 316# endif 317# if !defined PRIuLEAST32 || 0 318# undef PRIuLEAST32 319# define PRIuLEAST32 "u" 320# endif 321# if !defined PRIxLEAST32 || 0 322# undef PRIxLEAST32 323# define PRIxLEAST32 "x" 324# endif 325# if !defined PRIXLEAST32 || 0 326# undef PRIXLEAST32 327# define PRIXLEAST32 "X" 328# endif 329# ifdef INT64_MAX 330# if !defined PRIdLEAST64 || 0 331# undef PRIdLEAST64 332# define PRIdLEAST64 PRId64 333# endif 334# if !defined PRIiLEAST64 || 0 335# undef PRIiLEAST64 336# define PRIiLEAST64 PRIi64 337# endif 338# endif 339# ifdef UINT64_MAX 340# if !defined PRIoLEAST64 || 0 341# undef PRIoLEAST64 342# define PRIoLEAST64 PRIo64 343# endif 344# if !defined PRIuLEAST64 || 0 345# undef PRIuLEAST64 346# define PRIuLEAST64 PRIu64 347# endif 348# if !defined PRIxLEAST64 || 0 349# undef PRIxLEAST64 350# define PRIxLEAST64 PRIx64 351# endif 352# if !defined PRIXLEAST64 || 0 353# undef PRIXLEAST64 354# define PRIXLEAST64 PRIX64 355# endif 356# endif 357 358# if !defined PRIdFAST8 || 0 359# undef PRIdFAST8 360# if INT_FAST8_MAX > INT32_MAX 361# define PRIdFAST8 PRId64 362# else 363# define PRIdFAST8 "d" 364# endif 365# endif 366# if !defined PRIiFAST8 || 0 367# undef PRIiFAST8 368# if INT_FAST8_MAX > INT32_MAX 369# define PRIiFAST8 PRIi64 370# else 371# define PRIiFAST8 "i" 372# endif 373# endif 374# if !defined PRIoFAST8 || 0 375# undef PRIoFAST8 376# if UINT_FAST8_MAX > UINT32_MAX 377# define PRIoFAST8 PRIo64 378# else 379# define PRIoFAST8 "o" 380# endif 381# endif 382# if !defined PRIuFAST8 || 0 383# undef PRIuFAST8 384# if UINT_FAST8_MAX > UINT32_MAX 385# define PRIuFAST8 PRIu64 386# else 387# define PRIuFAST8 "u" 388# endif 389# endif 390# if !defined PRIxFAST8 || 0 391# undef PRIxFAST8 392# if UINT_FAST8_MAX > UINT32_MAX 393# define PRIxFAST8 PRIx64 394# else 395# define PRIxFAST8 "x" 396# endif 397# endif 398# if !defined PRIXFAST8 || 0 399# undef PRIXFAST8 400# if UINT_FAST8_MAX > UINT32_MAX 401# define PRIXFAST8 PRIX64 402# else 403# define PRIXFAST8 "X" 404# endif 405# endif 406# if !defined PRIdFAST16 || 0 407# undef PRIdFAST16 408# if INT_FAST16_MAX > INT32_MAX 409# define PRIdFAST16 PRId64 410# else 411# define PRIdFAST16 "d" 412# endif 413# endif 414# if !defined PRIiFAST16 || 0 415# undef PRIiFAST16 416# if INT_FAST16_MAX > INT32_MAX 417# define PRIiFAST16 PRIi64 418# else 419# define PRIiFAST16 "i" 420# endif 421# endif 422# if !defined PRIoFAST16 || 0 423# undef PRIoFAST16 424# if UINT_FAST16_MAX > UINT32_MAX 425# define PRIoFAST16 PRIo64 426# else 427# define PRIoFAST16 "o" 428# endif 429# endif 430# if !defined PRIuFAST16 || 0 431# undef PRIuFAST16 432# if UINT_FAST16_MAX > UINT32_MAX 433# define PRIuFAST16 PRIu64 434# else 435# define PRIuFAST16 "u" 436# endif 437# endif 438# if !defined PRIxFAST16 || 0 439# undef PRIxFAST16 440# if UINT_FAST16_MAX > UINT32_MAX 441# define PRIxFAST16 PRIx64 442# else 443# define PRIxFAST16 "x" 444# endif 445# endif 446# if !defined PRIXFAST16 || 0 447# undef PRIXFAST16 448# if UINT_FAST16_MAX > UINT32_MAX 449# define PRIXFAST16 PRIX64 450# else 451# define PRIXFAST16 "X" 452# endif 453# endif 454# if !defined PRIdFAST32 || 0 455# undef PRIdFAST32 456# if INT_FAST32_MAX > INT32_MAX 457# define PRIdFAST32 PRId64 458# else 459# define PRIdFAST32 "d" 460# endif 461# endif 462# if !defined PRIiFAST32 || 0 463# undef PRIiFAST32 464# if INT_FAST32_MAX > INT32_MAX 465# define PRIiFAST32 PRIi64 466# else 467# define PRIiFAST32 "i" 468# endif 469# endif 470# if !defined PRIoFAST32 || 0 471# undef PRIoFAST32 472# if UINT_FAST32_MAX > UINT32_MAX 473# define PRIoFAST32 PRIo64 474# else 475# define PRIoFAST32 "o" 476# endif 477# endif 478# if !defined PRIuFAST32 || 0 479# undef PRIuFAST32 480# if UINT_FAST32_MAX > UINT32_MAX 481# define PRIuFAST32 PRIu64 482# else 483# define PRIuFAST32 "u" 484# endif 485# endif 486# if !defined PRIxFAST32 || 0 487# undef PRIxFAST32 488# if UINT_FAST32_MAX > UINT32_MAX 489# define PRIxFAST32 PRIx64 490# else 491# define PRIxFAST32 "x" 492# endif 493# endif 494# if !defined PRIXFAST32 || 0 495# undef PRIXFAST32 496# if UINT_FAST32_MAX > UINT32_MAX 497# define PRIXFAST32 PRIX64 498# else 499# define PRIXFAST32 "X" 500# endif 501# endif 502# ifdef INT64_MAX 503# if !defined PRIdFAST64 || 0 504# undef PRIdFAST64 505# define PRIdFAST64 PRId64 506# endif 507# if !defined PRIiFAST64 || 0 508# undef PRIiFAST64 509# define PRIiFAST64 PRIi64 510# endif 511# endif 512# ifdef UINT64_MAX 513# if !defined PRIoFAST64 || 0 514# undef PRIoFAST64 515# define PRIoFAST64 PRIo64 516# endif 517# if !defined PRIuFAST64 || 0 518# undef PRIuFAST64 519# define PRIuFAST64 PRIu64 520# endif 521# if !defined PRIxFAST64 || 0 522# undef PRIxFAST64 523# define PRIxFAST64 PRIx64 524# endif 525# if !defined PRIXFAST64 || 0 526# undef PRIXFAST64 527# define PRIXFAST64 PRIX64 528# endif 529# endif 530 531# if !defined PRIdMAX || 0 532# undef PRIdMAX 533# if 1 534# define PRIdMAX PRId64 535# else 536# define PRIdMAX "ld" 537# endif 538# endif 539# if !defined PRIiMAX || 0 540# undef PRIiMAX 541# if 1 542# define PRIiMAX PRIi64 543# else 544# define PRIiMAX "li" 545# endif 546# endif 547# if !defined PRIoMAX || 0 548# undef PRIoMAX 549# if 1 550# define PRIoMAX PRIo64 551# else 552# define PRIoMAX "lo" 553# endif 554# endif 555# if !defined PRIuMAX || 0 556# undef PRIuMAX 557# if 1 558# define PRIuMAX PRIu64 559# else 560# define PRIuMAX "lu" 561# endif 562# endif 563# if !defined PRIxMAX || 0 564# undef PRIxMAX 565# if 1 566# define PRIxMAX PRIx64 567# else 568# define PRIxMAX "lx" 569# endif 570# endif 571# if !defined PRIXMAX || 0 572# undef PRIXMAX 573# if 1 574# define PRIXMAX PRIX64 575# else 576# define PRIXMAX "lX" 577# endif 578# endif 579 580# if !defined PRIdPTR || 0 581# undef PRIdPTR 582# ifdef INTPTR_MAX 583# define PRIdPTR "l" "d" 584# endif 585# endif 586# if !defined PRIiPTR || 0 587# undef PRIiPTR 588# ifdef INTPTR_MAX 589# define PRIiPTR "l" "i" 590# endif 591# endif 592# if !defined PRIoPTR || 0 593# undef PRIoPTR 594# ifdef UINTPTR_MAX 595# define PRIoPTR "l" "o" 596# endif 597# endif 598# if !defined PRIuPTR || 0 599# undef PRIuPTR 600# ifdef UINTPTR_MAX 601# define PRIuPTR "l" "u" 602# endif 603# endif 604# if !defined PRIxPTR || 0 605# undef PRIxPTR 606# ifdef UINTPTR_MAX 607# define PRIxPTR "l" "x" 608# endif 609# endif 610# if !defined PRIXPTR || 0 611# undef PRIXPTR 612# ifdef UINTPTR_MAX 613# define PRIXPTR "l" "X" 614# endif 615# endif 616 617# if !defined SCNd8 || 0 618# undef SCNd8 619# ifdef INT8_MAX 620# define SCNd8 "hhd" 621# endif 622# endif 623# if !defined SCNi8 || 0 624# undef SCNi8 625# ifdef INT8_MAX 626# define SCNi8 "hhi" 627# endif 628# endif 629# if !defined SCNo8 || 0 630# undef SCNo8 631# ifdef UINT8_MAX 632# define SCNo8 "hho" 633# endif 634# endif 635# if !defined SCNu8 || 0 636# undef SCNu8 637# ifdef UINT8_MAX 638# define SCNu8 "hhu" 639# endif 640# endif 641# if !defined SCNx8 || 0 642# undef SCNx8 643# ifdef UINT8_MAX 644# define SCNx8 "hhx" 645# endif 646# endif 647# if !defined SCNd16 || 0 648# undef SCNd16 649# ifdef INT16_MAX 650# define SCNd16 "hd" 651# endif 652# endif 653# if !defined SCNi16 || 0 654# undef SCNi16 655# ifdef INT16_MAX 656# define SCNi16 "hi" 657# endif 658# endif 659# if !defined SCNo16 || 0 660# undef SCNo16 661# ifdef UINT16_MAX 662# define SCNo16 "ho" 663# endif 664# endif 665# if !defined SCNu16 || 0 666# undef SCNu16 667# ifdef UINT16_MAX 668# define SCNu16 "hu" 669# endif 670# endif 671# if !defined SCNx16 || 0 672# undef SCNx16 673# ifdef UINT16_MAX 674# define SCNx16 "hx" 675# endif 676# endif 677# if !defined SCNd32 || 0 678# undef SCNd32 679# ifdef INT32_MAX 680# define SCNd32 "d" 681# endif 682# endif 683# if !defined SCNi32 || 0 684# undef SCNi32 685# ifdef INT32_MAX 686# define SCNi32 "i" 687# endif 688# endif 689# if !defined SCNo32 || 0 690# undef SCNo32 691# ifdef UINT32_MAX 692# define SCNo32 "o" 693# endif 694# endif 695# if !defined SCNu32 || 0 696# undef SCNu32 697# ifdef UINT32_MAX 698# define SCNu32 "u" 699# endif 700# endif 701# if !defined SCNx32 || 0 702# undef SCNx32 703# ifdef UINT32_MAX 704# define SCNx32 "x" 705# endif 706# endif 707# ifdef INT64_MAX 708# if (0 ? defined _LP64 : 0) 709# define _SCN64_PREFIX "l" 710# elif defined _MSC_VER || defined __MINGW32__ 711# define _SCN64_PREFIX "I64" 712# elif 1 && LONG_MAX >> 30 == 1 713# define _SCN64_PREFIX _LONG_LONG_FORMAT_PREFIX 714# endif 715# if !defined SCNd64 || 0 716# undef SCNd64 717# define SCNd64 _SCN64_PREFIX "d" 718# endif 719# if !defined SCNi64 || 0 720# undef SCNi64 721# define SCNi64 _SCN64_PREFIX "i" 722# endif 723# endif 724# ifdef UINT64_MAX 725# if (0 ? defined _LP64 : 0) 726# define _SCNu64_PREFIX "l" 727# elif defined _MSC_VER || defined __MINGW32__ 728# define _SCNu64_PREFIX "I64" 729# elif 1 && ULONG_MAX >> 31 == 1 730# define _SCNu64_PREFIX _LONG_LONG_FORMAT_PREFIX 731# endif 732# if !defined SCNo64 || 0 733# undef SCNo64 734# define SCNo64 _SCNu64_PREFIX "o" 735# endif 736# if !defined SCNu64 || 0 737# undef SCNu64 738# define SCNu64 _SCNu64_PREFIX "u" 739# endif 740# if !defined SCNx64 || 0 741# undef SCNx64 742# define SCNx64 _SCNu64_PREFIX "x" 743# endif 744# endif 745 746# if !defined SCNdLEAST8 || 0 747# undef SCNdLEAST8 748# define SCNdLEAST8 "hhd" 749# endif 750# if !defined SCNiLEAST8 || 0 751# undef SCNiLEAST8 752# define SCNiLEAST8 "hhi" 753# endif 754# if !defined SCNoLEAST8 || 0 755# undef SCNoLEAST8 756# define SCNoLEAST8 "hho" 757# endif 758# if !defined SCNuLEAST8 || 0 759# undef SCNuLEAST8 760# define SCNuLEAST8 "hhu" 761# endif 762# if !defined SCNxLEAST8 || 0 763# undef SCNxLEAST8 764# define SCNxLEAST8 "hhx" 765# endif 766# if !defined SCNdLEAST16 || 0 767# undef SCNdLEAST16 768# define SCNdLEAST16 "hd" 769# endif 770# if !defined SCNiLEAST16 || 0 771# undef SCNiLEAST16 772# define SCNiLEAST16 "hi" 773# endif 774# if !defined SCNoLEAST16 || 0 775# undef SCNoLEAST16 776# define SCNoLEAST16 "ho" 777# endif 778# if !defined SCNuLEAST16 || 0 779# undef SCNuLEAST16 780# define SCNuLEAST16 "hu" 781# endif 782# if !defined SCNxLEAST16 || 0 783# undef SCNxLEAST16 784# define SCNxLEAST16 "hx" 785# endif 786# if !defined SCNdLEAST32 || 0 787# undef SCNdLEAST32 788# define SCNdLEAST32 "d" 789# endif 790# if !defined SCNiLEAST32 || 0 791# undef SCNiLEAST32 792# define SCNiLEAST32 "i" 793# endif 794# if !defined SCNoLEAST32 || 0 795# undef SCNoLEAST32 796# define SCNoLEAST32 "o" 797# endif 798# if !defined SCNuLEAST32 || 0 799# undef SCNuLEAST32 800# define SCNuLEAST32 "u" 801# endif 802# if !defined SCNxLEAST32 || 0 803# undef SCNxLEAST32 804# define SCNxLEAST32 "x" 805# endif 806# ifdef INT64_MAX 807# if !defined SCNdLEAST64 || 0 808# undef SCNdLEAST64 809# define SCNdLEAST64 SCNd64 810# endif 811# if !defined SCNiLEAST64 || 0 812# undef SCNiLEAST64 813# define SCNiLEAST64 SCNi64 814# endif 815# endif 816# ifdef UINT64_MAX 817# if !defined SCNoLEAST64 || 0 818# undef SCNoLEAST64 819# define SCNoLEAST64 SCNo64 820# endif 821# if !defined SCNuLEAST64 || 0 822# undef SCNuLEAST64 823# define SCNuLEAST64 SCNu64 824# endif 825# if !defined SCNxLEAST64 || 0 826# undef SCNxLEAST64 827# define SCNxLEAST64 SCNx64 828# endif 829# endif 830 831# if !defined SCNdFAST8 || 0 832# undef SCNdFAST8 833# if INT_FAST8_MAX > INT32_MAX 834# define SCNdFAST8 SCNd64 835# elif INT_FAST8_MAX == 0x7fff 836# define SCNdFAST8 "hd" 837# elif INT_FAST8_MAX == 0x7f 838# define SCNdFAST8 "hhd" 839# else 840# define SCNdFAST8 "d" 841# endif 842# endif 843# if !defined SCNiFAST8 || 0 844# undef SCNiFAST8 845# if INT_FAST8_MAX > INT32_MAX 846# define SCNiFAST8 SCNi64 847# elif INT_FAST8_MAX == 0x7fff 848# define SCNiFAST8 "hi" 849# elif INT_FAST8_MAX == 0x7f 850# define SCNiFAST8 "hhi" 851# else 852# define SCNiFAST8 "i" 853# endif 854# endif 855# if !defined SCNoFAST8 || 0 856# undef SCNoFAST8 857# if UINT_FAST8_MAX > UINT32_MAX 858# define SCNoFAST8 SCNo64 859# elif UINT_FAST8_MAX == 0xffff 860# define SCNoFAST8 "ho" 861# elif UINT_FAST8_MAX == 0xff 862# define SCNoFAST8 "hho" 863# else 864# define SCNoFAST8 "o" 865# endif 866# endif 867# if !defined SCNuFAST8 || 0 868# undef SCNuFAST8 869# if UINT_FAST8_MAX > UINT32_MAX 870# define SCNuFAST8 SCNu64 871# elif UINT_FAST8_MAX == 0xffff 872# define SCNuFAST8 "hu" 873# elif UINT_FAST8_MAX == 0xff 874# define SCNuFAST8 "hhu" 875# else 876# define SCNuFAST8 "u" 877# endif 878# endif 879# if !defined SCNxFAST8 || 0 880# undef SCNxFAST8 881# if UINT_FAST8_MAX > UINT32_MAX 882# define SCNxFAST8 SCNx64 883# elif UINT_FAST8_MAX == 0xffff 884# define SCNxFAST8 "hx" 885# elif UINT_FAST8_MAX == 0xff 886# define SCNxFAST8 "hhx" 887# else 888# define SCNxFAST8 "x" 889# endif 890# endif 891# if !defined SCNdFAST16 || 0 892# undef SCNdFAST16 893# if INT_FAST16_MAX > INT32_MAX 894# define SCNdFAST16 SCNd64 895# elif INT_FAST16_MAX == 0x7fff 896# define SCNdFAST16 "hd" 897# else 898# define SCNdFAST16 "d" 899# endif 900# endif 901# if !defined SCNiFAST16 || 0 902# undef SCNiFAST16 903# if INT_FAST16_MAX > INT32_MAX 904# define SCNiFAST16 SCNi64 905# elif INT_FAST16_MAX == 0x7fff 906# define SCNiFAST16 "hi" 907# else 908# define SCNiFAST16 "i" 909# endif 910# endif 911# if !defined SCNoFAST16 || 0 912# undef SCNoFAST16 913# if UINT_FAST16_MAX > UINT32_MAX 914# define SCNoFAST16 SCNo64 915# elif UINT_FAST16_MAX == 0xffff 916# define SCNoFAST16 "ho" 917# else 918# define SCNoFAST16 "o" 919# endif 920# endif 921# if !defined SCNuFAST16 || 0 922# undef SCNuFAST16 923# if UINT_FAST16_MAX > UINT32_MAX 924# define SCNuFAST16 SCNu64 925# elif UINT_FAST16_MAX == 0xffff 926# define SCNuFAST16 "hu" 927# else 928# define SCNuFAST16 "u" 929# endif 930# endif 931# if !defined SCNxFAST16 || 0 932# undef SCNxFAST16 933# if UINT_FAST16_MAX > UINT32_MAX 934# define SCNxFAST16 SCNx64 935# elif UINT_FAST16_MAX == 0xffff 936# define SCNxFAST16 "hx" 937# else 938# define SCNxFAST16 "x" 939# endif 940# endif 941# if !defined SCNdFAST32 || 0 942# undef SCNdFAST32 943# if INT_FAST32_MAX > INT32_MAX 944# define SCNdFAST32 SCNd64 945# else 946# define SCNdFAST32 "d" 947# endif 948# endif 949# if !defined SCNiFAST32 || 0 950# undef SCNiFAST32 951# if INT_FAST32_MAX > INT32_MAX 952# define SCNiFAST32 SCNi64 953# else 954# define SCNiFAST32 "i" 955# endif 956# endif 957# if !defined SCNoFAST32 || 0 958# undef SCNoFAST32 959# if UINT_FAST32_MAX > UINT32_MAX 960# define SCNoFAST32 SCNo64 961# else 962# define SCNoFAST32 "o" 963# endif 964# endif 965# if !defined SCNuFAST32 || 0 966# undef SCNuFAST32 967# if UINT_FAST32_MAX > UINT32_MAX 968# define SCNuFAST32 SCNu64 969# else 970# define SCNuFAST32 "u" 971# endif 972# endif 973# if !defined SCNxFAST32 || 0 974# undef SCNxFAST32 975# if UINT_FAST32_MAX > UINT32_MAX 976# define SCNxFAST32 SCNx64 977# else 978# define SCNxFAST32 "x" 979# endif 980# endif 981# ifdef INT64_MAX 982# if !defined SCNdFAST64 || 0 983# undef SCNdFAST64 984# define SCNdFAST64 SCNd64 985# endif 986# if !defined SCNiFAST64 || 0 987# undef SCNiFAST64 988# define SCNiFAST64 SCNi64 989# endif 990# endif 991# ifdef UINT64_MAX 992# if !defined SCNoFAST64 || 0 993# undef SCNoFAST64 994# define SCNoFAST64 SCNo64 995# endif 996# if !defined SCNuFAST64 || 0 997# undef SCNuFAST64 998# define SCNuFAST64 SCNu64 999# endif 1000# if !defined SCNxFAST64 || 0 1001# undef SCNxFAST64 1002# define SCNxFAST64 SCNx64 1003# endif 1004# endif 1005 1006# if !defined SCNdMAX || 0 1007# undef SCNdMAX 1008# if 1 1009# define SCNdMAX SCNd64 1010# else 1011# define SCNdMAX "ld" 1012# endif 1013# endif 1014# if !defined SCNiMAX || 0 1015# undef SCNiMAX 1016# if 1 1017# define SCNiMAX SCNi64 1018# else 1019# define SCNiMAX "li" 1020# endif 1021# endif 1022# if !defined SCNoMAX || 0 1023# undef SCNoMAX 1024# if 1 1025# define SCNoMAX SCNo64 1026# else 1027# define SCNoMAX "lo" 1028# endif 1029# endif 1030# if !defined SCNuMAX || 0 1031# undef SCNuMAX 1032# if 1 1033# define SCNuMAX SCNu64 1034# else 1035# define SCNuMAX "lu" 1036# endif 1037# endif 1038# if !defined SCNxMAX || 0 1039# undef SCNxMAX 1040# if 1 1041# define SCNxMAX SCNx64 1042# else 1043# define SCNxMAX "lx" 1044# endif 1045# endif 1046 1047# if !defined SCNdPTR || 0 1048# undef SCNdPTR 1049# ifdef INTPTR_MAX 1050# define SCNdPTR "l" "d" 1051# endif 1052# endif 1053# if !defined SCNiPTR || 0 1054# undef SCNiPTR 1055# ifdef INTPTR_MAX 1056# define SCNiPTR "l" "i" 1057# endif 1058# endif 1059# if !defined SCNoPTR || 0 1060# undef SCNoPTR 1061# ifdef UINTPTR_MAX 1062# define SCNoPTR "l" "o" 1063# endif 1064# endif 1065# if !defined SCNuPTR || 0 1066# undef SCNuPTR 1067# ifdef UINTPTR_MAX 1068# define SCNuPTR "l" "u" 1069# endif 1070# endif 1071# if !defined SCNxPTR || 0 1072# undef SCNxPTR 1073# ifdef UINTPTR_MAX 1074# define SCNxPTR "l" "x" 1075# endif 1076# endif 1077 1078#endif 1079 1080/* 7.8.2 Functions for greatest-width integer types */ 1081 1082#ifdef __cplusplus 1083extern "C" { 1084#endif 1085 1086#if 0 1087# if !1 1088extern intmax_t imaxabs (intmax_t); 1089# endif 1090#elif defined GNULIB_POSIXCHECK 1091# undef imaxabs 1092# define imaxabs(a) \ 1093 (GL_LINK_WARNING ("imaxabs is unportable - " \ 1094 "use gnulib module imaxabs for portability"), \ 1095 imaxabs (a)) 1096#endif 1097 1098#if 0 1099# if !1 1100typedef struct { intmax_t quot; intmax_t rem; } imaxdiv_t; 1101extern imaxdiv_t imaxdiv (intmax_t, intmax_t); 1102# endif 1103#elif defined GNULIB_POSIXCHECK 1104# undef imaxdiv 1105# define imaxdiv(a,b) \ 1106 (GL_LINK_WARNING ("imaxdiv is unportable - " \ 1107 "use gnulib module imaxdiv for portability"), \ 1108 imaxdiv (a, b)) 1109#endif 1110 1111#if 1 1112# if !1 1113extern intmax_t strtoimax (const char *, char **, int) _GL_ARG_NONNULL ((1)); 1114# endif 1115#elif defined GNULIB_POSIXCHECK 1116# undef strtoimax 1117# define strtoimax(p,e,b) \ 1118 (GL_LINK_WARNING ("strtoimax is unportable - " \ 1119 "use gnulib module strtoimax for portability"), \ 1120 strtoimax (p, e, b)) 1121#endif 1122 1123#if 1 1124# if !1 1125extern uintmax_t strtoumax (const char *, char **, int) _GL_ARG_NONNULL ((1)); 1126# endif 1127#elif defined GNULIB_POSIXCHECK 1128# undef strtoumax 1129# define strtoumax(p,e,b) \ 1130 (GL_LINK_WARNING ("strtoumax is unportable - " \ 1131 "use gnulib module strtoumax for portability"), \ 1132 strtoumax (p, e, b)) 1133#endif 1134 1135/* Don't bother defining or declaring wcstoimax and wcstoumax, since 1136 wide-character functions like this are hardly ever useful. */ 1137 1138#ifdef __cplusplus 1139} 1140#endif 1141 1142#endif /* !defined INTTYPES_H && !defined _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H */ 1143