• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #ifndef TOMCRYPT_CUSTOM_H_
2 #define TOMCRYPT_CUSTOM_H_
3 
4 /* this will sort out which stuff based on the user-config in options.h */
5 #include "options.h"
6 
7 /* macros for various libc functions you can change for embedded targets */
8 #ifndef XMALLOC
9    #ifdef malloc
10    #define LTC_NO_PROTOTYPES
11    #endif
12 #define XMALLOC  malloc
13 #endif
14 #ifndef XREALLOC
15    #ifdef realloc
16    #define LTC_NO_PROTOTYPES
17    #endif
18 #define XREALLOC realloc
19 #endif
20 #ifndef XCALLOC
21    #ifdef calloc
22    #define LTC_NO_PROTOTYPES
23    #endif
24 #define XCALLOC  calloc
25 #endif
26 #ifndef XFREE
27    #ifdef free
28    #define LTC_NO_PROTOTYPES
29    #endif
30 #define XFREE    free
31 #endif
32 
33 #ifndef XMEMSET
34    #ifdef memset
35    #define LTC_NO_PROTOTYPES
36    #endif
37 #define XMEMSET  memset
38 #endif
39 #ifndef XMEMCPY
40    #ifdef memcpy
41    #define LTC_NO_PROTOTYPES
42    #endif
43 #define XMEMCPY  memcpy
44 #endif
45 #ifndef XMEMCMP
46    #ifdef memcmp
47    #define LTC_NO_PROTOTYPES
48    #endif
49 #define XMEMCMP  memcmp
50 #endif
51 #ifndef XSTRCMP
52    #ifdef strcmp
53    #define LTC_NO_PROTOTYPES
54    #endif
55 #define XSTRCMP strcmp
56 #endif
57 
58 #ifndef XCLOCK
59 #define XCLOCK   clock
60 #endif
61 #ifndef XCLOCKS_PER_SEC
62 #define XCLOCKS_PER_SEC CLOCKS_PER_SEC
63 #endif
64 
65    #define LTC_NO_PRNGS
66    #define LTC_NO_PK
67 #ifdef DROPBEAR_SMALL_CODE
68 #define LTC_SMALL_CODE
69 #endif
70 /* These spit out warnings etc */
71 #define LTC_NO_ROLC
72 
73 /* Enable self-test test vector checking */
74 /* Not for dropbear */
75 /*#define LTC_TEST*/
76 
77 /* clean the stack of functions which put private information on stack */
78 /* #define LTC_CLEAN_STACK */
79 
80 /* disable all file related functions */
81 /* #define LTC_NO_FILE */
82 
83 /* disable all forms of ASM */
84 /* #define LTC_NO_ASM */
85 
86 /* disable FAST mode */
87 /* #define LTC_NO_FAST */
88 
89 /* disable BSWAP on x86 */
90 /* #define LTC_NO_BSWAP */
91 
92 
93 #ifdef DROPBEAR_BLOWFISH_CBC
94 #define BLOWFISH
95 #endif
96 
97 #ifdef DROPBEAR_AES_CBC
98 #define RIJNDAEL
99 #endif
100 
101 #ifdef DROPBEAR_TWOFISH_CBC
102 #define TWOFISH
103 
104 /* enabling just TWOFISH_SMALL will make the binary ~1kB smaller, turning on
105  * TWOFISH_TABLES will make it a few kB bigger, but perhaps reduces runtime
106  * memory usage? */
107 #define TWOFISH_SMALL
108 /*#define TWOFISH_TABLES*/
109 #endif
110 
111 #ifdef DROPBEAR_3DES_CBC
112 #define DES
113 #endif
114 
115 #define LTC_CBC_MODE
116 
117 #if defined(DROPBEAR_DSS) && defined(DSS_PROTOK)
118 #define SHA512
119 #endif
120 
121 #define SHA1
122 
123 #ifdef DROPBEAR_MD5_HMAC
124 #define MD5
125 #endif
126 
127 #define LTC_HMAC
128 
129 /* Various tidbits of modern neatoness */
130 #define BASE64
131 
132 /* default no pthread functions */
133 #define LTC_MUTEX_GLOBAL(x)
134 #define LTC_MUTEX_PROTO(x)
135 #define LTC_MUTEX_TYPE(x)
136 #define LTC_MUTEX_INIT(x)
137 #define LTC_MUTEX_LOCK(x)
138 #define LTC_MUTEX_UNLOCK(x)
139 #define FORTUNA_POOLS 0
140 
141 /* Debuggers */
142 
143 /* define this if you use Valgrind, note: it CHANGES the way SOBER-128 and RC4 work (see the code) */
144 /* #define LTC_VALGRIND */
145 
146 #endif
147 
148 
149 
150 /* $Source: /cvs/libtom/libtomcrypt/src/headers/tomcrypt_custom.h,v $ */
151 /* $Revision: 1.66 $ */
152 /* $Date: 2006/12/04 02:50:11 $ */
153