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