1 /* This is the build config file.
3 * With this you can setup what to inlcude/exclude automatically during any build. Just comment
4 * out the line that #define's the word for the thing you want to remove. phew!
10 /* you can change how memory allocation works ... */
11 extern void *XMALLOC(size_t n);
12 extern void *REALLOC(void *p, size_t n);
13 extern void *XCALLOC(size_t n, size_t s);
14 extern void XFREE(void *p);
16 /* change the clock function too */
17 extern clock_t XCLOCK(void);
20 /* type of argument checking, 0=default, 1=fatal and 2=none */
24 /* Controls endianess and size of registers. Leave uncommented to get platform neutral [slower] code */
25 /* detect x86-32 machines somewhat */
26 #if (defined(_MSC_VER) && defined(WIN32)) || (defined(__GNUC__) && (defined(__DJGPP__) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__i386__)))
28 #define ENDIAN_32BITWORD
31 /* detects MIPS R5900 processors (PS2) */
32 #if (defined(__R5900) || defined(R5900) || defined(__R5900__)) && (defined(_mips) || defined(__mips__) || defined(mips))
34 #define ENDIAN_64BITWORD
37 /* #define ENDIAN_LITTLE */
38 /* #define ENDIAN_BIG */
40 /* #define ENDIAN_32BITWORD */
41 /* #define ENDIAN_64BITWORD */
43 #if (defined(ENDIAN_BIG) || defined(ENDIAN_LITTLE)) && !(defined(ENDIAN_32BITWORD) || defined(ENDIAN_64BITWORD))
44 #error You must specify a word size as well as endianess in mycrypt_cfg.h
47 #if !(defined(ENDIAN_BIG) || defined(ENDIAN_LITTLE))
48 #define ENDIAN_NEUTRAL
53 #error The SHA384 hash requires SHA512 to be defined!
59 #error YARROW requires CTR chaining mode to be defined!
64 #if defined(MRSA) || defined(MDH) || defined(MECC)
67 /* size of a packet header in bytes */
71 #define PACKET_SECT_RSA 0
72 #define PACKET_SECT_DH 1
73 #define PACKET_SECT_ECC 2
74 #define PACKET_SECT_DSA 4
76 /* Subsection Tags for the first three sections */
77 #define PACKET_SUB_KEY 0
78 #define PACKET_SUB_ENCRYPTED 1
79 #define PACKET_SUB_SIGNED 2
80 #define PACKET_SUB_ENC_KEY 3
83 #endif /* MYCRYPT_CFG_H */