Loading...
include/inttypes.h Libc-763.13 Libc-1669.40.2
--- Libc/Libc-763.13/include/inttypes.h
+++ Libc/Libc-1669.40.2/include/inttypes.h
@@ -1,23 +1,23 @@
 /*
- * Copyright (c) 2000, 2001, 2002, 2003, 2004 Apple Computer, Inc.
- * All rights reserved.
+ * Copyright (c) 2000-2004, 2013, 2023 Apple Inc. All rights reserved.
  *
  * @APPLE_LICENSE_HEADER_START@
- *
- * The contents of this file constitute Original Code as defined in and
- * are subject to the Apple Public Source License Version 1.1 (the
- * "License").  You may not use this file except in compliance with the
- * License.  Please obtain a copy of the License at
- * http://www.apple.com/publicsource and read it before using this file.
- *
- * This Original Code and all software distributed under the License are
- * distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * 
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
+ * 
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
  * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT.  Please see the
- * License for the specific language governing rights and limitations
- * under the License.
- *
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
+ * 
  * @APPLE_LICENSE_HEADER_END@
  */
 
@@ -28,286 +28,8 @@
  * and their ilk.
  */
 
-#if !defined(_INTTYPES_H_)
-#define _INTTYPES_H_
-
-#  undef __PRI_8_LENGTH_MODIFIER__
-#  undef __PRI_64_LENGTH_MODIFIER__
-#  undef __SCN_64_LENGTH_MODIFIER__
-
-#  if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0 > 1020
-#    define __PRI_8_LENGTH_MODIFIER__ "hh"
-#    define __PRI_64_LENGTH_MODIFIER__ "ll"
-#    define __SCN_64_LENGTH_MODIFIER__ "ll"
-#  else
-/* These could be "hh", "ll", and "ll" respectively, but that doesn't work on
-   10.2, and these do.  Note that there's no way to use scanf to scan a
-   decimal into a 'char' argument on 10.2, so "hh" is used unconditionally
-   and programs that use it won't work on Jaguar.  */
-#    define __PRI_8_LENGTH_MODIFIER__ ""  /* none */
-#    define __PRI_64_LENGTH_MODIFIER__ "q"
-#    define __SCN_64_LENGTH_MODIFIER__ "q"
-#  endif
-#  define __PRI_MAX_LENGTH_MODIFIER__ "j"
-#  define __SCN_MAX_LENGTH_MODIFIER__ "j"
-
-#  define PRId8         __PRI_8_LENGTH_MODIFIER__ "d"
-#  define PRIi8         __PRI_8_LENGTH_MODIFIER__ "i"
-#  define PRIo8         __PRI_8_LENGTH_MODIFIER__ "o"
-#  define PRIu8         __PRI_8_LENGTH_MODIFIER__ "u"
-#  define PRIx8         __PRI_8_LENGTH_MODIFIER__ "x"
-#  define PRIX8         __PRI_8_LENGTH_MODIFIER__ "X"
-
-#  define PRId16        "hd"
-#  define PRIi16        "hi"
-#  define PRIo16        "ho"
-#  define PRIu16        "hu"
-#  define PRIx16        "hx"
-#  define PRIX16        "hX"
-
-#  define PRId32        "d"
-#  define PRIi32        "i"
-#  define PRIo32        "o"
-#  define PRIu32        "u"
-#  define PRIx32        "x"
-#  define PRIX32        "X"
-
-#  define PRId64        __PRI_64_LENGTH_MODIFIER__ "d"
-#  define PRIi64        __PRI_64_LENGTH_MODIFIER__ "i"
-#  define PRIo64        __PRI_64_LENGTH_MODIFIER__ "o"
-#  define PRIu64        __PRI_64_LENGTH_MODIFIER__ "u"
-#  define PRIx64        __PRI_64_LENGTH_MODIFIER__ "x"
-#  define PRIX64        __PRI_64_LENGTH_MODIFIER__ "X"
-
-#  define PRIdLEAST8    PRId8
-#  define PRIiLEAST8    PRIi8
-#  define PRIoLEAST8    PRIo8
-#  define PRIuLEAST8    PRIu8
-#  define PRIxLEAST8    PRIx8
-#  define PRIXLEAST8    PRIX8
-
-#  define PRIdLEAST16   PRId16
-#  define PRIiLEAST16   PRIi16
-#  define PRIoLEAST16   PRIo16
-#  define PRIuLEAST16   PRIu16
-#  define PRIxLEAST16   PRIx16
-#  define PRIXLEAST16   PRIX16
-
-#  define PRIdLEAST32   PRId32
-#  define PRIiLEAST32   PRIi32
-#  define PRIoLEAST32   PRIo32
-#  define PRIuLEAST32   PRIu32
-#  define PRIxLEAST32   PRIx32
-#  define PRIXLEAST32   PRIX32
-
-#  define PRIdLEAST64   PRId64
-#  define PRIiLEAST64   PRIi64
-#  define PRIoLEAST64   PRIo64
-#  define PRIuLEAST64   PRIu64
-#  define PRIxLEAST64   PRIx64
-#  define PRIXLEAST64   PRIX64
-
-#  define PRIdFAST8     PRId8
-#  define PRIiFAST8     PRIi8
-#  define PRIoFAST8     PRIo8
-#  define PRIuFAST8     PRIu8
-#  define PRIxFAST8     PRIx8
-#  define PRIXFAST8     PRIX8
-
-#  define PRIdFAST16    PRId16
-#  define PRIiFAST16    PRIi16
-#  define PRIoFAST16    PRIo16
-#  define PRIuFAST16    PRIu16
-#  define PRIxFAST16    PRIx16
-#  define PRIXFAST16    PRIX16
-
-#  define PRIdFAST32    PRId32
-#  define PRIiFAST32    PRIi32
-#  define PRIoFAST32    PRIo32
-#  define PRIuFAST32    PRIu32
-#  define PRIxFAST32    PRIx32
-#  define PRIXFAST32    PRIX32
-
-#  define PRIdFAST64    PRId64
-#  define PRIiFAST64    PRIi64
-#  define PRIoFAST64    PRIo64
-#  define PRIuFAST64    PRIu64
-#  define PRIxFAST64    PRIx64
-#  define PRIXFAST64    PRIX64
-
-/* int32_t is 'int', but intptr_t is 'long'.  */
-#  define PRIdPTR       "ld"
-#  define PRIiPTR       "li"
-#  define PRIoPTR       "lo"
-#  define PRIuPTR       "lu"
-#  define PRIxPTR       "lx"
-#  define PRIXPTR       "lX"
-
-#  define PRIdMAX        __PRI_MAX_LENGTH_MODIFIER__ "d"
-#  define PRIiMAX        __PRI_MAX_LENGTH_MODIFIER__ "i"
-#  define PRIoMAX        __PRI_MAX_LENGTH_MODIFIER__ "o"
-#  define PRIuMAX        __PRI_MAX_LENGTH_MODIFIER__ "u"
-#  define PRIxMAX        __PRI_MAX_LENGTH_MODIFIER__ "x"
-#  define PRIXMAX        __PRI_MAX_LENGTH_MODIFIER__ "X"
-
-#  if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__-0 > 1020
-#    define SCNd8         __PRI_8_LENGTH_MODIFIER__ "d"
-#    define SCNi8         __PRI_8_LENGTH_MODIFIER__ "i"
-#    define SCNo8         __PRI_8_LENGTH_MODIFIER__ "o"
-#    define SCNu8         __PRI_8_LENGTH_MODIFIER__ "u"
-#    define SCNx8         __PRI_8_LENGTH_MODIFIER__ "x"
-#  else
-#    define SCNd8         "hhd"
-#    define SCNi8         "hhi"
-#    define SCNo8         "hho"
-#    define SCNu8         "hhu"
-#    define SCNx8         "hhx"
-#  endif
-
-#  define SCNd16        "hd"
-#  define SCNi16        "hi"
-#  define SCNo16        "ho"
-#  define SCNu16        "hu"
-#  define SCNx16        "hx"
-
-#  define SCNd32        "d"
-#  define SCNi32        "i"
-#  define SCNo32        "o"
-#  define SCNu32        "u"
-#  define SCNx32        "x"
-
-#  define SCNd64        __SCN_64_LENGTH_MODIFIER__ "d"
-#  define SCNi64        __SCN_64_LENGTH_MODIFIER__ "i"
-#  define SCNo64        __SCN_64_LENGTH_MODIFIER__ "o"
-#  define SCNu64        __SCN_64_LENGTH_MODIFIER__ "u"
-#  define SCNx64        __SCN_64_LENGTH_MODIFIER__ "x"
-
-#  define SCNdLEAST8    SCNd8
-#  define SCNiLEAST8    SCNi8
-#  define SCNoLEAST8    SCNo8
-#  define SCNuLEAST8    SCNu8
-#  define SCNxLEAST8    SCNx8
-
-#  define SCNdLEAST16   SCNd16
-#  define SCNiLEAST16   SCNi16
-#  define SCNoLEAST16   SCNo16
-#  define SCNuLEAST16   SCNu16
-#  define SCNxLEAST16   SCNx16
-
-#  define SCNdLEAST32   SCNd32
-#  define SCNiLEAST32   SCNi32
-#  define SCNoLEAST32   SCNo32
-#  define SCNuLEAST32   SCNu32
-#  define SCNxLEAST32   SCNx32
-
-#  define SCNdLEAST64   SCNd64
-#  define SCNiLEAST64   SCNi64
-#  define SCNoLEAST64   SCNo64
-#  define SCNuLEAST64   SCNu64
-#  define SCNxLEAST64   SCNx64
-
-#  define SCNdFAST8     SCNd8
-#  define SCNiFAST8     SCNi8
-#  define SCNoFAST8     SCNo8
-#  define SCNuFAST8     SCNu8
-#  define SCNxFAST8     SCNx8
-
-#  define SCNdFAST16    SCNd16
-#  define SCNiFAST16    SCNi16
-#  define SCNoFAST16    SCNo16
-#  define SCNuFAST16    SCNu16
-#  define SCNxFAST16    SCNx16
-
-#  define SCNdFAST32    SCNd32
-#  define SCNiFAST32    SCNi32
-#  define SCNoFAST32    SCNo32
-#  define SCNuFAST32    SCNu32
-#  define SCNxFAST32    SCNx32
-
-#  define SCNdFAST64    SCNd64
-#  define SCNiFAST64    SCNi64
-#  define SCNoFAST64    SCNo64
-#  define SCNuFAST64    SCNu64
-#  define SCNxFAST64    SCNx64
-
-#  define SCNdPTR       "ld"
-#  define SCNiPTR       "li"
-#  define SCNoPTR       "lo"
-#  define SCNuPTR       "lu"
-#  define SCNxPTR       "lx"
-
-#  define SCNdMAX       __SCN_MAX_LENGTH_MODIFIER__ "d"
-#  define SCNiMAX       __SCN_MAX_LENGTH_MODIFIER__ "i"
-#  define SCNoMAX       __SCN_MAX_LENGTH_MODIFIER__ "o"
-#  define SCNuMAX       __SCN_MAX_LENGTH_MODIFIER__ "u"
-#  define SCNxMAX       __SCN_MAX_LENGTH_MODIFIER__ "x"
-
-#include <sys/cdefs.h>		/* For __BEGIN_DECLS and __END_DECLS */
-#include <_types.h>		/* For __darwin_wchar_t */
-#include <stdint.h>
-
-#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L)
-  /* Translator is not ISO/IEC 9899:1999-compliant. */
-#  if !defined(restrict)
-#    define restrict
-#    define __RESTRICT_KEYWORD_DEFINED__
-#  endif
-#endif
-
-__BEGIN_DECLS
-
-  /* 7.8.2.1 */
-  extern intmax_t imaxabs(intmax_t j);
-
-  /* 7.8.2.2 */
-  typedef struct {
-        intmax_t quot;
-        intmax_t rem;
-  } imaxdiv_t;
-
-  extern imaxdiv_t imaxdiv(intmax_t numer, intmax_t denom);
-
-  /* 7.8.2.3 */
-  extern intmax_t strtoimax(const char * restrict nptr, char ** restrict endptr, int base);
-  extern uintmax_t strtoumax(const char * restrict nptr, char ** restrict endptr, int base);
-
-#ifndef __cplusplus /* wchar_t is a built-in type in C++ */
-#  ifndef	_WCHAR_T
-#    define	_WCHAR_T
-     typedef	__darwin_wchar_t	wchar_t;
-#  endif /* _WCHAR_T */
-#endif /* __cplusplus */
-
-  /* 7.8.2.4 */
-  extern intmax_t wcstoimax(const wchar_t * restrict nptr, wchar_t ** restrict endptr, int base);
-  extern uintmax_t wcstoumax(const wchar_t * restrict nptr, wchar_t ** restrict endptr, int base);
-
-/* Poison the following routines if -fshort-wchar is set */
-#if !defined(__cplusplus) && defined(__WCHAR_MAX__) && __WCHAR_MAX__ <= 0xffffU
-#pragma GCC poison wcstoimax wcstoumax
-#endif
-
-__END_DECLS
+#include <_inttypes.h>
 
 #ifdef _USE_EXTENDED_LOCALES_
 #include <xlocale/_inttypes.h>
 #endif /* _USE_EXTENDED_LOCALES_ */
-
-/*
-   No need to #undef the __*_{8,64}_LENGTH_MODIFIER__ macros;
-   in fact, you can't #undef them, because later uses of any of
-   their dependents will *not* then do the intended substitution.
-   Expansion of a #define like this one:
-
-        #define x IDENT y
-
-   uses the cpp value of IDENT at the location where x is *expanded*,
-   not where it is #defined.
-*/
-
-#if defined(__RESTRICT_KEYWORD_DEFINED__)
-#  undef restrict
-#  undef __RESTRICT_KEYWORD_DEFINED__
-#endif
-
-#endif /* !_INTTYPES_H_ */