As ftruncate is not availabe on all platforms, switch back to
[oweals/openssl.git] / crypto / md5 / md5_locl.h
index cc96bf50d588dfca9a2ee210c8b02d574b4d3cfd..da40a6206b0175db0d9196e579b8fef33b07a281 100644 (file)
@@ -58,6 +58,7 @@
 
 #include <stdlib.h>
 #include <string.h>
+#include <openssl/opensslconf.h>
 #include <openssl/md5.h>
 
 #ifndef MD5_LONG_LOG2
@@ -65,7 +66,7 @@
 #endif
 
 #ifdef MD5_ASM
-# if defined(__i386) || defined(WIN32)
+# if defined(__i386) || defined(_M_IX86) || defined(__INTEL__)
 #  define md5_block_host_order md5_block_asm_host_order
 # elif defined(__sparc) && defined(ULTRASPARC)
    void md5_block_asm_data_order_aligned (MD5_CTX *c, const MD5_LONG *p,int num);
@@ -76,7 +77,7 @@
 void md5_block_host_order (MD5_CTX *c, const void *p,int num);
 void md5_block_data_order (MD5_CTX *c, const void *p,int num);
 
-#if defined(__i386)
+#if defined(__i386) || defined(_M_IX86) || defined(__INTEL__)
 /*
  * *_block_host_order is expected to handle aligned data while
  * *_block_data_order - unaligned. As algorithm and host (x86)
@@ -111,6 +112,13 @@ void md5_block_data_order (MD5_CTX *c, const void *p,int num);
 #define HASH_UPDATE            MD5_Update
 #define HASH_TRANSFORM         MD5_Transform
 #define HASH_FINAL             MD5_Final
+#define        HASH_MAKE_STRING(c,s)   do {    \
+       unsigned long ll;               \
+       ll=(c)->A; HOST_l2c(ll,(s));    \
+       ll=(c)->B; HOST_l2c(ll,(s));    \
+       ll=(c)->C; HOST_l2c(ll,(s));    \
+       ll=(c)->D; HOST_l2c(ll,(s));    \
+       } while (0)
 #define HASH_BLOCK_HOST_ORDER  md5_block_host_order
 #if !defined(L_ENDIAN) || defined(md5_block_data_order)
 #define        HASH_BLOCK_DATA_ORDER   md5_block_data_order