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