int_fmtio.h revision 1.2
11.2Skleink/*	$NetBSD: int_fmtio.h,v 1.2 2001/04/26 16:25:27 kleink Exp $	*/
21.1Skleink
31.1Skleink/*-
41.1Skleink * Copyright (c) 2001 The NetBSD Foundation, Inc.
51.1Skleink * All rights reserved.
61.1Skleink *
71.1Skleink * This code is derived from software contributed to The NetBSD Foundation
81.1Skleink * by Klaus Klein.
91.1Skleink *
101.1Skleink * Redistribution and use in source and binary forms, with or without
111.1Skleink * modification, are permitted provided that the following conditions
121.1Skleink * are met:
131.1Skleink * 1. Redistributions of source code must retain the above copyright
141.1Skleink *    notice, this list of conditions and the following disclaimer.
151.1Skleink * 2. Redistributions in binary form must reproduce the above copyright
161.1Skleink *    notice, this list of conditions and the following disclaimer in the
171.1Skleink *    documentation and/or other materials provided with the distribution.
181.1Skleink * 3. All advertising materials mentioning features or use of this software
191.1Skleink *    must display the following acknowledgement:
201.1Skleink *        This product includes software developed by the NetBSD
211.1Skleink *        Foundation, Inc. and its contributors.
221.1Skleink * 4. Neither the name of The NetBSD Foundation nor the names of its
231.1Skleink *    contributors may be used to endorse or promote products derived
241.1Skleink *    from this software without specific prior written permission.
251.1Skleink *
261.1Skleink * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
271.1Skleink * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
281.1Skleink * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
291.1Skleink * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
301.1Skleink * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
311.1Skleink * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
321.1Skleink * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
331.1Skleink * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
341.1Skleink * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
351.1Skleink * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
361.1Skleink * POSSIBILITY OF SUCH DAMAGE.
371.1Skleink */
381.1Skleink
391.1Skleink#ifndef _VAX_INT_FMTIO_H_
401.1Skleink#define _VAX_INT_FMTIO_H_
411.1Skleink
421.1Skleink/*
431.1Skleink * 7.8.1 Macros for format specifiers
441.1Skleink */
451.1Skleink
461.1Skleink/* fprintf macros for signed integers */
471.1Skleink
481.1Skleink#define	PRId8		"d"	/* int8_t		*/
491.1Skleink#define	PRId16		"d"	/* int16_t		*/
501.1Skleink#define	PRId32		"d"	/* int32_t		*/
511.1Skleink#define	PRId64		"lld"	/* int64_t		*/
521.1Skleink#define	PRIdLEAST8	"d"	/* int_least8_t		*/
531.1Skleink#define	PRIdLEAST16	"d"	/* int_least16_t	*/
541.1Skleink#define	PRIdLEAST32	"d"	/* int_least32_t	*/
551.1Skleink#define	PRIdLEAST64	"lld"	/* int_least64_t	*/
561.2Skleink#define	PRIdFAST8	"d"	/* int_fast8_t		*/
571.2Skleink#define	PRIdFAST16	"d"	/* int_fast16_t		*/
581.2Skleink#define	PRIdFAST32	"d"	/* int_fast32_t		*/
591.2Skleink#define	PRIdFAST64	"lld"	/* int_fast64_t		*/
601.1Skleink#define	PRIdMAX		"lld"	/* intmax_t		*/
611.1Skleink#ifdef __ELF__
621.1Skleink#define	PRIdPTR		"ld"	/* intptr_t		*/
631.1Skleink#else
641.1Skleink#define	PRIdPTR		"d"	/* intptr_t		*/
651.1Skleink#endif
661.1Skleink
671.1Skleink#define	PRIi8		"i"	/* int8_t		*/
681.1Skleink#define	PRIi16		"i"	/* int16_t		*/
691.1Skleink#define	PRIi32		"i"	/* int32_t		*/
701.1Skleink#define	PRIi64		"lli"	/* int64_t		*/
711.1Skleink#define	PRIiLEAST8	"i"	/* int_least8_t		*/
721.1Skleink#define	PRIiLEAST16	"i"	/* int_least16_t	*/
731.1Skleink#define	PRIiLEAST32	"i"	/* int_least32_t	*/
741.1Skleink#define	PRIiLEAST64	"lli"	/* int_least64_t	*/
751.2Skleink#define	PRIiFAST8	"i"	/* int_fast8_t		*/
761.2Skleink#define	PRIiFAST16	"i"	/* int_fast16_t		*/
771.2Skleink#define	PRIiFAST32	"i"	/* int_fast32_t		*/
781.2Skleink#define	PRIiFAST64	"lli"	/* int_fast64_t		*/
791.1Skleink#define	PRIiMAX		"lli"	/* intmax_t		*/
801.1Skleink#ifdef __ELF__
811.1Skleink#define	PRIiPTR		"li"	/* intptr_t		*/
821.1Skleink#else
831.1Skleink#define	PRIiPTR		"i"	/* intptr_t		*/
841.1Skleink#endif
851.1Skleink
861.1Skleink/* fprintf macros for unsigned integers */
871.1Skleink
881.1Skleink#define	PRIo8		"o"	/* uint8_t		*/
891.1Skleink#define	PRIo16		"o"	/* uint16_t		*/
901.1Skleink#define	PRIo32		"o"	/* uint32_t		*/
911.1Skleink#define	PRIo64		"llo"	/* uint64_t		*/
921.1Skleink#define	PRIoLEAST8	"o"	/* uint_least8_t	*/
931.1Skleink#define	PRIoLEAST16	"o"	/* uint_least16_t	*/
941.1Skleink#define	PRIoLEAST32	"o"	/* uint_least32_t	*/
951.1Skleink#define	PRIoLEAST64	"llo"	/* uint_least64_t	*/
961.2Skleink#define	PRIoFAST8	"o"	/* uint_fast8_t		*/
971.2Skleink#define	PRIoFAST16	"o"	/* uint_fast16_t	*/
981.2Skleink#define	PRIoFAST32	"o"	/* uint_fast32_t	*/
991.2Skleink#define	PRIoFAST64	"llo"	/* uint_fast64_t	*/
1001.1Skleink#define	PRIoMAX		"llo"	/* uintmax_t		*/
1011.1Skleink#ifdef __ELF__
1021.1Skleink#define	PRIoPTR		"lo"	/* uintptr_t		*/
1031.1Skleink#else
1041.1Skleink#define	PRIoPTR		"o"	/* uintptr_t		*/
1051.1Skleink#endif
1061.1Skleink
1071.1Skleink#define	PRIu8		"u"	/* uint8_t		*/
1081.1Skleink#define	PRIu16		"u"	/* uint16_t		*/
1091.1Skleink#define	PRIu32		"u"	/* uint32_t		*/
1101.1Skleink#define	PRIu64		"llu"	/* uint64_t		*/
1111.1Skleink#define	PRIuLEAST8	"u"	/* uint_least8_t	*/
1121.1Skleink#define	PRIuLEAST16	"u"	/* uint_least16_t	*/
1131.1Skleink#define	PRIuLEAST32	"u"	/* uint_least32_t	*/
1141.1Skleink#define	PRIuLEAST64	"llu"	/* uint_least64_t	*/
1151.2Skleink#define	PRIuFAST8	"u"	/* uint_fast8_t		*/
1161.2Skleink#define	PRIuFAST16	"u"	/* uint_fast16_t	*/
1171.2Skleink#define	PRIuFAST32	"u"	/* uint_fast32_t	*/
1181.2Skleink#define	PRIuFAST64	"llu"	/* uint_fast64_t	*/
1191.1Skleink#define	PRIuMAX		"llu"	/* uintmax_t		*/
1201.1Skleink#ifdef __ELF__
1211.1Skleink#define	PRIuPTR		"lu"	/* uintptr_t		*/
1221.1Skleink#else
1231.1Skleink#define	PRIuPTR		"u"	/* uintptr_t		*/
1241.1Skleink#endif
1251.1Skleink
1261.1Skleink#define	PRIx8		"x"	/* uint8_t		*/
1271.1Skleink#define	PRIx16		"x"	/* uint16_t		*/
1281.1Skleink#define	PRIx32		"x"	/* uint32_t		*/
1291.1Skleink#define	PRIx64		"llx"	/* uint64_t		*/
1301.1Skleink#define	PRIxLEAST8	"x"	/* uint_least8_t	*/
1311.1Skleink#define	PRIxLEAST16	"x"	/* uint_least16_t	*/
1321.1Skleink#define	PRIxLEAST32	"x"	/* uint_least32_t	*/
1331.1Skleink#define	PRIxLEAST64	"llx"	/* uint_least64_t	*/
1341.2Skleink#define	PRIxFAST8	"x"	/* uint_fast8_t		*/
1351.2Skleink#define	PRIxFAST16	"x"	/* uint_fast16_t	*/
1361.2Skleink#define	PRIxFAST32	"x"	/* uint_fast32_t	*/
1371.2Skleink#define	PRIxFAST64	"llx"	/* uint_fast64_t	*/
1381.1Skleink#define	PRIxMAX		"llx"	/* uintmax_t		*/
1391.1Skleink#ifdef __ELF__
1401.1Skleink#define	PRIxPTR		"lx"	/* uintptr_t		*/
1411.1Skleink#else
1421.1Skleink#define	PRIxPTR		"x"	/* uintptr_t		*/
1431.1Skleink#endif
1441.1Skleink
1451.1Skleink#define	PRIX8		"X"	/* uint8_t		*/
1461.1Skleink#define	PRIX16		"X"	/* uint16_t		*/
1471.1Skleink#define	PRIX32		"X"	/* uint32_t		*/
1481.1Skleink#define	PRIX64		"llX"	/* uint64_t		*/
1491.1Skleink#define	PRIXLEAST8	"X"	/* uint_least8_t	*/
1501.1Skleink#define	PRIXLEAST16	"X"	/* uint_least16_t	*/
1511.1Skleink#define	PRIXLEAST32	"X"	/* uint_least32_t	*/
1521.1Skleink#define	PRIXLEAST64	"llX"	/* uint_least64_t	*/
1531.2Skleink#define	PRIXFAST8	"X"	/* uint_fast8_t		*/
1541.2Skleink#define	PRIXFAST16	"X"	/* uint_fast16_t	*/
1551.2Skleink#define	PRIXFAST32	"X"	/* uint_fast32_t	*/
1561.2Skleink#define	PRIXFAST64	"llX"	/* uint_fast64_t	*/
1571.1Skleink#define	PRIXMAX		"llX"	/* uintmax_t		*/
1581.1Skleink#ifdef __ELF__
1591.1Skleink#define	PRIXPTR		"lX"	/* uintptr_t		*/
1601.1Skleink#else
1611.1Skleink#define	PRIXPTR		"X"	/* uintptr_t		*/
1621.1Skleink#endif
1631.1Skleink
1641.1Skleink/* fscanf macros for signed integers */
1651.1Skleink
1661.1Skleink#define	SCNd8		"hhd"	/* int8_t		*/
1671.1Skleink#define	SCNd16		"hd"	/* int16_t		*/
1681.1Skleink#define	SCNd32		"d"	/* int32_t		*/
1691.1Skleink#define	SCNd64		"lld"	/* int64_t		*/
1701.1Skleink#define	SCNdLEAST8	"hhd"	/* int_least8_t		*/
1711.1Skleink#define	SCNdLEAST16	"hd"	/* int_least16_t	*/
1721.1Skleink#define	SCNdLEAST32	"d"	/* int_least32_t	*/
1731.1Skleink#define	SCNdLEAST64	"lld"	/* int_least64_t	*/
1741.2Skleink#define	SCNdFAST8	"hhd"	/* int_fast8_t		*/
1751.2Skleink#define	SCNdFAST16	"hd"	/* int_fast16_t		*/
1761.2Skleink#define	SCNdFAST32	"d"	/* int_fast32_t		*/
1771.2Skleink#define	SCNdFAST64	"lld"	/* int_fast64_t		*/
1781.1Skleink#define	SCNdMAX		"lld"	/* intmax_t		*/
1791.1Skleink#ifdef __ELF__
1801.1Skleink#define	SCNdPTR		"ld"	/* intptr_t		*/
1811.1Skleink#else
1821.1Skleink#define	SCNdPTR		"d"	/* intptr_t		*/
1831.1Skleink#endif
1841.1Skleink
1851.1Skleink#define	SCNi8		"hhi"	/* int8_t		*/
1861.1Skleink#define	SCNi16		"hi"	/* int16_t		*/
1871.1Skleink#define	SCNi32		"i"	/* int32_t		*/
1881.1Skleink#define	SCNi64		"lli"	/* int64_t		*/
1891.1Skleink#define	SCNiLEAST8	"hhi"	/* int_least8_t		*/
1901.1Skleink#define	SCNiLEAST16	"hi"	/* int_least16_t	*/
1911.1Skleink#define	SCNiLEAST32	"i"	/* int_least32_t	*/
1921.1Skleink#define	SCNiLEAST64	"lli"	/* int_least64_t	*/
1931.2Skleink#define	SCNiFAST8	"hhi"	/* int_fast8_t		*/
1941.2Skleink#define	SCNiFAST16	"hi"	/* int_fast16_t		*/
1951.2Skleink#define	SCNiFAST32	"i"	/* int_fast32_t		*/
1961.2Skleink#define	SCNiFAST64	"lli"	/* int_fast64_t		*/
1971.1Skleink#define	SCNiMAX		"lli"	/* intmax_t		*/
1981.1Skleink#ifdef __ELF__
1991.1Skleink#define	SCNiPTR		"li"	/* intptr_t		*/
2001.1Skleink#else
2011.1Skleink#define	SCNiPTR		"i"	/* intptr_t		*/
2021.1Skleink#endif
2031.1Skleink
2041.1Skleink/* fscanf macros for unsigned integers */
2051.1Skleink
2061.1Skleink#define	SCNo8		"hho"	/* uint8_t		*/
2071.1Skleink#define	SCNo16		"ho"	/* uint16_t		*/
2081.1Skleink#define	SCNo32		"o"	/* uint32_t		*/
2091.1Skleink#define	SCNo64		"llo"	/* uint64_t		*/
2101.1Skleink#define	SCNoLEAST8	"hho"	/* uint_least8_t	*/
2111.1Skleink#define	SCNoLEAST16	"ho"	/* uint_least16_t	*/
2121.1Skleink#define	SCNoLEAST32	"o"	/* uint_least32_t	*/
2131.1Skleink#define	SCNoLEAST64	"llo"	/* uint_least64_t	*/
2141.2Skleink#define	SCNoFAST8	"hho"	/* uint_fast8_t		*/
2151.2Skleink#define	SCNoFAST16	"ho"	/* uint_fast16_t	*/
2161.2Skleink#define	SCNoFAST32	"o"	/* uint_fast32_t	*/
2171.2Skleink#define	SCNoFAST64	"llo"	/* uint_fast64_t	*/
2181.1Skleink#define	SCNoMAX		"llo"	/* uintmax_t		*/
2191.1Skleink#ifdef __ELF__
2201.1Skleink#define	SCNoPTR		"lo"	/* uintptr_t		*/
2211.1Skleink#else
2221.1Skleink#define	SCNoPTR		"o"	/* uintptr_t		*/
2231.1Skleink#endif
2241.1Skleink
2251.1Skleink#define	SCNu8		"hhu"	/* uint8_t		*/
2261.1Skleink#define	SCNu16		"hu"	/* uint16_t		*/
2271.1Skleink#define	SCNu32		"u"	/* uint32_t		*/
2281.1Skleink#define	SCNu64		"llu"	/* uint64_t		*/
2291.1Skleink#define	SCNuLEAST8	"hhu"	/* uint_least8_t	*/
2301.1Skleink#define	SCNuLEAST16	"hu"	/* uint_least16_t	*/
2311.1Skleink#define	SCNuLEAST32	"u"	/* uint_least32_t	*/
2321.1Skleink#define	SCNuLEAST64	"llu"	/* uint_least64_t	*/
2331.2Skleink#define	SCNuFAST8	"hhu"	/* uint_fast8_t		*/
2341.2Skleink#define	SCNuFAST16	"hu"	/* uint_fast16_t	*/
2351.2Skleink#define	SCNuFAST32	"u"	/* uint_fast32_t	*/
2361.2Skleink#define	SCNuFAST64	"llu"	/* uint_fast64_t	*/
2371.1Skleink#define	SCNuMAX		"llu"	/* uintmax_t		*/
2381.1Skleink#ifdef __ELF__
2391.1Skleink#define	SCNuPTR		"lu"	/* uintptr_t		*/
2401.1Skleink#else
2411.1Skleink#define	SCNuPTR		"u"	/* uintptr_t		*/
2421.1Skleink#endif
2431.1Skleink
2441.1Skleink#define	SCNx8		"hhx"	/* uint8_t		*/
2451.1Skleink#define	SCNx16		"hx"	/* uint16_t		*/
2461.1Skleink#define	SCNx32		"x"	/* uint32_t		*/
2471.1Skleink#define	SCNx64		"llx"	/* uint64_t		*/
2481.1Skleink#define	SCNxLEAST8	"hhx"	/* uint_least8_t	*/
2491.1Skleink#define	SCNxLEAST16	"hx"	/* uint_least16_t	*/
2501.1Skleink#define	SCNxLEAST32	"x"	/* uint_least32_t	*/
2511.1Skleink#define	SCNxLEAST64	"llx"	/* uint_least64_t	*/
2521.2Skleink#define	SCNxFAST8	"hhx"	/* uint_fast8_t		*/
2531.2Skleink#define	SCNxFAST16	"hx"	/* uint_fast16_t	*/
2541.2Skleink#define	SCNxFAST32	"x"	/* uint_fast32_t	*/
2551.2Skleink#define	SCNxFAST64	"llx"	/* uint_fast64_t	*/
2561.1Skleink#define	SCNxMAX		"llx"	/* uintmax_t		*/
2571.1Skleink#ifdef __ELF__
2581.1Skleink#define	SCNxPTR		"lx"	/* uintptr_t		*/
2591.1Skleink#else
2601.1Skleink#define	SCNxPTR		"x"	/* uintptr_t		*/
2611.1Skleink#endif
2621.1Skleink
2631.1Skleink#endif /* !_VAX_INT_FMTIO_H_ */
264