config.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336
  1. /**
  2. * \file config.h
  3. *
  4. * Copyright (C) 2006-2010, Brainspark B.V.
  5. *
  6. * This file is part of PolarSSL (http://www.polarssl.org)
  7. * Lead Maintainer: Paul Bakker <polarssl_maintainer at polarssl.org>
  8. *
  9. * All rights reserved.
  10. *
  11. * This program is free software; you can redistribute it and/or modify
  12. * it under the terms of the GNU General Public License as published by
  13. * the Free Software Foundation; either version 2 of the License, or
  14. * (at your option) any later version.
  15. *
  16. * This program is distributed in the hope that it will be useful,
  17. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19. * GNU General Public License for more details.
  20. *
  21. * You should have received a copy of the GNU General Public License along
  22. * with this program; if not, write to the Free Software Foundation, Inc.,
  23. * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  24. *
  25. * This set of compile-time options may be used to enable
  26. * or disable features selectively, and reduce the global
  27. * memory footprint.
  28. */
  29. #ifndef POLARSSL_CONFIG_H
  30. #define POLARSSL_CONFIG_H
  31. #ifndef _CRT_SECURE_NO_DEPRECATE
  32. #define _CRT_SECURE_NO_DEPRECATE 1
  33. #endif
  34. /*
  35. * Uncomment if native integers are 8-bit wide.
  36. *
  37. #define POLARSSL_HAVE_INT8
  38. */
  39. /*
  40. * Uncomment if native integers are 16-bit wide.
  41. *
  42. #define POLARSSL_HAVE_INT16
  43. */
  44. /*
  45. * Uncomment if the compiler supports long long.
  46. *
  47. #define POLARSSL_HAVE_LONGLONG
  48. */
  49. /*
  50. * Uncomment to enable the use of assembly code.
  51. *
  52. * Requires support for asm() in compiler.
  53. *
  54. * Used in:
  55. * library/timing.c
  56. * library/padlock.c
  57. * include/polarssl/bn_mul.h
  58. *
  59. */
  60. #define POLARSSL_HAVE_ASM
  61. /*
  62. * Uncomment if the CPU supports SSE2 (IA-32 specific).
  63. *
  64. #define POLARSSL_HAVE_SSE2
  65. */
  66. /*
  67. * Enable all SSL/TLS debugging messages.
  68. */
  69. #define POLARSSL_DEBUG_MSG
  70. /*
  71. * Enable the checkup functions (*_self_test).
  72. */
  73. #define POLARSSL_SELF_TEST
  74. /*
  75. * Enable run-time version information functions
  76. */
  77. #define POLARSSL_VERSION_C
  78. /*
  79. * Enable the prime-number generation code.
  80. */
  81. #define POLARSSL_GENPRIME
  82. /*
  83. * Uncomment this macro to store the AES tables in ROM.
  84. *
  85. #define POLARSSL_AES_ROM_TABLES
  86. */
  87. /*
  88. * Module: library/aes.c
  89. * Caller: library/ssl_tls.c
  90. *
  91. * This module enables the following ciphersuites:
  92. * SSL_RSA_AES_128_SHA
  93. * SSL_RSA_AES_256_SHA
  94. * SSL_EDH_RSA_AES_256_SHA
  95. */
  96. #define POLARSSL_AES_C
  97. /*
  98. * Module: library/arc4.c
  99. * Caller: library/ssl_tls.c
  100. *
  101. * This module enables the following ciphersuites:
  102. * SSL_RSA_RC4_128_MD5
  103. * SSL_RSA_RC4_128_SHA
  104. */
  105. #define POLARSSL_ARC4_C
  106. /*
  107. * Module: library/base64.c
  108. * Caller: library/x509parse.c
  109. *
  110. * This module is required for X.509 support.
  111. */
  112. #define POLARSSL_BASE64_C
  113. /*
  114. * Module: library/bignum.c
  115. * Caller: library/dhm.c
  116. * library/rsa.c
  117. * library/ssl_tls.c
  118. * library/x509parse.c
  119. *
  120. * This module is required for RSA and DHM support.
  121. */
  122. #define POLARSSL_BIGNUM_C
  123. /*
  124. * Module: library/camellia.c
  125. * Caller: library/ssl_tls.c
  126. *
  127. * This module enabled the following cipher suites:
  128. * SSL_RSA_CAMELLIA_128_SHA
  129. * SSL_RSA_CAMELLIA_256_SHA
  130. * SSL_EDH_RSA_CAMELLIA_256_SHA
  131. */
  132. #define POLARSSL_CAMELLIA_C
  133. /*
  134. * Module: library/certs.c
  135. * Caller:
  136. *
  137. * This module is used for testing (ssl_client/server).
  138. */
  139. #define POLARSSL_CERTS_C
  140. /*
  141. * Module: library/debug.c
  142. * Caller: library/ssl_cli.c
  143. * library/ssl_srv.c
  144. * library/ssl_tls.c
  145. *
  146. * This module provides debugging functions.
  147. */
  148. #define POLARSSL_DEBUG_C
  149. /*
  150. * Module: library/des.c
  151. * Caller: library/ssl_tls.c
  152. *
  153. * This module enables the following ciphersuites:
  154. * SSL_RSA_DES_168_SHA
  155. * SSL_EDH_RSA_DES_168_SHA
  156. */
  157. #define POLARSSL_DES_C
  158. /*
  159. * Module: library/dhm.c
  160. * Caller: library/ssl_cli.c
  161. * library/ssl_srv.c
  162. *
  163. * This module enables the following ciphersuites:
  164. * SSL_EDH_RSA_DES_168_SHA
  165. * SSL_EDH_RSA_AES_256_SHA
  166. * SSL_EDH_RSA_CAMELLIA_256_SHA
  167. */
  168. #define POLARSSL_DHM_C
  169. /*
  170. * Module: library/havege.c
  171. * Caller:
  172. *
  173. * This module enables the HAVEGE random number generator.
  174. */
  175. #define POLARSSL_HAVEGE_C
  176. /*
  177. * Module: library/md2.c
  178. * Caller: library/x509parse.c
  179. *
  180. * Uncomment to enable support for (rare) MD2-signed X.509 certs.
  181. *
  182. #define POLARSSL_MD2_C
  183. */
  184. /*
  185. * Module: library/md4.c
  186. * Caller: library/x509parse.c
  187. *
  188. * Uncomment to enable support for (rare) MD4-signed X.509 certs.
  189. *
  190. #define POLARSSL_MD4_C
  191. */
  192. /*
  193. * Module: library/md5.c
  194. * Caller: library/ssl_tls.c
  195. * library/x509parse.c
  196. *
  197. * This module is required for SSL/TLS and X.509.
  198. */
  199. #define POLARSSL_MD5_C
  200. /*
  201. * Module: library/net.c
  202. * Caller:
  203. *
  204. * This module provides TCP/IP networking routines.
  205. */
  206. #define POLARSSL_NET_C
  207. /*
  208. * Module: library/padlock.c
  209. * Caller: library/aes.c
  210. *
  211. * This modules adds support for the VIA PadLock on x86.
  212. */
  213. #define POLARSSL_PADLOCK_C
  214. /*
  215. * Module: library/rsa.c
  216. * Caller: library/ssl_cli.c
  217. * library/ssl_srv.c
  218. * library/ssl_tls.c
  219. * library/x509.c
  220. *
  221. * This module is required for SSL/TLS and MD5-signed certificates.
  222. */
  223. #define POLARSSL_RSA_C
  224. /*
  225. * Module: library/sha1.c
  226. * Caller: library/ssl_cli.c
  227. * library/ssl_srv.c
  228. * library/ssl_tls.c
  229. * library/x509parse.c
  230. *
  231. * This module is required for SSL/TLS and SHA1-signed certificates.
  232. */
  233. #define POLARSSL_SHA1_C
  234. /*
  235. * Module: library/sha2.c
  236. * Caller:
  237. *
  238. * This module adds support for SHA-224 and SHA-256.
  239. */
  240. #define POLARSSL_SHA2_C
  241. /*
  242. * Module: library/sha4.c
  243. * Caller:
  244. *
  245. * This module adds support for SHA-384 and SHA-512.
  246. */
  247. #define POLARSSL_SHA4_C
  248. /*
  249. * Module: library/ssl_cli.c
  250. * Caller:
  251. *
  252. * This module is required for SSL/TLS client support.
  253. */
  254. #define POLARSSL_SSL_CLI_C
  255. /*
  256. * Module: library/ssl_srv.c
  257. * Caller:
  258. *
  259. * This module is required for SSL/TLS server support.
  260. */
  261. #define POLARSSL_SSL_SRV_C
  262. /*
  263. * Module: library/ssl_tls.c
  264. * Caller: library/ssl_cli.c
  265. * library/ssl_srv.c
  266. *
  267. * This module is required for SSL/TLS.
  268. */
  269. #define POLARSSL_SSL_TLS_C
  270. /*
  271. * Module: library/timing.c
  272. * Caller: library/havege.c
  273. *
  274. * This module is used by the HAVEGE random number generator.
  275. */
  276. #define POLARSSL_TIMING_C
  277. /*
  278. * Module: library/x509parse.c
  279. * Caller: library/ssl_cli.c
  280. * library/ssl_srv.c
  281. * library/ssl_tls.c
  282. *
  283. * This module is required for X.509 certificate parsing.
  284. */
  285. #define POLARSSL_X509_PARSE_C
  286. /*
  287. * Module: library/x509_write.c
  288. * Caller:
  289. *
  290. * This module is required for X.509 certificate writing.
  291. */
  292. #define POLARSSL_X509_WRITE_C
  293. /*
  294. * Module: library/xtea.c
  295. * Caller:
  296. */
  297. #define POLARSSL_XTEA_C
  298. #endif /* config.h */