/* This is the build config file. * * With this you can setup what to inlcude/exclude automatically during any build. Just comment * out the line that #define's the word for the thing you want to remove. phew! */ #ifndef MYCRYPT_CFG_H #define MYCRYPT_CFG_H /* you can change how memory allocation works ... */ extern void *XMALLOC(size_t n); extern void *REALLOC(void *p, size_t n); extern void *XCALLOC(size_t n, size_t s); extern void XFREE(void *p); /* change the clock function too */ extern clock_t XCLOCK(void); /* ch1-01-1 */ /* type of argument checking, 0=default, 1=fatal and 2=none */ #define ARGTYPE 0 /* ch1-01-1 */ /* Controls endianess and size of registers. Leave uncommented to get platform neutral [slower] code */ /* detect x86-32 machines somewhat */ #if (defined(_MSC_VER) && defined(WIN32)) || (defined(__GNUC__) && (defined(__DJGPP__) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__i386__))) #define ENDIAN_LITTLE #define ENDIAN_32BITWORD #endif /* detects MIPS R5900 processors (PS2) */ #if (defined(__R5900) || defined(R5900) || defined(__R5900__)) && (defined(_mips) || defined(__mips__) || defined(mips)) #define ENDIAN_LITTLE #define ENDIAN_64BITWORD #endif /* #define ENDIAN_LITTLE */ /* #define ENDIAN_BIG */ /* #define ENDIAN_32BITWORD */ /* #define ENDIAN_64BITWORD */ #if (defined(ENDIAN_BIG) || defined(ENDIAN_LITTLE)) && !(defined(ENDIAN_32BITWORD) || defined(ENDIAN_64BITWORD)) #error You must specify a word size as well as endianess in mycrypt_cfg.h #endif #if !(defined(ENDIAN_BIG) || defined(ENDIAN_LITTLE)) #define ENDIAN_NEUTRAL #endif #ifdef SHA384 #ifndef SHA512 #error The SHA384 hash requires SHA512 to be defined! #endif #endif #ifdef YARROW #ifndef CTR #error YARROW requires CTR chaining mode to be defined! #endif #endif /* packet code */ #if defined(MRSA) || defined(MDH) || defined(MECC) #define PACKET /* size of a packet header in bytes */ #define PACKET_SIZE 4 /* Section tags */ #define PACKET_SECT_RSA 0 #define PACKET_SECT_DH 1 #define PACKET_SECT_ECC 2 #define PACKET_SECT_DSA 4 /* Subsection Tags for the first three sections */ #define PACKET_SUB_KEY 0 #define PACKET_SUB_ENCRYPTED 1 #define PACKET_SUB_SIGNED 2 #define PACKET_SUB_ENC_KEY 3 #endif #endif /* MYCRYPT_CFG_H */