version 0.0.1
[fms.git] / include / xyssl / config.h
1 /**\r
2  * \file config.h\r
3  *\r
4  * This set of compile-time options may be used to enable\r
5  * or disable features selectively, and reduce the global\r
6  * memory footprint.\r
7  */\r
8 #ifndef XYSSL_CONFIG_H\r
9 #define XYSSL_CONFIG_H\r
10 \r
11 #ifndef _CRT_SECURE_NO_DEPRECATE\r
12 #define _CRT_SECURE_NO_DEPRECATE 1\r
13 #endif\r
14 \r
15 /*\r
16  * Uncomment if native integers are 8-bit wide.\r
17  *\r
18 #define XYSSL_HAVE_INT8\r
19  */\r
20 \r
21 /*\r
22  * Uncomment if native integers are 16-bit wide.\r
23  *\r
24 #define XYSSL_HAVE_INT16\r
25  */\r
26 \r
27 /*\r
28  * Uncomment if the compiler supports long long.\r
29  *\r
30 #define XYSSL_HAVE_LONGLONG\r
31  */\r
32 \r
33 /*\r
34  * Uncomment if the CPU supports SSE2 (IA-32 specific).\r
35  *\r
36 #define XYSSL_HAVE_SSE2\r
37  */\r
38 \r
39 /*\r
40  * Enable all SSL/TLS debugging messages.\r
41  */\r
42 #define XYSSL_DEBUG_MSG\r
43 \r
44 /*\r
45  * Enable the checkup functions (*_self_test).\r
46  *\r
47 #define XYSSL_SELF_TEST\r
48  */\r
49 \r
50 /*\r
51  * Enable the prime-number generation code.\r
52  */\r
53 #define XYSSL_GENPRIME\r
54 \r
55 /*\r
56  * Uncomment this macro to store the AES tables in ROM.\r
57  *\r
58 #define XYSSL_AES_ROM_TABLES\r
59  */\r
60 \r
61 /*\r
62  * Module:  library/aes.c\r
63  * Caller:  library/ssl_tls.c\r
64  *\r
65  * This module enables the following ciphersuites:\r
66  *      SSL_RSA_AES_256_SHA\r
67  *      SSL_EDH_RSA_AES_256_SHA\r
68  */\r
69 #define XYSSL_AES_C\r
70 \r
71 /*\r
72  * Module:  library/arc4.c\r
73  * Caller:  library/ssl_tls.c\r
74  *\r
75  * This module enables the following ciphersuites:\r
76  *      SSL_RSA_RC4_128_MD5\r
77  *      SSL_RSA_RC4_128_SHA\r
78  */\r
79 #define XYSSL_ARC4_C\r
80 \r
81 /*\r
82  * Module:  library/base64.c\r
83  * Caller:  library/x509parse.c\r
84  *\r
85  * This module is required for X.509 support.\r
86  */\r
87 #define XYSSL_BASE64_C\r
88 \r
89 /*\r
90  * Module:  library/bignum.c\r
91  * Caller:  library/dhm.c\r
92  *          library/rsa.c\r
93  *          library/ssl_tls.c\r
94  *          library/x509parse.c\r
95  *\r
96  * This module is required for RSA and DHM support.\r
97  */\r
98 #define XYSSL_BIGNUM_C\r
99 \r
100 /*\r
101  * Module:  library/certs.c\r
102  * Caller:\r
103  *\r
104  * This module is used for testing (ssl_client/server).\r
105  */\r
106 #define XYSSL_CERTS_C\r
107 \r
108 /*\r
109  * Module:  library/debug.c\r
110  * Caller:  library/ssl_cli.c\r
111  *          library/ssl_srv.c\r
112  *          library/ssl_tls.c\r
113  *\r
114  * This module provides debugging functions.\r
115  *\r
116 #define XYSSL_DEBUG_C\r
117  */\r
118 \r
119 /*\r
120  * Module:  library/des.c\r
121  * Caller:  library/ssl_tls.c\r
122  *\r
123  * This module enables the following ciphersuites:\r
124  *      SSL_RSA_DES_168_SHA\r
125  *      SSL_EDH_RSA_DES_168_SHA\r
126  */\r
127 #define XYSSL_DES_C\r
128 \r
129 /*\r
130  * Module:  library/dhm.c\r
131  * Caller:  library/ssl_cli.c\r
132  *          library/ssl_srv.c\r
133  *\r
134  * This module enables the following ciphersuites:\r
135  *      SSL_EDH_RSA_DES_168_SHA\r
136  *      SSL_EDH_RSA_AES_256_SHA\r
137  */\r
138 #define XYSSL_DHM_C\r
139 \r
140 /*\r
141  * Module:  library/havege.c\r
142  * Caller:\r
143  *\r
144  * This module enables the HAVEGE random number generator.\r
145  */\r
146 #define XYSSL_HAVEGE_C\r
147 \r
148 /*\r
149  * Module:  library/md2.c\r
150  * Caller:  library/x509parse.c\r
151  *\r
152  * This module enables support for MD2-signed X.509 certificates.\r
153  */\r
154 #define XYSSL_MD2_C\r
155 \r
156 /*\r
157  * Module:  library/md4.c\r
158  * Caller:  library/x509parse.c\r
159  *\r
160  * This module enables support for MD4-signed X.509 certificates.\r
161  */\r
162 #define XYSSL_MD4_C\r
163 \r
164 /*\r
165  * Module:  library/md5.c\r
166  * Caller:  library/ssl_tls.c\r
167  *          library/x509parse.c\r
168  *\r
169  * This module is required for SSL/TLS and X.509.\r
170  */\r
171 #define XYSSL_MD5_C\r
172 \r
173 /*\r
174  * Module:  library/net.c\r
175  * Caller:\r
176  *\r
177  * This module provides TCP/IP networking routines.\r
178  */\r
179 #define XYSSL_NET_C\r
180 \r
181 /*\r
182  * Module:  library/padlock.c\r
183  * Caller:  library/aes.c\r
184  *\r
185  * This modules adds support for the VIA PadLock on x86.\r
186  */\r
187 #define XYSSL_PADLOCK_C\r
188 \r
189 /*\r
190  * Module:  library/rsa.c\r
191  * Caller:  library/ssl_cli.c\r
192  *          library/ssl_srv.c\r
193  *          library/ssl_tls.c\r
194  *          library/x509.c\r
195  *\r
196  * This module is required for SSL/TLS and X.509.\r
197  */\r
198 #define XYSSL_RSA_C\r
199 \r
200 /*\r
201  * Module:  library/sha1.c\r
202  * Caller:  library/ssl_cli.c\r
203  *          library/ssl_srv.c\r
204  *          library/ssl_tls.c\r
205  *          library/x509parse.c\r
206  *\r
207  * This module is required for SSL/TLS and X.509.\r
208  */\r
209 #define XYSSL_SHA1_C\r
210 \r
211 /*\r
212  * Module:  library/sha2.c\r
213  * Caller:\r
214  *\r
215  * This module adds support for SHA-224 and SHA-256.\r
216  */\r
217 #define XYSSL_SHA2_C\r
218 \r
219 /*\r
220  * Module:  library/sha4.c\r
221  * Caller:\r
222  *\r
223  * This module adds support for SHA-384 and SHA-512.\r
224  */\r
225 #define XYSSL_SHA4_C\r
226 \r
227 /*\r
228  * Module:  library/ssl_cli.c\r
229  * Caller:\r
230  *\r
231  * This module is required for SSL/TLS client support.\r
232  */\r
233 #define XYSSL_SSL_CLI_C\r
234 \r
235 /*\r
236  * Module:  library/ssl_srv.c\r
237  * Caller:\r
238  *\r
239  * This module is required for SSL/TLS server support.\r
240  */\r
241 #define XYSSL_SSL_SRV_C\r
242 \r
243 /*\r
244  * Module:  library/ssl_tls.c\r
245  * Caller:  library/ssl_cli.c\r
246  *          library/ssl_srv.c\r
247  *\r
248  * This module is required for SSL/TLS.\r
249  */\r
250 #define XYSSL_SSL_TLS_C\r
251 \r
252 /*\r
253  * Module:  library/timing.c\r
254  * Caller:  library/havege.c\r
255  *\r
256  * This module is used by the HAVEGE random number generator.\r
257  */\r
258 #define XYSSL_TIMING_C\r
259 \r
260 /*\r
261  * Module:  library/x509parse.c\r
262  * Caller:  library/ssl_cli.c\r
263  *          library/ssl_srv.c\r
264  *          library/ssl_tls.c\r
265  *\r
266  * This module is required for X.509 certificate parsing.\r
267  */\r
268 #define XYSSL_X509_PARSE_C\r
269 \r
270 /*\r
271  * Module:  library/x509_write.c\r
272  * Caller:\r
273  *\r
274  * This module is required for X.509 certificate writing.\r
275  */\r
276 #define XYSSL_X509_WRITE_C\r
277 \r
278 #endif /* config.h */\r