diff mycrypt_cfg.h @ 143:5d99163f7e32 libtomcrypt-orig

import of libtomcrypt 0.99
author Matt Johnston <matt@ucc.asn.au>
date Sun, 19 Dec 2004 11:34:45 +0000
parents 7faae8f46238
children
line wrap: on
line diff
--- a/mycrypt_cfg.h	Tue Jun 15 14:07:21 2004 +0000
+++ b/mycrypt_cfg.h	Sun Dec 19 11:34:45 2004 +0000
@@ -8,20 +8,28 @@
 #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);
+void *XMALLOC(size_t n);
+void *REALLOC(void *p, size_t n);
+void *XCALLOC(size_t n, size_t s);
+void XFREE(void *p);
 
 /* change the clock function too */
-extern clock_t XCLOCK(void);
+ clock_t XCLOCK(void);
 
-/* ch1-01-1 */
+/* various other functions */
+void *XMEMCPY(void *dest, const void *src, size_t n);
+int   XMEMCMP(const void *s1, const void *s2, size_t n);
+
 /* 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 */
+/* Controls endianess and size of registers.  Leave uncommented to get platform neutral [slower] code 
+ * 
+ * Note: in order to use the optimized macros your platform must support unaligned 32 and 64 bit read/writes.
+ * The x86 platforms allow this but some others [ARM for instance] do not.  On those platforms you **MUST**
+ * use the portable [slower] macros.
+ */
+
 /* detect x86-32 machines somewhat */
 #if defined(INTEL_CC) || (defined(_MSC_VER) && defined(WIN32)) || (defined(__GNUC__) && (defined(__DJGPP__) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__i386__)))
    #define ENDIAN_LITTLE
@@ -34,6 +42,12 @@
    #define ENDIAN_64BITWORD
 #endif
 
+/* detect amd64 */
+#if defined(__x86_64__)
+   #define ENDIAN_LITTLE
+   #define ENDIAN_64BITWORD
+#endif
+
 /* #define ENDIAN_LITTLE */
 /* #define ENDIAN_BIG */
 
@@ -48,12 +62,6 @@
    #define ENDIAN_NEUTRAL
 #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