85 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			85 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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 */
 | |
| 
 |