annotate dmd/md5.h @ 361:932229a851a4 trunk

[svn r382] In CastExp, after the cast to CastExp.to force the type to be CastExp.type. This is used for c.im for instance, where the cast is to idouble but type is double.
author ChristianK
date Mon, 14 Jul 2008 19:17:25 +0200
parents d03d748a9b5f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
337
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
1 /*
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
2 **********************************************************************
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
3 ** md5.h -- Header file for implementation of MD5 **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
4 ** RSA Data Security, Inc. MD5 Message Digest Algorithm **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
5 ** Created: 2/17/90 RLR **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
6 ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
7 ** Revised (for MD5): RLR 4/27/91 **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
8 ** -- G modified to have y&~z instead of y&z **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
9 ** -- FF, GG, HH modified to add in last register done **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
10 ** -- Access pattern: round 2 works mod 5, round 3 works mod 3 **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
11 ** -- distinct additive constant for each step **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
12 ** -- round 4 added, working mod 7 **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
13 **********************************************************************
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
14 */
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
15
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
16 /*
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
17 **********************************************************************
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
18 ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
19 ** **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
20 ** License to copy and use this software is granted provided that **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
21 ** it is identified as the "RSA Data Security, Inc. MD5 Message **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
22 ** Digest Algorithm" in all material mentioning or referencing this **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
23 ** software or this function. **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
24 ** **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
25 ** License is also granted to make and use derivative works **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
26 ** provided that such works are identified as "derived from the RSA **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
27 ** Data Security, Inc. MD5 Message Digest Algorithm" in all **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
28 ** material mentioning or referencing the derived work. **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
29 ** **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
30 ** RSA Data Security, Inc. makes no representations concerning **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
31 ** either the merchantability of this software or the suitability **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
32 ** of this software for any particular purpose. It is provided "as **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
33 ** is" without express or implied warranty of any kind. **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
34 ** **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
35 ** These notices must be retained in any copies of any part of this **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
36 ** documentation and/or software. **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
37 **********************************************************************
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
38 */
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
39
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
40 /* typedef a 32 bit type */
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
41 typedef unsigned long int UINT4;
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
42
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
43 /* Data structure for MD5 (Message Digest) computation */
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
44 typedef struct {
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
45 UINT4 i[2]; /* number of _bits_ handled mod 2^64 */
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
46 UINT4 buf[4]; /* scratch buffer */
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
47 unsigned char in[64]; /* input buffer */
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
48 unsigned char digest[16]; /* actual digest after MD5Final call */
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
49 } MD5_CTX;
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
50
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
51 void MD5Init (MD5_CTX *mdContext);
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
52 void MD5Update (MD5_CTX *mdContext, unsigned char *inBuf, unsigned inLen);
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
53 void MD5Final (MD5_CTX *mdContext);
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
54
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
55 /*
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
56 **********************************************************************
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
57 ** End of md5.h **
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
58 ******************************* (cut) ********************************
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
59 */
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
60
d03d748a9b5f [svn r358] Forgot to add new files from DMD 1.033
lindquist
parents:
diff changeset
61