1 /* 2 * Copyright (c) 2023 Apple Inc. All rights reserved. 3 * 4 * @APPLE_LICENSE_HEADER_START@ 5 * 6 * This file contains Original Code and/or Modifications of Original Code 7 * as defined in and that are subject to the Apple Public Source License 8 * Version 2.0 (the 'License'). You may not use this file except in 9 * compliance with the License. Please obtain a copy of the License at 10 * http://www.opensource.apple.com/apsl/ and read it before using this 11 * file. 12 * 13 * The Original Code and all software distributed under the License are 14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER 15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, 16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, 17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. 18 * Please see the License for the specific language governing rights and 19 * limitations under the License. 20 * 21 * @APPLE_LICENSE_HEADER_END@ 22 */ 23 24 /* 25 * <inttypes.h> -- Standard C header, defined in ISO/IEC 9899:1999 26 * (aka "C99"), section 7.8. This defines format string conversion 27 * specifiers suitable for use within arguments to fprintf and fscanf 28 * and their ilk. 29 */ 30 31 #if !defined(__INTTYPES_H_) 32 #define __INTTYPES_H_ 33 34 # define __PRI_8_LENGTH_MODIFIER__ "hh" 35 # define __PRI_64_LENGTH_MODIFIER__ "ll" 36 # define __SCN_64_LENGTH_MODIFIER__ "ll" 37 # define __PRI_MAX_LENGTH_MODIFIER__ "j" 38 # define __SCN_MAX_LENGTH_MODIFIER__ "j" 39 40 # define PRId8 __PRI_8_LENGTH_MODIFIER__ "d" 41 # define PRIi8 __PRI_8_LENGTH_MODIFIER__ "i" 42 # define PRIo8 __PRI_8_LENGTH_MODIFIER__ "o" 43 # define PRIu8 __PRI_8_LENGTH_MODIFIER__ "u" 44 # define PRIx8 __PRI_8_LENGTH_MODIFIER__ "x" 45 # define PRIX8 __PRI_8_LENGTH_MODIFIER__ "X" 46 47 # define PRId16 "hd" 48 # define PRIi16 "hi" 49 # define PRIo16 "ho" 50 # define PRIu16 "hu" 51 # define PRIx16 "hx" 52 # define PRIX16 "hX" 53 54 # define PRId32 "d" 55 # define PRIi32 "i" 56 # define PRIo32 "o" 57 # define PRIu32 "u" 58 # define PRIx32 "x" 59 # define PRIX32 "X" 60 61 # define PRId64 __PRI_64_LENGTH_MODIFIER__ "d" 62 # define PRIi64 __PRI_64_LENGTH_MODIFIER__ "i" 63 # define PRIo64 __PRI_64_LENGTH_MODIFIER__ "o" 64 # define PRIu64 __PRI_64_LENGTH_MODIFIER__ "u" 65 # define PRIx64 __PRI_64_LENGTH_MODIFIER__ "x" 66 # define PRIX64 __PRI_64_LENGTH_MODIFIER__ "X" 67 68 # define PRIdLEAST8 PRId8 69 # define PRIiLEAST8 PRIi8 70 # define PRIoLEAST8 PRIo8 71 # define PRIuLEAST8 PRIu8 72 # define PRIxLEAST8 PRIx8 73 # define PRIXLEAST8 PRIX8 74 75 # define PRIdLEAST16 PRId16 76 # define PRIiLEAST16 PRIi16 77 # define PRIoLEAST16 PRIo16 78 # define PRIuLEAST16 PRIu16 79 # define PRIxLEAST16 PRIx16 80 # define PRIXLEAST16 PRIX16 81 82 # define PRIdLEAST32 PRId32 83 # define PRIiLEAST32 PRIi32 84 # define PRIoLEAST32 PRIo32 85 # define PRIuLEAST32 PRIu32 86 # define PRIxLEAST32 PRIx32 87 # define PRIXLEAST32 PRIX32 88 89 # define PRIdLEAST64 PRId64 90 # define PRIiLEAST64 PRIi64 91 # define PRIoLEAST64 PRIo64 92 # define PRIuLEAST64 PRIu64 93 # define PRIxLEAST64 PRIx64 94 # define PRIXLEAST64 PRIX64 95 96 # define PRIdFAST8 PRId8 97 # define PRIiFAST8 PRIi8 98 # define PRIoFAST8 PRIo8 99 # define PRIuFAST8 PRIu8 100 # define PRIxFAST8 PRIx8 101 # define PRIXFAST8 PRIX8 102 103 # define PRIdFAST16 PRId16 104 # define PRIiFAST16 PRIi16 105 # define PRIoFAST16 PRIo16 106 # define PRIuFAST16 PRIu16 107 # define PRIxFAST16 PRIx16 108 # define PRIXFAST16 PRIX16 109 110 # define PRIdFAST32 PRId32 111 # define PRIiFAST32 PRIi32 112 # define PRIoFAST32 PRIo32 113 # define PRIuFAST32 PRIu32 114 # define PRIxFAST32 PRIx32 115 # define PRIXFAST32 PRIX32 116 117 # define PRIdFAST64 PRId64 118 # define PRIiFAST64 PRIi64 119 # define PRIoFAST64 PRIo64 120 # define PRIuFAST64 PRIu64 121 # define PRIxFAST64 PRIx64 122 # define PRIXFAST64 PRIX64 123 124 /* int32_t is 'int', but intptr_t is 'long'. */ 125 # define PRIdPTR "ld" 126 # define PRIiPTR "li" 127 # define PRIoPTR "lo" 128 # define PRIuPTR "lu" 129 # define PRIxPTR "lx" 130 # define PRIXPTR "lX" 131 132 # define PRIdMAX __PRI_MAX_LENGTH_MODIFIER__ "d" 133 # define PRIiMAX __PRI_MAX_LENGTH_MODIFIER__ "i" 134 # define PRIoMAX __PRI_MAX_LENGTH_MODIFIER__ "o" 135 # define PRIuMAX __PRI_MAX_LENGTH_MODIFIER__ "u" 136 # define PRIxMAX __PRI_MAX_LENGTH_MODIFIER__ "x" 137 # define PRIXMAX __PRI_MAX_LENGTH_MODIFIER__ "X" 138 139 # define SCNd8 __PRI_8_LENGTH_MODIFIER__ "d" 140 # define SCNi8 __PRI_8_LENGTH_MODIFIER__ "i" 141 # define SCNo8 __PRI_8_LENGTH_MODIFIER__ "o" 142 # define SCNu8 __PRI_8_LENGTH_MODIFIER__ "u" 143 # define SCNx8 __PRI_8_LENGTH_MODIFIER__ "x" 144 145 # define SCNd16 "hd" 146 # define SCNi16 "hi" 147 # define SCNo16 "ho" 148 # define SCNu16 "hu" 149 # define SCNx16 "hx" 150 151 # define SCNd32 "d" 152 # define SCNi32 "i" 153 # define SCNo32 "o" 154 # define SCNu32 "u" 155 # define SCNx32 "x" 156 157 # define SCNd64 __SCN_64_LENGTH_MODIFIER__ "d" 158 # define SCNi64 __SCN_64_LENGTH_MODIFIER__ "i" 159 # define SCNo64 __SCN_64_LENGTH_MODIFIER__ "o" 160 # define SCNu64 __SCN_64_LENGTH_MODIFIER__ "u" 161 # define SCNx64 __SCN_64_LENGTH_MODIFIER__ "x" 162 163 # define SCNdLEAST8 SCNd8 164 # define SCNiLEAST8 SCNi8 165 # define SCNoLEAST8 SCNo8 166 # define SCNuLEAST8 SCNu8 167 # define SCNxLEAST8 SCNx8 168 169 # define SCNdLEAST16 SCNd16 170 # define SCNiLEAST16 SCNi16 171 # define SCNoLEAST16 SCNo16 172 # define SCNuLEAST16 SCNu16 173 # define SCNxLEAST16 SCNx16 174 175 # define SCNdLEAST32 SCNd32 176 # define SCNiLEAST32 SCNi32 177 # define SCNoLEAST32 SCNo32 178 # define SCNuLEAST32 SCNu32 179 # define SCNxLEAST32 SCNx32 180 181 # define SCNdLEAST64 SCNd64 182 # define SCNiLEAST64 SCNi64 183 # define SCNoLEAST64 SCNo64 184 # define SCNuLEAST64 SCNu64 185 # define SCNxLEAST64 SCNx64 186 187 # define SCNdFAST8 SCNd8 188 # define SCNiFAST8 SCNi8 189 # define SCNoFAST8 SCNo8 190 # define SCNuFAST8 SCNu8 191 # define SCNxFAST8 SCNx8 192 193 # define SCNdFAST16 SCNd16 194 # define SCNiFAST16 SCNi16 195 # define SCNoFAST16 SCNo16 196 # define SCNuFAST16 SCNu16 197 # define SCNxFAST16 SCNx16 198 199 # define SCNdFAST32 SCNd32 200 # define SCNiFAST32 SCNi32 201 # define SCNoFAST32 SCNo32 202 # define SCNuFAST32 SCNu32 203 # define SCNxFAST32 SCNx32 204 205 # define SCNdFAST64 SCNd64 206 # define SCNiFAST64 SCNi64 207 # define SCNoFAST64 SCNo64 208 # define SCNuFAST64 SCNu64 209 # define SCNxFAST64 SCNx64 210 211 # define SCNdPTR "ld" 212 # define SCNiPTR "li" 213 # define SCNoPTR "lo" 214 # define SCNuPTR "lu" 215 # define SCNxPTR "lx" 216 217 # define SCNdMAX __SCN_MAX_LENGTH_MODIFIER__ "d" 218 # define SCNiMAX __SCN_MAX_LENGTH_MODIFIER__ "i" 219 # define SCNoMAX __SCN_MAX_LENGTH_MODIFIER__ "o" 220 # define SCNuMAX __SCN_MAX_LENGTH_MODIFIER__ "u" 221 # define SCNxMAX __SCN_MAX_LENGTH_MODIFIER__ "x" 222 223 #include <stdint.h> 224 225 #endif /* !__INTTYPES_H_ */ 226