Home | History | Annotate | Download | only in headers
      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