diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2003-11-12 21:12:36 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2003-11-12 21:12:36 (GMT) |
commit | 5806ce2084c3c1c80ddaa1d84516837b97468836 (patch) | |
tree | c055ae5f212c403dc425fc687a6e0c50ce812b0b /libmd5/md5_loc.h | |
parent | bfaab3acda7ec81a51a45372673f5be07745773b (diff) | |
download | Doxygen-5806ce2084c3c1c80ddaa1d84516837b97468836.zip Doxygen-5806ce2084c3c1c80ddaa1d84516837b97468836.tar.gz Doxygen-5806ce2084c3c1c80ddaa1d84516837b97468836.tar.bz2 |
Release-1.3.4-20031112
Diffstat (limited to 'libmd5/md5_loc.h')
-rw-r--r-- | libmd5/md5_loc.h | 119 |
1 files changed, 16 insertions, 103 deletions
diff --git a/libmd5/md5_loc.h b/libmd5/md5_loc.h index 3d6e2b6..464e3d1 100644 --- a/libmd5/md5_loc.h +++ b/libmd5/md5_loc.h @@ -1,114 +1,27 @@ -/* - * Local defines for the md5 functions. - * - * $Id$ - */ +/* GLOBAL.H - RSAREF types and constants */ -/* - * Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All - * rights reserved. - * - * License to copy and use this software is granted provided that it is - * identified as the "RSA Data Security, Inc. MD5 Message-Digest - * Algorithm" in all material mentioning or referencing this software - * or this function. - * - * License is also granted to make and use derivative works provided that - * such works are identified as "derived from the RSA Data Security, - * Inc. MD5 Message-Digest Algorithm" in all material mentioning or - * referencing the derived work. - * - * RSA Data Security, Inc. makes no representations concerning either the - * merchantability of this software or the suitability of this - * software for any particular purpose. It is provided "as is" without - * express or implied warranty of any kind. - * - * These notices must be retained in any copies of any part of this - * documentation and/or software. +/* Copyright (C) RSA Laboratories, a division of RSA Data Security, + Inc., created 1991. All rights reserved. */ -#ifndef __MD5_LOC_H__ -#define __MD5_LOC_H__ +#ifndef _MD5LOC_H +#define _MD5LOC_H -#ifdef __cplusplus -extern "C" { -#endif +/* POINTER defines a generic pointer type */ +typedef unsigned char *POINTER; -#define HEX_STRING "0123456789abcdef" /* to convert to hex */ -#define BLOCK_SIZE_MASK (MD5_BLOCK_SIZE - 1) +/* UINT2 defines a two byte word */ +typedef unsigned short int UINT2; -/* - * Define my endian-ness. Could not do in a portable manner using the - * include files -- grumble. - */ -#if defined(__alpha) || defined(WIN32) || defined(__i386__) -/* - * little endian - */ -#define SWAP(n) (n) -#endif +/* UINT4 defines a four byte word */ +typedef unsigned long int UINT4; -#ifdef __sparc -/* - * big endian - big is better - */ -#define SWAP(n) \ - (((n) << 24) | (((n) & 0xff00) << 8) | (((n) >> 8) & 0xff00) | ((n) >> 24)) +#ifndef NULL_PTR +#define NULL_PTR ((POINTER)0) #endif -/* - * These are the four functions used in the four steps of the MD5 - * algorithm and defined in the RFC 1321. The first function is a - * little bit optimized (as found in Colin Plumbs public domain - * implementation). - */ -/* #define FF(b, c, d) ((b & c) | (~b & d)) */ -#define FF(b, c, d) (d ^ (b & (c ^ d))) -#define FG(b, c, d) FF(d, b, c) -#define FH(b, c, d) (b ^ c ^ d) -#define FI(b, c, d) (c ^ (b | ~d)) - -/* - * It is unfortunate that C does not provide an operator for cyclic - * rotation. Hope the C compiler is smart enough. -- Modified to - * remove the w = at the front - Gray 2/97 - */ -#define CYCLIC(w, s) ((w << s) | (w >> (32 - s))) - -/* - * First Round: using the given function, the context and a constant - * the next context is computed. Because the algorithms processing - * unit is a 32-bit word and it is determined to work on words in - * little endian byte order we perhaps have to change the byte order - * before the computation. To reduce the work for the next steps we - * store the swapped words in the array CORRECT_WORDS. -- Modified to - * fix the handling of unaligned buffer spaces - Gray 7/97 - */ -#define OP1(a, b, c, d, b_p, c_p, s, T) \ - do { \ - memcpy(c_p, b_p, sizeof(md5_uint32)); \ - *c_p = SWAP(*c_p); \ - a += FF (b, c, d) + *c_p + T; \ - a = CYCLIC (a, s); \ - a += b; \ - b_p = (char *)b_p + sizeof(md5_uint32); \ - c_p++; \ - } while (0) - -/* - * Second to Fourth Round: we have the possibly swapped words in - * CORRECT_WORDS. Redefine the macro to take an additional first - * argument specifying the function to use. - */ -#define OP234(FUNC, a, b, c, d, k, s, T) \ - do { \ - a += FUNC (b, c, d) + k + T; \ - a = CYCLIC (a, s); \ - a += b; \ - } while (0) - -#ifdef __cplusplus -} +#ifndef UNUSED_ARG +#define UNUSED_ARG(x) x = *(&x); #endif -#endif /* ! __MD5_LOC_H__ */ +#endif /* end _GLOBAL_H_ */ |