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