1 /* config-FS.h
2  *
3  * Copyright (C) 2006-2021 wolfSSL Inc.
4  *
5  * This file is part of wolfSSL.
6  *
7  * wolfSSL is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2 of the License, or
10  * (at your option) any later version.
11  *
12  * wolfSSL is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; if not, write to the Free Software
19  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
20  */
21 
22 
23 
24 /**** wolfSSL for KEIL-RL Configuration ****/
25 
26 #define __CORTEX_M3__
27 #define WOLFSSL_KEIL_RL
28 #define NO_WRITEV
29 #define NO_WOLFSSL_DIR
30 #define NO_MAIN_DRIVER
31 #define WOLFSSL_USER_IO
32 
33 #define WOLFSSL_DER_LOAD
34 #define HAVE_NULL_CIPHER
35 
36 #define SINGLE_THREADED
37 
38 #define NO_ECHOSERVER
39 #define NO_ECHOCLIENT
40 #define NO_SIMPLE_SERVER
41 #define NO_SIMPLE_CLIENT
42 
43 // <<< Use Configuration Wizard in Context Menu >>>
44 
45 // <h> Build Target: KEIL-FS
46 //  <h> Single Threaded, With File System, No TCP-net
47 //   </h>
48 //      <e>Command Shell
49 #define MDK_CONF_SHELL 1
50 #if MDK_CONF_SHELL  == 1
51 #define WOLFSSL_MDK_SHELL
52 #endif
53 //  </e>
54 //  <h>wolfSSL Apps
55 //  <h>Crypt/Cipher
56 //        <o>Cert Storage <0=> SD Card <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
57 #define MDK_CONF_CERT_BUFF 0
58 #if MDK_CONF_CERT_BUFF== 1
59 #define USE_CERT_BUFFERS_1024
60 #elif MDK_CONF_CERT_BUFF == 2
61 #define USE_CERT_BUFFERS_2048
62 #endif
63 
64 //      <e>Crypt/Cipher Test Suite
65 #define MDK_CONF_CTaoCryptTest 1
66 #if MDK_CONF_CTaoCryptTest  == 0
67 #define NO_CRYPT_TEST
68 #endif
69 //  </e>
70 //      <e>Crypt/Cipher Benchmark
71 #define MDK_CONF_CTaoCryptBenchmark 1
72 #if MDK_CONF_CTaoCryptBenchmark == 0
73 #define NO_CRYPT_BENCHMARK
74 #endif
75 //  </e>
76 //   </h>
77 
78 //  <h>STM32 Hardware Crypt
79 //      <e>STM32F2 Hardware RNG
80 #define MDK_CONF_STM32F2_RNG 0
81 #if MDK_CONF_STM32F2_RNG == 1
82 #define STM32F2_RNG
83 #else
84 #define NO_DEV_RANDOM
85 #endif
86 //  </e>
87 //      <e>STM32F2 Hardware Crypt
88 #define MDK_CONF_STM32F2_CRYPTO 0
89 #if MDK_CONF_STM32F2_CRYPTO == 1
90 #define STM32F2_CRYPTO
91 #endif
92 //  </e>
93 
94 // </h>
95 
96 //  <h>wolfSSL Library
97 //     <h>SSL (Included by default)
98 //     </h>
99 
100 //      <e>TLS
101 #define MDK_CONF_TLS 1
102 #if MDK_CONF_TLS == 0
103 #define NO_TLS
104 #endif
105 //  </e>
106 
107 //      <e>CertGen
108 #define MDK_CONF_CERT_GEN 0
109 #if MDK_CONF_CERT_GEN == 1
110 #define WOLFSSL_CERT_GEN
111 #endif
112 //  </e>
113 //      <e>KeyGen
114 #define MDK_CONF_KEY_GEN 0
115 #if MDK_CONF_KEY_GEN == 1
116 #define WOLFSSL_KEY_GEN
117 #endif
118 //  </e>
119 //      <e>CRL
120 #define MDK_CONF_DER_LOAD 0
121 #if MDK_CONF_DER_LOAD == 1
122 #define WOLFSSL_DER_LOAD
123 #endif
124 //  </e>
125 //      <e>OpenSSL Extra
126 #define MDK_CONF_OPENSSL_EXTRA 0
127 #if MDK_CONF_OPENSSL_EXTRA == 1
128 #define OPENSSL_EXTRA
129 #endif
130 //  </e>
131 //      <h>CRL Monitor, OCSP (not supported with KEIL)
132 //     </h>
133 
134 // </h>
135 
136 //  <h>wolfCrypt Library
137 
138 //       <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
139 //        </h>
140 
141 //      <e>MD2
142 #define MDK_CONF_MD2 0
143 #if MDK_CONF_MD2 == 1
144 #define WOLFSSL_MD2
145 #endif
146 //  </e>
147 //      <e>MD4
148 #define MDK_CONF_MD4 1
149 #if MDK_CONF_MD4 == 0
150 #define NO_MD4
151 #endif
152 //  </e>
153 //      <e>SHA-384
154 //          <i>This has to be with SHA512
155 #define MDK_CONF_SHA384 0
156 #if MDK_CONF_SHA384 == 1
157 #define WOLFSSL_SHA384
158 #endif
159 //  </e>
160 //      <e>SHA-512
161 #define MDK_CONF_SHA512     0
162 #if MDK_CONF_SHA512     == 1
163 #define WOLFSSL_SHA512
164 #endif
165 //  </e>
166 //      <e>RIPEMD
167 #define MDK_CONF_RIPEMD 0
168 #if MDK_CONF_RIPEMD == 1
169 #define WOLFSSL_RIPEMD
170 #endif
171 //  </e>
172 //      <e>HMAC
173 #define MDK_CONF_HMAC 1
174 #if MDK_CONF_HMAC == 0
175 #define NO_HMAC
176 #endif
177 //  </e>
178 //      <e>HC128
179 #define MDK_CONF_HC128 0
180 #if MDK_CONF_HC128 == 1
181 #define HAVE_HC128
182 #endif
183 //  </e>
184 //  <e>RABBIT
185 #define MDK_CONF_RABBIT 1
186 #if MDK_CONF_RABBI == 0
187 #define NO_RABBIT
188 #endif
189 //  </e>
190 
191 //      <e>AEAD
192 #define MDK_CONF_AEAD 0
193 #if MDK_CONF_AEAD == 1
194 #define HAVE_AEAD
195 #endif
196 //  </e>
197 //      <e>DES3
198 #define MDK_CONF_DES3 1
199 #if MDK_CONF_DES3 == 0
200 #define NO_DES3
201 #endif
202 //  </e>
203 //      <e>CAMELLIA
204 #define MDK_CONF_CAMELLIA 0
205 #if MDK_CONF_CAMELLIA == 1
206 #define HAVE_CAMELLIA
207 #endif
208 //  </e>
209 
210 //      <e>DH
211 //              <i>need this for WOLFSSL_SERVER, OPENSSL_EXTRA
212 #define MDK_CONF_DH 1
213 #if MDK_CONF_DH == 0
214 #define NO_DH
215 #endif
216 //  </e>
217 //      <e>DSA
218 #define MDK_CONF_DSA 1
219 #if MDK_CONF_DSA == 0
220 #define NO_DSA
221 #endif
222 //  </e>
223 //      <e>PWDBASED
224 #define MDK_CONF_PWDBASED 1
225 #if MDK_CONF_PWDBASED == 0
226 #define NO_PWDBASED
227 #endif
228 //  </e>
229 
230 //      <e>ECC
231 #define MDK_CONF_ECC 0
232 #if MDK_CONF_ECC == 1
233 #define HAVE_ECC
234 #endif
235 //  </e>
236 //      <e>PSK
237 #define MDK_CONF_PSK 1
238 #if MDK_CONF_PSK == 0
239 #define NO_PSK
240 #endif
241 //  </e>
242 //      <e>AESCCM (Turn off Hardware Crypt)
243 #define MDK_CONF_AESCCM 0
244 #if MDK_CONF_AESCCM == 1
245 #define HAVE_AESCCM
246 #endif
247 //  </e>
248 //      <e>AESGCM (Turn off Hardware Crypt)
249 #define MDK_CONF_AESGCM 0
250 #if MDK_CONF_AESGCM == 1
251 #define HAVE_AESGCM
252 #define BUILD_AESGCM
253 #endif
254 //  </e>
255 //  </h>
256 
257 //  <h>Others
258 
259 //      <e>Inline
260 #define MDK_CONF_INLINE 0
261 #if MDK_CONF_INLINE == 0
262 #define NO_INLINE
263 #endif
264 //  </e>
265 //      <h>Debug
266 //              <e>Debug Message
267 #define MDK_CONF_DebugMessage 0
268 #if MDK_CONF_DebugMessage == 1
269 #define DEBUG_WOLFSSL
270 #endif
271 //         </e>
272 //              <e>Check malloc
273 #define MDK_CONF_CheckMalloc 1
274 #if MDK_CONF_CheckMalloc == 1
275 #define WOLFSSL_MALLOC_CHECK
276 #endif
277 //         </e>
278 
279 
280 //  </h>
281 //      <e>ErrNo.h
282 #define MDK_CONF_ErrNo 0
283 #if MDK_CONF_ErrNo == 1
284 #define HAVE_ERRNO
285 #endif
286 //  </e>
287 //      <e>zlib (need "zlib.h")
288 #define MDK_CONF_LIBZ 0
289 #if MDK_CONF_LIBZ == 1
290 #define HAVE_LIBZ
291 #endif
292 //  </e>
293 //      <e>CAVIUM (need CAVIUM headers)
294 #define MDK_CONF_CAVIUM 0
295 #if MDK_CONF_CAVIUM == 1
296 #define HAVE_CAVIUM
297 #endif
298 //  </e>
299 
300 //      <e>Error Strings
301 #define MDK_CONF_ErrorStrings 1
302 #if MDK_CONF_ErrorStrings == 0
303 #define NO_ERROR_STRINGS
304 #endif
305 //  </e>
306 
307 //      <e>Small Stack
308 #define MDK_CONF_SmallStack 1
309 #if MDK_CONF_SmallStack == 0
310 #define NO_WOLFSSL_SMALL_STACK
311 #endif
312 //  </e>
313 //      <e>Use Fast Math
314 #define MDK_CONF_FASTMATH 0
315 #if MDK_CONF_FASTMATH == 1
316 #define USE_FAST_MATH
317 #endif
318 //  </e>
319 
320 
321 //  </h>
322 
323 //</h>
324 // <<< end of configuration section >>>
325