15c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// ISO C9x compliant inttypes.h for Microsoft Visual Studio 25c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124 35c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 45c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Copyright (c) 2006 Alexander Chemeris 55c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 65c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// Redistribution and use in source and binary forms, with or without 75c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// modification, are permitted provided that the following conditions are met: 85c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 95c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 1. Redistributions of source code must retain the above copyright notice, 105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// this list of conditions and the following disclaimer. 115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 2. Redistributions in binary form must reproduce the above copyright 135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// notice, this list of conditions and the following disclaimer in the 145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// documentation and/or other materials provided with the distribution. 155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 3. The name of the author may be used to endorse or promote products 175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// derived from this software without specific prior written permission. 185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED 205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO 225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)/////////////////////////////////////////////////////////////////////////////// 315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#ifndef INTTYPES_WIN32_H 335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define INTTYPES_WIN32_H 345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 35591b958dee2cf159d33a0b931e6231072eaf38d5Ben Murdoch#include "wtf/Platform.h" 365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#if !COMPILER(MSVC) 385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#error "This inttypes.h file should only be compiled with MSVC" 395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#endif 405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#if _MSC_VER > 1000 425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#pragma once 435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#endif 445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#include "stdint.h" 465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// 7.8.1 Macros for format specifiers 485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS) 505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// The fprintf macros for signed integers are: 525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRId8 "d" 535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIi8 "i" 545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIdLEAST8 "d" 555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIiLEAST8 "i" 565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIdFAST8 "d" 575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIiFAST8 "i" 585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRId16 "hd" 605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIi16 "hi" 615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIdLEAST16 "hd" 625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIiLEAST16 "hi" 635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIdFAST16 "hd" 645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIiFAST16 "hi" 655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRId32 "d" 675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIi32 "i" 685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIdLEAST32 "d" 695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIiLEAST32 "i" 705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIdFAST32 "d" 715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIiFAST32 "i" 725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRId64 "lld" 745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIi64 "lli" 755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIdLEAST64 "lld" 765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIiLEAST64 "lli" 775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIdFAST64 "lld" 785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIiFAST64 "lli" 795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIdMAX "lld" 815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIiMAX "lli" 825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIdPTR "Id" 845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIiPTR "Ii" 855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// The fprintf macros for unsigned integers are: 875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIo8 "o" 885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIu8 "u" 895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIx8 "x" 905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIX8 "X" 915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIoLEAST8 "o" 925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIuLEAST8 "u" 935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIxLEAST8 "x" 945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIXLEAST8 "X" 955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIoFAST8 "o" 965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIuFAST8 "u" 975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIxFAST8 "x" 985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIXFAST8 "X" 995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIo16 "ho" 1015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIu16 "hu" 1025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIx16 "hx" 1035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIX16 "hX" 1045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIoLEAST16 "ho" 1055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIuLEAST16 "hu" 1065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIxLEAST16 "hx" 1075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIXLEAST16 "hX" 1085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIoFAST16 "ho" 1095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIuFAST16 "hu" 1105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIxFAST16 "hx" 1115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIXFAST16 "hX" 1125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIo32 "o" 1145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIu32 "u" 1155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIx32 "x" 1165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIX32 "X" 1175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIoLEAST32 "o" 1185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIuLEAST32 "u" 1195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIxLEAST32 "x" 1205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIXLEAST32 "X" 1215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIoFAST32 "o" 1225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIuFAST32 "u" 1235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIxFAST32 "x" 1245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIXFAST32 "X" 1255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIo64 "llo" 1275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIu64 "llu" 1285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIx64 "llx" 1295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIX64 "llX" 1305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIoLEAST64 "llo" 1315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIuLEAST64 "llu" 1325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIxLEAST64 "llx" 1335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIXLEAST64 "llX" 1345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIoFAST64 "llo" 1355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIuFAST64 "llu" 1365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIxFAST64 "llx" 1375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIXFAST64 "llX" 1385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIoMAX "llo" 1405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIuMAX "llu" 1415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIxMAX "llx" 1425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIXMAX "llX" 1435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIoPTR "Io" 1455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIuPTR "Iu" 1465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIxPTR "Ix" 1475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define PRIXPTR "IX" 1485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// The fscanf macros for signed integers are: 1505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNd8 "d" 1515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNi8 "i" 1525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNdLEAST8 "d" 1535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNiLEAST8 "i" 1545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNdFAST8 "d" 1555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNiFAST8 "i" 1565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNd16 "hd" 1585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNi16 "hi" 1595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNdLEAST16 "hd" 1605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNiLEAST16 "hi" 1615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNdFAST16 "hd" 1625c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNiFAST16 "hi" 1635c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1645c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNd32 "ld" 1655c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNi32 "li" 1665c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNdLEAST32 "ld" 1675c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNiLEAST32 "li" 1685c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNdFAST32 "ld" 1695c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNiFAST32 "li" 1705c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1715c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNd64 "lld" 1725c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNi64 "lli" 1735c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNdLEAST64 "lld" 1745c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNiLEAST64 "lli" 1755c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNdFAST64 "lld" 1765c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNiFAST64 "lli" 1775c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1785c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNdMAX "lld" 1795c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNiMAX "lli" 1805c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1815c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#ifdef _WIN64 1825c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNdPTR "lld" 1835c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNiPTR "lli" 1845c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#else 1855c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNdPTR "ld" 1865c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNiPTR "li" 1875c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#endif 1885c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 1895c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)// The fscanf macros for unsigned integers are: 1905c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNo8 "o" 1915c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNu8 "u" 1925c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNx8 "x" 1935c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNX8 "X" 1945c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNoLEAST8 "o" 1955c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNuLEAST8 "u" 1965c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNxLEAST8 "x" 1975c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNXLEAST8 "X" 1985c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNoFAST8 "o" 1995c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNuFAST8 "u" 2005c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNxFAST8 "x" 2015c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNXFAST8 "X" 2025c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2035c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNo16 "ho" 2045c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNu16 "hu" 2055c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNx16 "hx" 2065c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNX16 "hX" 2075c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNoLEAST16 "ho" 2085c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNuLEAST16 "hu" 2095c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNxLEAST16 "hx" 2105c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNXLEAST16 "hX" 2115c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNoFAST16 "ho" 2125c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNuFAST16 "hu" 2135c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNxFAST16 "hx" 2145c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNXFAST16 "hX" 2155c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2165c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNo32 "lo" 2175c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNu32 "lu" 2185c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNx32 "lx" 2195c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNX32 "lX" 2205c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNoLEAST32 "lo" 2215c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNuLEAST32 "lu" 2225c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNxLEAST32 "lx" 2235c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNXLEAST32 "lX" 2245c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNoFAST32 "lo" 2255c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNuFAST32 "lu" 2265c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNxFAST32 "lx" 2275c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNXFAST32 "lX" 2285c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2295c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNo64 "llo" 2305c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNu64 "llu" 2315c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNx64 "llx" 2325c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNX64 "llX" 2335c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNoLEAST64 "llo" 2345c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNuLEAST64 "llu" 2355c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNxLEAST64 "llx" 2365c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNXLEAST64 "llX" 2375c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNoFAST64 "llo" 2385c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNuFAST64 "llu" 2395c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNxFAST64 "llx" 2405c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNXFAST64 "llX" 2415c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2425c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNoMAX "llo" 2435c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNuMAX "llu" 2445c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNxMAX "llx" 2455c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#define SCNXMAX "llX" 2465c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2475c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#ifdef _WIN64 2485c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNoPTR "llo" 2495c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNuPTR "llu" 2505c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNxPTR "llx" 2515c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNXPTR "llX" 2525c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#else 2535c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNoPTR "lo" 2545c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNuPTR "lu" 2555c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNxPTR "lx" 2565c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)# define SCNXPTR "lX" 2575c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#endif 2585c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2595c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#endif 2605c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles) 2615c87bf8b86a7c82ef50fb7a89697d8e02e2553beTorne (Richard Coles)#endif 262