2003-03-02 19:59:24 -05:00
|
|
|
/* 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);
|
2003-03-02 20:02:10 -05:00
|
|
|
extern void *REALLOC(void *p, size_t n);
|
2003-03-02 19:59:24 -05:00
|
|
|
extern void *XCALLOC(size_t n, size_t s);
|
|
|
|
extern void XFREE(void *p);
|
|
|
|
|
|
|
|
/* change the clock function too */
|
|
|
|
extern clock_t XCLOCK(void);
|
|
|
|
|
2003-03-02 20:02:10 -05:00
|
|
|
/* ch1-01-1 */
|
2003-03-02 19:59:24 -05:00
|
|
|
/* type of argument checking, 0=default, 1=fatal and 2=none */
|
|
|
|
#define ARGTYPE 0
|
2003-03-02 20:02:10 -05:00
|
|
|
/* ch1-01-1 */
|
2003-03-02 19:59:24 -05:00
|
|
|
|
|
|
|
/* Controls endianess and size of registers. Leave uncommented to get platform neutral [slower] code */
|
|
|
|
/* detect x86-32 machines somewhat */
|
2003-03-02 20:02:10 -05:00
|
|
|
#if (defined(_MSC_VER) && defined(WIN32)) || (defined(__GNUC__) && (defined(__DJGPP__) || defined(__CYGWIN__) || defined(__MINGW32__)))
|
2003-03-02 19:59:24 -05:00
|
|
|
#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
|
2003-03-02 20:02:10 -05:00
|
|
|
#error YARROW requires CTR chaining mode to be defined!
|
2003-03-02 19:59:24 -05:00
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* packet code */
|
|
|
|
#if defined(MRSA) || defined(MDH) || defined(MECC)
|
|
|
|
#define PACKET
|
|
|
|
|
|
|
|
/* size of a packet header in bytes */
|
2003-03-02 20:02:10 -05:00
|
|
|
#define PACKET_SIZE 4
|
2003-03-02 19:59:24 -05:00
|
|
|
|
|
|
|
/* Section tags */
|
|
|
|
#define PACKET_SECT_RSA 0
|
|
|
|
#define PACKET_SECT_DH 1
|
|
|
|
#define PACKET_SECT_ECC 2
|
2003-03-02 20:02:10 -05:00
|
|
|
#define PACKET_SECT_DSA 4
|
2003-03-02 19:59:24 -05:00
|
|
|
|
|
|
|
/* 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
|
|
|
|
|
|
|
|
#ifdef MPI
|
|
|
|
#include "mpi.h"
|
|
|
|
#else
|
|
|
|
#ifdef MRSA
|
|
|
|
#error RSA requires the big int library
|
|
|
|
#endif
|
|
|
|
#ifdef MECC
|
|
|
|
#error ECC requires the big int library
|
|
|
|
#endif
|
|
|
|
#ifdef MDH
|
|
|
|
#error DH requires the big int library
|
|
|
|
#endif
|
2003-03-02 20:02:10 -05:00
|
|
|
#ifdef MDSA
|
|
|
|
#error DSA requires the big int library
|
|
|
|
#endif
|
2003-03-02 19:59:24 -05:00
|
|
|
#endif /* MPI */
|
|
|
|
|
|
|
|
#endif /* MYCRYPT_CFG_H */
|
|
|
|
|