167754Smsmith/*- 267754Smsmith * Copyright (c) 2001 The NetBSD Foundation, Inc. 367754Smsmith * All rights reserved. 467754Smsmith * 567754Smsmith * This code is derived from software contributed to The NetBSD Foundation 667754Smsmith * by Klaus Klein. 767754Smsmith * 867754Smsmith * Redistribution and use in source and binary forms, with or without 967754Smsmith * modification, are permitted provided that the following conditions 1067754Smsmith * are met: 1167754Smsmith * 1. Redistributions of source code must retain the above copyright 1267754Smsmith * notice, this list of conditions and the following disclaimer. 1367754Smsmith * 2. Redistributions in binary form must reproduce the above copyright 1467754Smsmith * notice, this list of conditions and the following disclaimer in the 1567754Smsmith * documentation and/or other materials provided with the distribution. 1667754Smsmith * 1767754Smsmith * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS 1867754Smsmith * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 1967754Smsmith * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 2067754Smsmith * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS 2167754Smsmith * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 2267754Smsmith * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 2367754Smsmith * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 2467754Smsmith * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 2567754Smsmith * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 2667754Smsmith * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 2767754Smsmith * POSSIBILITY OF SUCH DAMAGE. 2867754Smsmith * 2967754Smsmith * From: $NetBSD: int_fmtio.h,v 1.2 2001/04/26 16:25:21 kleink Exp $ 3067754Smsmith * $FreeBSD: releng/10.2/sys/x86/include/_inttypes.h 217157 2011-01-08 18:09:48Z tijl $ 3167754Smsmith */ 3267754Smsmith 3367754Smsmith#ifndef _MACHINE_INTTYPES_H_ 3467754Smsmith#define _MACHINE_INTTYPES_H_ 3567754Smsmith 3667754Smsmith/* 3767754Smsmith * Macros for format specifiers. 3867754Smsmith */ 3967754Smsmith 4067754Smsmith#ifdef __LP64__ 4167754Smsmith#define __PRI64 "l" 4267754Smsmith#define __PRIptr "l" 4367754Smsmith#else 4467754Smsmith#define __PRI64 "ll" 4567754Smsmith#define __PRIptr 4667754Smsmith#endif 4767754Smsmith 4867754Smsmith/* fprintf(3) macros for signed integers. */ 4967754Smsmith 5067754Smsmith#define PRId8 "d" /* int8_t */ 5167754Smsmith#define PRId16 "d" /* int16_t */ 5267754Smsmith#define PRId32 "d" /* int32_t */ 5367754Smsmith#define PRId64 __PRI64"d" /* int64_t */ 5467754Smsmith#define PRIdLEAST8 "d" /* int_least8_t */ 5567754Smsmith#define PRIdLEAST16 "d" /* int_least16_t */ 5667754Smsmith#define PRIdLEAST32 "d" /* int_least32_t */ 5767754Smsmith#define PRIdLEAST64 __PRI64"d" /* int_least64_t */ 5867754Smsmith#define PRIdFAST8 "d" /* int_fast8_t */ 5967754Smsmith#define PRIdFAST16 "d" /* int_fast16_t */ 6067754Smsmith#define PRIdFAST32 "d" /* int_fast32_t */ 6167754Smsmith#define PRIdFAST64 __PRI64"d" /* int_fast64_t */ 6267754Smsmith#define PRIdMAX "jd" /* intmax_t */ 6367754Smsmith#define PRIdPTR __PRIptr"d" /* intptr_t */ 6467754Smsmith 6567754Smsmith#define PRIi8 "i" /* int8_t */ 6667754Smsmith#define PRIi16 "i" /* int16_t */ 6767754Smsmith#define PRIi32 "i" /* int32_t */ 6867754Smsmith#define PRIi64 __PRI64"i" /* int64_t */ 6967754Smsmith#define PRIiLEAST8 "i" /* int_least8_t */ 7067754Smsmith#define PRIiLEAST16 "i" /* int_least16_t */ 7167754Smsmith#define PRIiLEAST32 "i" /* int_least32_t */ 7267754Smsmith#define PRIiLEAST64 __PRI64"i" /* int_least64_t */ 7367754Smsmith#define PRIiFAST8 "i" /* int_fast8_t */ 7467754Smsmith#define PRIiFAST16 "i" /* int_fast16_t */ 7567754Smsmith#define PRIiFAST32 "i" /* int_fast32_t */ 7667754Smsmith#define PRIiFAST64 __PRI64"i" /* int_fast64_t */ 7767754Smsmith#define PRIiMAX "ji" /* intmax_t */ 7867754Smsmith#define PRIiPTR __PRIptr"i" /* intptr_t */ 7967754Smsmith 8067754Smsmith/* fprintf(3) macros for unsigned integers. */ 8167754Smsmith 8267754Smsmith#define PRIo8 "o" /* uint8_t */ 8367754Smsmith#define PRIo16 "o" /* uint16_t */ 8467754Smsmith#define PRIo32 "o" /* uint32_t */ 8567754Smsmith#define PRIo64 __PRI64"o" /* uint64_t */ 8667754Smsmith#define PRIoLEAST8 "o" /* uint_least8_t */ 8767754Smsmith#define PRIoLEAST16 "o" /* uint_least16_t */ 8867754Smsmith#define PRIoLEAST32 "o" /* uint_least32_t */ 8967754Smsmith#define PRIoLEAST64 __PRI64"o" /* uint_least64_t */ 9067754Smsmith#define PRIoFAST8 "o" /* uint_fast8_t */ 9167754Smsmith#define PRIoFAST16 "o" /* uint_fast16_t */ 9267754Smsmith#define PRIoFAST32 "o" /* uint_fast32_t */ 9367754Smsmith#define PRIoFAST64 __PRI64"o" /* uint_fast64_t */ 9467754Smsmith#define PRIoMAX "jo" /* uintmax_t */ 9567754Smsmith#define PRIoPTR __PRIptr"o" /* uintptr_t */ 9667754Smsmith 9767754Smsmith#define PRIu8 "u" /* uint8_t */ 9867754Smsmith#define PRIu16 "u" /* uint16_t */ 9967754Smsmith#define PRIu32 "u" /* uint32_t */ 10067754Smsmith#define PRIu64 __PRI64"u" /* uint64_t */ 10167754Smsmith#define PRIuLEAST8 "u" /* uint_least8_t */ 10267754Smsmith#define PRIuLEAST16 "u" /* uint_least16_t */ 10367754Smsmith#define PRIuLEAST32 "u" /* uint_least32_t */ 10467754Smsmith#define PRIuLEAST64 __PRI64"u" /* uint_least64_t */ 10567754Smsmith#define PRIuFAST8 "u" /* uint_fast8_t */ 10667754Smsmith#define PRIuFAST16 "u" /* uint_fast16_t */ 10767754Smsmith#define PRIuFAST32 "u" /* uint_fast32_t */ 10867754Smsmith#define PRIuFAST64 __PRI64"u" /* uint_fast64_t */ 10967754Smsmith#define PRIuMAX "ju" /* uintmax_t */ 11067754Smsmith#define PRIuPTR __PRIptr"u" /* uintptr_t */ 11167754Smsmith 11267754Smsmith#define PRIx8 "x" /* uint8_t */ 11367754Smsmith#define PRIx16 "x" /* uint16_t */ 11467754Smsmith#define PRIx32 "x" /* uint32_t */ 11567754Smsmith#define PRIx64 __PRI64"x" /* uint64_t */ 11667754Smsmith#define PRIxLEAST8 "x" /* uint_least8_t */ 11767754Smsmith#define PRIxLEAST16 "x" /* uint_least16_t */ 11867754Smsmith#define PRIxLEAST32 "x" /* uint_least32_t */ 11967754Smsmith#define PRIxLEAST64 __PRI64"x" /* uint_least64_t */ 12067754Smsmith#define PRIxFAST8 "x" /* uint_fast8_t */ 12167754Smsmith#define PRIxFAST16 "x" /* uint_fast16_t */ 12267754Smsmith#define PRIxFAST32 "x" /* uint_fast32_t */ 12367754Smsmith#define PRIxFAST64 __PRI64"x" /* uint_fast64_t */ 12467754Smsmith#define PRIxMAX "jx" /* uintmax_t */ 12567754Smsmith#define PRIxPTR __PRIptr"x" /* uintptr_t */ 12667754Smsmith 12767754Smsmith#define PRIX8 "X" /* uint8_t */ 12867754Smsmith#define PRIX16 "X" /* uint16_t */ 12967754Smsmith#define PRIX32 "X" /* uint32_t */ 13067754Smsmith#define PRIX64 __PRI64"X" /* uint64_t */ 13167754Smsmith#define PRIXLEAST8 "X" /* uint_least8_t */ 13267754Smsmith#define PRIXLEAST16 "X" /* uint_least16_t */ 13367754Smsmith#define PRIXLEAST32 "X" /* uint_least32_t */ 13467754Smsmith#define PRIXLEAST64 __PRI64"X" /* uint_least64_t */ 13567754Smsmith#define PRIXFAST8 "X" /* uint_fast8_t */ 13667754Smsmith#define PRIXFAST16 "X" /* uint_fast16_t */ 13767754Smsmith#define PRIXFAST32 "X" /* uint_fast32_t */ 13867754Smsmith#define PRIXFAST64 __PRI64"X" /* uint_fast64_t */ 13967754Smsmith#define PRIXMAX "jX" /* uintmax_t */ 14067754Smsmith#define PRIXPTR __PRIptr"X" /* uintptr_t */ 14167754Smsmith 14267754Smsmith/* fscanf(3) macros for signed integers. */ 14367754Smsmith 14467754Smsmith#define SCNd8 "hhd" /* int8_t */ 14567754Smsmith#define SCNd16 "hd" /* int16_t */ 14667754Smsmith#define SCNd32 "d" /* int32_t */ 14767754Smsmith#define SCNd64 __PRI64"d" /* int64_t */ 14867754Smsmith#define SCNdLEAST8 "hhd" /* int_least8_t */ 14967754Smsmith#define SCNdLEAST16 "hd" /* int_least16_t */ 15067754Smsmith#define SCNdLEAST32 "d" /* int_least32_t */ 15167754Smsmith#define SCNdLEAST64 __PRI64"d" /* int_least64_t */ 15267754Smsmith#define SCNdFAST8 "d" /* int_fast8_t */ 15367754Smsmith#define SCNdFAST16 "d" /* int_fast16_t */ 15467754Smsmith#define SCNdFAST32 "d" /* int_fast32_t */ 15567754Smsmith#define SCNdFAST64 __PRI64"d" /* int_fast64_t */ 15667754Smsmith#define SCNdMAX "jd" /* intmax_t */ 15767754Smsmith#define SCNdPTR __PRIptr"d" /* intptr_t */ 15867754Smsmith 15967754Smsmith#define SCNi8 "hhi" /* int8_t */ 16067754Smsmith#define SCNi16 "hi" /* int16_t */ 16167754Smsmith#define SCNi32 "i" /* int32_t */ 16267754Smsmith#define SCNi64 __PRI64"i" /* int64_t */ 16367754Smsmith#define SCNiLEAST8 "hhi" /* int_least8_t */ 16467754Smsmith#define SCNiLEAST16 "hi" /* int_least16_t */ 16567754Smsmith#define SCNiLEAST32 "i" /* int_least32_t */ 16667754Smsmith#define SCNiLEAST64 __PRI64"i" /* int_least64_t */ 16767754Smsmith#define SCNiFAST8 "i" /* int_fast8_t */ 16867754Smsmith#define SCNiFAST16 "i" /* int_fast16_t */ 16967754Smsmith#define SCNiFAST32 "i" /* int_fast32_t */ 17067754Smsmith#define SCNiFAST64 __PRI64"i" /* int_fast64_t */ 17167754Smsmith#define SCNiMAX "ji" /* intmax_t */ 17267754Smsmith#define SCNiPTR __PRIptr"i" /* intptr_t */ 17367754Smsmith 17467754Smsmith/* fscanf(3) macros for unsigned integers. */ 17567754Smsmith 17667754Smsmith#define SCNo8 "hho" /* uint8_t */ 17767754Smsmith#define SCNo16 "ho" /* uint16_t */ 17867754Smsmith#define SCNo32 "o" /* uint32_t */ 17967754Smsmith#define SCNo64 __PRI64"o" /* uint64_t */ 18067754Smsmith#define SCNoLEAST8 "hho" /* uint_least8_t */ 18167754Smsmith#define SCNoLEAST16 "ho" /* uint_least16_t */ 18267754Smsmith#define SCNoLEAST32 "o" /* uint_least32_t */ 18367754Smsmith#define SCNoLEAST64 __PRI64"o" /* uint_least64_t */ 18467754Smsmith#define SCNoFAST8 "o" /* uint_fast8_t */ 18567754Smsmith#define SCNoFAST16 "o" /* uint_fast16_t */ 18667754Smsmith#define SCNoFAST32 "o" /* uint_fast32_t */ 18767754Smsmith#define SCNoFAST64 __PRI64"o" /* uint_fast64_t */ 18867754Smsmith#define SCNoMAX "jo" /* uintmax_t */ 18967754Smsmith#define SCNoPTR __PRIptr"o" /* uintptr_t */ 19067754Smsmith 19167754Smsmith#define SCNu8 "hhu" /* uint8_t */ 19267754Smsmith#define SCNu16 "hu" /* uint16_t */ 19367754Smsmith#define SCNu32 "u" /* uint32_t */ 19467754Smsmith#define SCNu64 __PRI64"u" /* uint64_t */ 19567754Smsmith#define SCNuLEAST8 "hhu" /* uint_least8_t */ 19667754Smsmith#define SCNuLEAST16 "hu" /* uint_least16_t */ 19767754Smsmith#define SCNuLEAST32 "u" /* uint_least32_t */ 19867754Smsmith#define SCNuLEAST64 __PRI64"u" /* uint_least64_t */ 19967754Smsmith#define SCNuFAST8 "u" /* uint_fast8_t */ 20067754Smsmith#define SCNuFAST16 "u" /* uint_fast16_t */ 20167754Smsmith#define SCNuFAST32 "u" /* uint_fast32_t */ 20267754Smsmith#define SCNuFAST64 __PRI64"u" /* uint_fast64_t */ 20367754Smsmith#define SCNuMAX "ju" /* uintmax_t */ 20467754Smsmith#define SCNuPTR __PRIptr"u" /* uintptr_t */ 20567754Smsmith 20667754Smsmith#define SCNx8 "hhx" /* uint8_t */ 20767754Smsmith#define SCNx16 "hx" /* uint16_t */ 20867754Smsmith#define SCNx32 "x" /* uint32_t */ 20967754Smsmith#define SCNx64 __PRI64"x" /* uint64_t */ 21067754Smsmith#define SCNxLEAST8 "hhx" /* uint_least8_t */ 21167754Smsmith#define SCNxLEAST16 "hx" /* uint_least16_t */ 21267754Smsmith#define SCNxLEAST32 "x" /* uint_least32_t */ 21367754Smsmith#define SCNxLEAST64 __PRI64"x" /* uint_least64_t */ 21467754Smsmith#define SCNxFAST8 "x" /* uint_fast8_t */ 21567754Smsmith#define SCNxFAST16 "x" /* uint_fast16_t */ 21667754Smsmith#define SCNxFAST32 "x" /* uint_fast32_t */ 21767754Smsmith#define SCNxFAST64 __PRI64"x" /* uint_fast64_t */ 21867754Smsmith#define SCNxMAX "jx" /* uintmax_t */ 21967754Smsmith#define SCNxPTR __PRIptr"x" /* uintptr_t */ 22067754Smsmith 22167754Smsmith#endif /* !_MACHINE_INTTYPES_H_ */ 22267754Smsmith