/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License, Version 1.0 only
* (the "License"). You may not use this file except in compliance
* with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2014 Garrett D'Amore <garrett@damore.org>
*
* Copyright 2004 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _SYS_INT_FMTIO_H
#define _SYS_INT_FMTIO_H
/*
* This file, <sys/int_fmtio.h>, is part of the Sun Microsystems implementation
* of <inttypes.h> as defined by the ISO C Standard, ISO/IEC 9899:1999
* Programming language - C.
*
* ISO International Organization for Standardization.
*
* types defined in this file should be through the inclusion of one of the
* following files:
*
* <sys/inttypes.h> Provides the Kernel and Driver appropriate
* components of <inttypes.h>.
*
* <inttypes.h> For use by applications.
*
* See these files for more details.
*/
#include <sys/feature_tests.h>
#ifdef __cplusplus
extern "C" {
#endif
/*
* Formatted I/O
*
* The following macros can be used even when an implementation has not
*
* The form of the names of the macros is either "PRI" for printf specifiers
* or "SCN" for scanf specifiers, followed by the conversion specifier letter
* followed by the datatype size. For example, PRId32 is the macro for
* the printf d conversion specifier with the flags for 32 bit datatype.
*
* An example using one of these macros:
*
* uint64_t u;
* printf("u = %016" PRIx64 "\n", u);
*
* below have the values appropriate for a machine with 8 bit shorts, 16
* bit shorts, 32 bit ints, 32 or 64 bit longs depending on compilation
* mode, and 64 bit long longs.
*/
/*
* fprintf macros for signed integers
*/
#if defined(_KERNEL)
#else
#endif
#ifdef _LP64
#else /* _ILP32 */
#if defined(_LONGLONG_TYPE)
#endif
#endif
#ifdef PRId64
#endif
#ifdef _LP64
#else /* _ILP32 */
#if defined(_LONGLONG_TYPE)
#endif
#endif
#ifdef PRIi64
#endif
/*
* fprintf macros for unsigned integers
*/
#ifdef _LP64
#else /* _ILP32 */
#if defined(_LONGLONG_TYPE)
#endif
#endif
#ifdef PRIo64
#endif
#ifdef _LP64
#else /* _ILP32 */
#if defined(_LONGLONG_TYPE)
#endif
#endif
#ifdef PRIu64
#endif
#ifdef _LP64
#else /* _ILP32 */
#if defined(_LONGLONG_TYPE)
#endif
#endif
#ifdef PRIx64
#endif
#ifdef _LP64
#else /* _ILP32 */
#if defined(_LONGLONG_TYPE)
#endif
#endif
#ifdef PRIX64
#endif
/*
* fprintf macros for pointers
*/
#else
#endif /* defined(_LP64) || defined(_I32LPx) */
/*
* fscanf macros for signed integers
*/
#ifdef PRId64
#endif
#ifdef PRIi64
#endif
/*
* fscanf macros for unsigned integers
*/
#ifdef PRIo64
#endif
#ifdef PRIu64
#endif
#ifdef PRIx64
#endif
#ifdef PRIX64
#endif
/*
* The following macros define I/O formats for intmax_t and uintmax_t.
*/
#if !defined(_LP64) && defined(_LONGLONG_TYPE)
#else
#endif /* !defined(_LP64) && defined(_LONGLONG_TYPE) */
#ifdef __cplusplus
}
#endif
#endif /* _SYS_INT_FMTIO_H */