61 #include <openssl/e_os2.h>
62 #include <openssl/md5.h>
65 #define MD5_LONG_LOG2 2
69 # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
70 # if !defined(B_ENDIAN)
71 # define md5_block_host_order md5_block_asm_host_order
73 # elif defined(__sparc) && defined(OPENSSL_SYS_ULTRASPARC)
74 void md5_block_asm_data_order_aligned (
MD5_CTX *c,
const MD5_LONG *p,
size_t num);
75 # define HASH_BLOCK_DATA_ORDER_ALIGNED md5_block_asm_data_order_aligned
79 void md5_block_host_order (
MD5_CTX *c,
const void *p,
size_t num);
80 void md5_block_data_order (
MD5_CTX *c,
const void *p,
size_t num);
82 #if defined(__i386) || defined(__i386__) || defined(_M_IX86) || defined(__INTEL__) || defined(__x86_64) || defined(__x86_64__)
83 # if !defined(B_ENDIAN)
105 # define md5_block_data_order md5_block_host_order
109 #define DATA_ORDER_IS_LITTLE_ENDIAN
111 #define HASH_LONG MD5_LONG
112 #define HASH_LONG_LOG2 MD5_LONG_LOG2
113 #define HASH_CTX MD5_CTX
114 #define HASH_CBLOCK MD5_CBLOCK
115 #define HASH_LBLOCK MD5_LBLOCK
116 #define HASH_UPDATE MD5_Update
117 #define HASH_TRANSFORM MD5_Transform
118 #define HASH_FINAL MD5_Final
119 #define HASH_MAKE_STRING(c,s) do { \
121 ll=(c)->A; HOST_l2c(ll,(s)); \
122 ll=(c)->B; HOST_l2c(ll,(s)); \
123 ll=(c)->C; HOST_l2c(ll,(s)); \
124 ll=(c)->D; HOST_l2c(ll,(s)); \
126 #define HASH_BLOCK_HOST_ORDER md5_block_host_order
127 #if !defined(L_ENDIAN) || defined(md5_block_data_order)
128 #define HASH_BLOCK_DATA_ORDER md5_block_data_order
142 #include "md32_common.h"
153 #define F(b,c,d) ((((c) ^ (d)) & (b)) ^ (d))
154 #define G(b,c,d) ((((b) ^ (c)) & (d)) ^ (c))
155 #define H(b,c,d) ((b) ^ (c) ^ (d))
156 #define I(b,c,d) (((~(d)) | (b)) ^ (c))
158 #define R0(a,b,c,d,k,s,t) { \
159 a+=((k)+(t)+F((b),(c),(d))); \
163 #define R1(a,b,c,d,k,s,t) { \
164 a+=((k)+(t)+G((b),(c),(d))); \
168 #define R2(a,b,c,d,k,s,t) { \
169 a+=((k)+(t)+H((b),(c),(d))); \
173 #define R3(a,b,c,d,k,s,t) { \
174 a+=((k)+(t)+I((b),(c),(d))); \
Definition: DNSDigest.c:192