config-BARE-METAL.h
1 /* config-BEREFOOT.h
2  *
3  * Copyright (C) 2006-2020 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_MDK_ARM
28 #define NO_WRITEV
29 #define NO_WOLFSSL_DIR
30 //#define NO_MAIN_DRIVER
31 
32 #define WOLFSSL_DER_LOAD
33 #define HAVE_NULL_CIPHER
34 
35 #define SINGLE_THREADED
36 #define NO_FILESYSTEM
37 #define NO_TLS
38 #define WOLFSSL_USER_IO
39 
40 #define NO_ECHOSERVER
41 #define NO_ECHOCLIENT
42 #define NO_SIMPLE_SERVER
43 #define NO_SIMPLE_CLIENT
44 
45 // <<< Use Configuration Wizard in Context Menu >>>
46 
47 // <h> Build Target: KEIL-BAREFOOT
48 // <h> Single Threaded, No File System, No TCP-net
49 // </h>
50 // <e>Command Shell
51 #define MDK_CONF_SHELL 1
52 #if MDK_CONF_SHELL == 1
53 #define WOLFSSL_MDK_SHELL
54 #endif
55 // </e>
56 // <h>wolfSSL Apps
57 // <h>Crypt/Cipher
58 // <o>Cert Storage <1=> Mem Buff (1024bytes) <2=> Mem Buff (2048bytes)
59 #define MDK_CONF_CERT_BUFF 1
60 #if MDK_CONF_CERT_BUFF == 1
61 #define USE_CERT_BUFFERS_1024
62 #elif MDK_CONF_CERT_BUFF == 2
63 #define USE_CERT_BUFFERS_2048
64 #endif
65 
66 // <e>Crypt/Cipher Test Suite
67 #define MDK_CONF_CTaoCryptTest 1
68 #if MDK_CONF_CTaoCryptTest == 0
69 #define NO_CRYPT_TEST
70 #endif
71 // </e>
72 // <e>Crypt/Cipher Benchmark
73 #define MDK_CONF_CTaoCryptBenchmark 1
74 #if MDK_CONF_CTaoCryptBenchmark == 0
75 #define NO_CRYPT_BENCHMARK
76 #define BENCH_EMBEDDED
77 #endif
78 // </e>
79 // </h>
80 
81 // <h>STM32 Hardware Crypt
82 // <e>STM32F2 Hardware RNG
83 #define MDK_CONF_STM32F2_RNG 0
84 #if MDK_CONF_STM32F2_RNG == 1
85 #define STM32F2_RNG
86 #else
87 #define NO_DEV_RANDOM
88 #endif
89 // </e>
90 // <e>STM32F2 Hardware Crypt
91 #define MDK_CONF_STM32F2_CRYPTO 0
92 #if MDK_CONF_STM32F2_CRYPTO == 1
93 #define STM32F2_CRYPTO
94 #endif
95 // </e>
96 
97 // </h>
98 
99 
100 // <h>wolfCrypt Library
101 
102 // <h>MD5, SHA, SHA-256, AES, RC4, ASN, RSA
103 // </h>
104 // <e>MD2
105 #define MDK_CONF_MD2 0
106 #if MDK_CONF_MD2 == 1
107 #define WOLFSSL_MD2
108 #endif
109 // </e>
110 // <e>MD4
111 #define MDK_CONF_MD4 1
112 #if MDK_CONF_MD4 == 0
113 #define NO_MD4
114 #endif
115 // </e>
116 // <e>SHA-384
117 // <i>This has to be with SHA512
118 #define MDK_CONF_SHA384 0
119 #if MDK_CONF_SHA384 == 1
120 #define WOLFSSL_SHA384
121 #endif
122 // </e>
123 // <e>SHA-512
124 #define MDK_CONF_SHA512 0
125 #if MDK_CONF_SHA512 == 1
126 #define WOLFSSL_SHA512
127 #endif
128 // </e>
129 // <e>RIPEMD
130 #define MDK_CONF_RIPEMD 0
131 #if MDK_CONF_RIPEMD == 1
132 #define WOLFSSL_RIPEMD
133 #endif
134 // </e>
135 // <e>HMAC
136 #define MDK_CONF_HMAC 1
137 #if MDK_CONF_HMAC == 0
138 #define NO_HMAC
139 #endif
140 // </e>
141 // <e>HC128
142 #define MDK_CONF_HC128 0
143 #if MDK_CONF_HC128 == 1
144 #define HAVE_HC128
145 #endif
146 // </e>
147 // <e>RABBIT
148 #define MDK_CONF_RABBIT 1
149 #if MDK_CONF_RABBI == 0
150 #define NO_RABBIT
151 #endif
152 // </e>
153 
154 // <e>AEAD
155 #define MDK_CONF_AEAD 0
156 #if MDK_CONF_AEAD == 1
157 #define HAVE_AEAD
158 #endif
159 // </e>
160 // <e>DES3
161 #define MDK_CONF_DES3 1
162 #if MDK_CONF_DES3 == 0
163 #define NO_DES3
164 #endif
165 // </e>
166 // <e>CAMELLIA
167 #define MDK_CONF_CAMELLIA 0
168 #if MDK_CONF_CAMELLIA == 1
169 #define HAVE_CAMELLIA
170 #endif
171 // </e>
172 
173 // <e>DH
174 // <i>need this for WOLFSSL_SERVER, OPENSSL_EXTRA
175 #define MDK_CONF_DH 1
176 #if MDK_CONF_DH == 0
177 #define NO_DH
178 #endif
179 // </e>
180 // <e>DSA
181 #define MDK_CONF_DSA 1
182 #if MDK_CONF_DSA == 0
183 #define NO_DSA
184 #endif
185 // </e>
186 // <e>PWDBASED
187 #define MDK_CONF_PWDBASED 1
188 #if MDK_CONF_PWDBASED == 0
189 #define NO_PWDBASED
190 #endif
191 // </e>
192 
193 // <e>ECC
194 #define MDK_CONF_ECC 0
195 #if MDK_CONF_ECC == 1
196 #define HAVE_ECC
197 #endif
198 // </e>
199 // <e>PSK
200 #define MDK_CONF_PSK 1
201 #if MDK_CONF_PSK == 0
202 #define NO_PSK
203 #endif
204 // </e>
205 // <e>AESCCM (Turn off Hardware Crypt)
206 #define MDK_CONF_AESCCM 0
207 #if MDK_CONF_AESCCM == 1
208 #define HAVE_AESCCM
209 #endif
210 // </e>
211 // <e>AESGCM (Turn off Hardware Crypt)
212 #define MDK_CONF_AESGCM 0
213 #if MDK_CONF_AESGCM == 1
214 #define HAVE_AESGCM
215 #define BUILD_AESGCM
216 #endif
217 // </e>
218 // <e>NTRU (need License, "crypto_ntru.h")
219 #define MDK_CONF_NTRU 0
220 #if MDK_CONF_NTRU == 1
221 #define HAVE_NTRU
222 #endif
223 // </e>
224 // </h>
225 
226 // <h>Others
227 
228 // <e>Inline
229 #define MDK_CONF_INLINE 0
230 #if MDK_CONF_INLINE == 0
231 #define NO_INLINE
232 #endif
233 // </e>
234 // <h>Debug
235 // <e>Debug Message
236 #define MDK_CONF_DebugMessage 0
237 #if MDK_CONF_DebugMessage == 1
238 #define DEBUG_WOLFSSL
239 #endif
240 // </e>
241 // <e>Check malloc
242 #define MDK_CONF_CheckMalloc 1
243 #if MDK_CONF_CheckMalloc == 1
244 #define WOLFSSL_MALLOC_CHECK
245 #endif
246 // </e>
247 
248 
249 // </h>
250 // <e>ErrNo.h
251 #define MDK_CONF_ErrNo 0
252 #if MDK_CONF_ErrNo == 1
253 #define HAVE_ERRNO
254 #endif
255 // </e>
256 // <e>zlib (need "zlib.h")
257 #define MDK_CONF_LIBZ 0
258 #if MDK_CONF_LIBZ == 1
259 #define HAVE_LIBZ
260 #endif
261 // </e>
262 // <e>CAVIUM (need CAVIUM headers)
263 #define MDK_CONF_CAVIUM 0
264 #if MDK_CONF_CAVIUM == 1
265 #define HAVE_CAVIUM
266 #endif
267 // </e>
268 
269 // <e>Error Strings
270 #define MDK_CONF_ErrorStrings 1
271 #if MDK_CONF_ErrorStrings == 0
272 #define NO_ERROR_STRINGS
273 #endif
274 // </e>
275 
276 // <e>Small Stack
277 #define MDK_CONF_SmallStack 1
278 #if MDK_CONF_SmallStack == 0
279 #define NO_WOLFSSL_SMALL_STACK
280 #endif
281 // </e>
282 // <e>Use Fast Math
283 #define MDK_CONF_FASTMATH 0
284 #if MDK_CONF_FASTMATH == 1
285 #define USE_FAST_MATH
286 #endif
287 // </e>
288 
289 
290 // </h>
291 
292 //</h>
293 // <<< end of configuration section >>>