nlib
IntTypes.h
1 
2 /*---------------------------------------------------------------------------*
3 
4  Project: CrossRoad
5  Copyright (C)2012-2016 Nintendo. All rights reserved.
6 
7  These coded instructions, statements, and computer programs contain
8  proprietary information of Nintendo of America Inc. and/or Nintendo
9  Company Ltd., and are protected by Federal copyright law. They may
10  not be disclosed to third parties or copied or duplicated in any form,
11  in whole or in part, without the prior written consent of Nintendo.
12 
13  *---------------------------------------------------------------------------*/
14 
15 #pragma once
16 #ifndef INCLUDE_NN_NLIB_INTTYPES_H_
17 #define INCLUDE_NN_NLIB_INTTYPES_H_
18 
19 #ifdef _MSC_VER
20 
21 #define PRId8 "d"
22 #define PRId16 "hd"
23 #define PRId32 "I32d"
24 #define PRId64 "I64d"
25 #define PRIdLEAST16 "hd"
26 #define PRIdLEAST32 "I32d"
27 #define PRIdLEAST64 "I64d"
28 #define PRIdFAST16 "hd"
29 #define PRIdFAST32 "I32d"
30 #define PRIdFAST64 "I64d"
31 #define PRIdPTR "Id"
32 
33 #define PRIi8 "i"
34 #define PRIi16 "hi"
35 #define PRIi32 "I32i"
36 #define PRIi64 "I64i"
37 #define PRIiLEAST16 "hi"
38 #define PRIiLEAST32 "I32i"
39 #define PRIiLEAST64 "I64i"
40 #define PRIiFAST16 "hi"
41 #define PRIiFAST32 "I32i"
42 #define PRIiFAST64 "I64i"
43 #define PRIiPTR "Ii"
44 
45 #define PRIu8 "u"
46 #define PRIu16 "hu"
47 #define PRIu32 "I32u"
48 #define PRIu64 "I64u"
49 #define PRIuLEAST16 "hu"
50 #define PRIuLEAST32 "I32u"
51 #define PRIuLEAST64 "I64u"
52 #define PRIuFAST16 "hu"
53 #define PRIuFAST32 "I32u"
54 #define PRIuFAST64 "I64u"
55 #define PRIuPTR "Iu"
56 
57 #define PRIx8 "x"
58 #define PRIx16 "hx"
59 #define PRIx32 "I32x"
60 #define PRIx64 "I64x"
61 #define PRIxLEAST16 "hx"
62 #define PRIxLEAST32 "I32x"
63 #define PRIxLEAST64 "I64x"
64 #define PRIxFAST16 "hx"
65 #define PRIxFAST32 "I32x"
66 #define PRIxFAST64 "I64x"
67 #define PRIxPTR "Ix"
68 
69 #define PRIX8 "X"
70 #define PRIX16 "hX"
71 #define PRIX32 "I32X"
72 #define PRIX64 "I64X"
73 #define PRIXLEAST16 "hX"
74 #define PRIXLEAST32 "I32X"
75 #define PRIXLEAST64 "I64X"
76 #define PRIXFAST16 "hX"
77 #define PRIXFAST32 "I32X"
78 #define PRIXFAST64 "I64X"
79 #define PRIXPTR "IX"
80 
81 #define PRIo8 "o"
82 #define PRIo16 "ho"
83 #define PRIo32 "I32o"
84 #define PRIo64 "I64o"
85 #define PRIoLEAST16 "ho"
86 #define PRIoLEAST32 "I32o"
87 #define PRIoLEAST64 "I64o"
88 #define PRIoFAST16 "ho"
89 #define PRIoFAST32 "I32o"
90 #define PRIoFAST64 "I64o"
91 #define PRIoPTR "Io"
92 
93 #define PRIdMAX "I64d"
94 #define PRIiMAX "I64i"
95 #define PRIuMAX "I64u"
96 #define PRIxMAX "I64x"
97 #define PRIXMAX "I64X"
98 #define PRIoMAX "I64o"
99 
100 #define SCNd8 "d"
101 #define SCNd16 "hd"
102 #define SCNd32 "I32d"
103 #define SCNd64 "I64d"
104 #define SCNdLEAST16 "hd"
105 #define SCNdLEAST32 "I32d"
106 #define SCNdLEAST64 "I64d"
107 #define SCNdFAST16 "hd"
108 #define SCNdFAST32 "I32d"
109 #define SCNdFAST64 "I64d"
110 #ifdef _WIN64
111 #define SCNdPTR "I64d"
112 #else
113 #define SCNdPTR "Id"
114 #endif
115 
116 #define SCNi8 "i"
117 #define SCNi16 "hi"
118 #define SCNi32 "I32i"
119 #define SCNi64 "I64i"
120 #define SCNiLEAST16 "hi"
121 #define SCNiLEAST32 "I32i"
122 #define SCNiLEAST64 "I64i"
123 #define SCNiFAST16 "hi"
124 #define SCNiFAST32 "I32i"
125 #define SCNiFAST64 "I64i"
126 #ifdef _WIN64
127 #define SCNiPTR "I64i"
128 #else
129 #define SCNiPTR "Ii"
130 #endif
131 
132 #define SCNu8 "u"
133 #define SCNu16 "hu"
134 #define SCNu32 "I32u"
135 #define SCNu64 "I64u"
136 #define SCNuLEAST16 "hu"
137 #define SCNuLEAST32 "I32u"
138 #define SCNuLEAST64 "I64u"
139 #define SCNuFAST16 "hu"
140 #define SCNuFAST32 "I32u"
141 #define SCNuFAST64 "I64u"
142 #ifdef _WIN64
143 #define SCNuPTR "I64u"
144 #else
145 #define SCNuPTR "Iu"
146 #endif
147 
148 #define SCNx8 "x"
149 #define SCNx16 "hx"
150 #define SCNx32 "I32x"
151 #define SCNx64 "I64x"
152 #define SCNxLEAST16 "hx"
153 #define SCNxLEAST32 "I32x"
154 #define SCNxLEAST64 "I64x"
155 #define SCNxFAST16 "hx"
156 #define SCNxFAST32 "I32x"
157 #define SCNxFAST64 "I64x"
158 #ifdef _WIN64
159 #define SCNxPTR "I64x"
160 #else
161 #define SCNxPTR "Ix"
162 #endif
163 
164 #define SCNo8 "o"
165 #define SCNo16 "ho"
166 #define SCNo32 "I32o"
167 #define SCNo64 "I64o"
168 #define SCNoLEAST16 "ho"
169 #define SCNoLEAST32 "I32o"
170 #define SCNoLEAST64 "I64o"
171 #define SCNoFAST16 "ho"
172 #define SCNoFAST32 "I32o"
173 #define SCNoFAST64 "I64o"
174 #ifdef _WIN64
175 #define SCNoPTR "I64o"
176 #else
177 #define SCNoPTR "Io"
178 #endif
179 
180 #define SCNdMAX "I64d"
181 #define SCNiMAX "I64i"
182 #define SCNuMAX "I64u"
183 #define SCNxMAX "I64x"
184 #define SCNoMAX "I64o"
185 
186 #elif defined(NLIB_64BIT)
187 #error Sorry, not supported yet.
188 #else
189 #error Sorry, not supported yet.
190 #endif
191 
192 #endif // INCLUDE_NN_NLIB_INTTYPES_H_