CC23x0R5DriverLibrary
sw_ecrypt-config.h
Go to the documentation of this file.
1 /******************************************************************************
2  * Filename: sw_ecrypt-config.h
3  ******************************************************************************/
4 /* ecrypt-config.h */
5 
6 /* *** Normally, it should not be necessary to edit this file. *** */
7 
8 #ifndef ECRYPT_CONFIG
9 #define ECRYPT_CONFIG
10 
11 /* ------------------------------------------------------------------------- */
12 
13 /* Guess the endianness of the target architecture. */
14 
15 /*
16  * The LITTLE endian machines:
17  */
18 #if (!defined(ECRYPT_LITTLE_ENDIAN))
19  #if defined(__ultrix) /* Older MIPS */
20  #define ECRYPT_LITTLE_ENDIAN
21  #elif defined(__alpha) /* Alpha */
22  #define ECRYPT_LITTLE_ENDIAN
23  #elif defined(i386) /* x86 (gcc) */
24  #define ECRYPT_LITTLE_ENDIAN
25  #elif defined(__i386) /* x86 (gcc) */
26  #define ECRYPT_LITTLE_ENDIAN
27  #elif defined(_M_IX86) /* x86 (MSC, Borland) */
28  #define ECRYPT_LITTLE_ENDIAN
29  #elif defined(_MSC_VER) /* x86 (surely MSC) */
30  #define ECRYPT_LITTLE_ENDIAN
31  #elif defined(__INTEL_COMPILER) /* x86 (surely Intel compiler icl.exe) */
32  #define ECRYPT_LITTLE_ENDIAN
33 
34  /*
35  * The BIG endian machines:
36  */
37  #elif defined(sun) /* Newer Sparc's */
38  #define ECRYPT_BIG_ENDIAN
39  #elif defined(__ppc__) /* PowerPC */
40  #define ECRYPT_BIG_ENDIAN
41 
42  /*
43  * Finally machines with UNKNOWN endianness:
44  */
45  #elif defined(_AIX) /* RS6000 */
46  #define ECRYPT_UNKNOWN
47  #elif defined(__hpux) /* HP-PA */
48  #define ECRYPT_UNKNOWN
49  #elif defined(__aux) /* 68K */
50  #define ECRYPT_UNKNOWN
51  #elif defined(__dgux) /* 88K (but P6 in latest boxes) */
52  #define ECRYPT_UNKNOWN
53  #elif defined(__sgi) /* Newer MIPS */
54  #define ECRYPT_UNKNOWN
55  #else /* Any other processor */
56  #define ECRYPT_UNKNOWN
57  #endif
58 #endif
59 
60 /* ------------------------------------------------------------------------- */
61 
62 /*
63  * Find minimal-width types to store 8-bit, 16-bit, 32-bit, and 64-bit
64  * integers.
65  *
66  * Note: to enable 64-bit types on 32-bit compilers, it might be
67  * necessary to switch from ISO C90 mode to ISO C99 mode (e.g., gcc
68  * -std=c99).
69  */
70 
71 #include <limits.h>
72 
73 /* --- check char --- */
74 
75 #if (UCHAR_MAX / 0xFU > 0xFU)
76  #ifndef I8T
77  #define I8T char
78  #define U8C(v) (v##U)
79 
80  #if (UCHAR_MAX == 0xFFU)
81  #define ECRYPT_I8T_IS_BYTE
82  #endif
83 
84  #endif
85 
86  #if (UCHAR_MAX / 0xFFU > 0xFFU)
87  #ifndef I16T
88  #define I16T char
89  #define U16C(v) (v##U)
90  #endif
91 
92  #if (UCHAR_MAX / 0xFFFFU > 0xFFFFU)
93  #ifndef I32T
94  #define I32T char
95  #define U32C(v) (v##U)
96  #endif
97 
98  #if (UCHAR_MAX / 0xFFFFFFFFU > 0xFFFFFFFFU)
99  #ifndef I64T
100  #define I64T char
101  #define U64C(v) (v##U)
102  #define ECRYPT_NATIVE64
103  #endif
104 
105  #endif
106  #endif
107  #endif
108 #endif
109 
110 /* --- check short --- */
111 
112 #if (USHRT_MAX / 0xFU > 0xFU)
113  #ifndef I8T
114  #define I8T short
115  #define U8C(v) (v##U)
116 
117  #if (USHRT_MAX == 0xFFU)
118  #define ECRYPT_I8T_IS_BYTE
119  #endif
120 
121  #endif
122 
123  #if (USHRT_MAX / 0xFFU > 0xFFU)
124  #ifndef I16T
125  #define I16T short
126  #define U16C(v) (v##U)
127  #endif
128 
129  #if (USHRT_MAX / 0xFFFFU > 0xFFFFU)
130  #ifndef I32T
131  #define I32T short
132  #define U32C(v) (v##U)
133  #endif
134 
135  #if (USHRT_MAX / 0xFFFFFFFFU > 0xFFFFFFFFU)
136  #ifndef I64T
137  #define I64T short
138  #define U64C(v) (v##U)
139  #define ECRYPT_NATIVE64
140  #endif
141 
142  #endif
143  #endif
144  #endif
145 #endif
146 
147 /* --- check int --- */
148 
149 #if (UINT_MAX / 0xFU > 0xFU)
150  #ifndef I8T
151  #define I8T int
152  #define U8C(v) (v##U)
153 
154  #if (ULONG_MAX == 0xFFU)
155  #define ECRYPT_I8T_IS_BYTE
156  #endif
157 
158  #endif
159 
160  #if (UINT_MAX / 0xFFU > 0xFFU)
161  #ifndef I16T
162  #define I16T int
163  #define U16C(v) (v##U)
164  #endif
165 
166  #if (UINT_MAX / 0xFFFFU > 0xFFFFU)
167  #ifndef I32T
168  #define I32T int
169  #define U32C(v) (v##U)
170  #endif
171 
172  #if (UINT_MAX / 0xFFFFFFFFU > 0xFFFFFFFFU)
173  #ifndef I64T
174  #define I64T int
175  #define U64C(v) (v##U)
176  #define ECRYPT_NATIVE64
177  #endif
178 
179  #endif
180  #endif
181  #endif
182 #endif
183 
184 /* --- check long --- */
185 
186 #if (ULONG_MAX / 0xFUL > 0xFUL)
187  #ifndef I8T
188  #define I8T long
189  #define U8C(v) (v##UL)
190 
191  #if (ULONG_MAX == 0xFFUL)
192  #define ECRYPT_I8T_IS_BYTE
193  #endif
194 
195  #endif
196 
197  #if (ULONG_MAX / 0xFFUL > 0xFFUL)
198  #ifndef I16T
199  #define I16T long
200  #define U16C(v) (v##UL)
201  #endif
202 
203  #if (ULONG_MAX / 0xFFFFUL > 0xFFFFUL)
204  #ifndef I32T
205  #define I32T long
206  #define U32C(v) (v##UL)
207  #endif
208 
209  #if (ULONG_MAX / 0xFFFFFFFFUL > 0xFFFFFFFFUL)
210  #ifndef I64T
211  #define I64T long
212  #define U64C(v) (v##UL)
213  #define ECRYPT_NATIVE64
214  #endif
215 
216  #endif
217  #endif
218  #endif
219 #endif
220 
221 /* --- check long long --- */
222 
223 #ifdef ULLONG_MAX
224 
225  #if (ULLONG_MAX / 0xFULL > 0xFULL)
226  #ifndef I8T
227  #define I8T long long
228  #define U8C(v) (v##ULL)
229 
230  #if (ULLONG_MAX == 0xFFULL)
231  #define ECRYPT_I8T_IS_BYTE
232  #endif
233 
234  #endif
235 
236  #if (ULLONG_MAX / 0xFFULL > 0xFFULL)
237  #ifndef I16T
238  #define I16T long long
239  #define U16C(v) (v##ULL)
240  #endif
241 
242  #if (ULLONG_MAX / 0xFFFFULL > 0xFFFFULL)
243  #ifndef I32T
244  #define I32T long long
245  #define U32C(v) (v##ULL)
246  #endif
247 
248  #if (ULLONG_MAX / 0xFFFFFFFFULL > 0xFFFFFFFFULL)
249  #ifndef I64T
250  #define I64T long long
251  #define U64C(v) (v##ULL)
252  #endif
253 
254  #endif
255  #endif
256  #endif
257  #endif
258 
259 #endif
260 
261 /* --- check __int64 --- */
262 
263 #ifdef _UI64_MAX
264 
265  #if (_UI64_MAX / 0xFFFFFFFFui64 > 0xFFFFFFFFui64)
266  #ifndef I64T
267  #define I64T __int64
268  #define U64C(v) (v##ui64)
269  #endif
270 
271  #endif
272 
273 #endif
274 
275 /* ------------------------------------------------------------------------- */
276 
277 #endif