Windows global stuff:
[krb5.git] / src / lib / crypto / md4 / rsa-md4.h
1 /*
2  * lib/crypto/md4/rsa-md4.h
3  *
4  * Copyright 1991 by the Massachusetts Institute of Technology.
5  * All Rights Reserved.
6  *
7  * Export of this software from the United States of America may
8  *   require a specific license from the United States Government.
9  *   It is the responsibility of any person or organization contemplating
10  *   export to obtain such a license before exporting.
11  * 
12  * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
13  * distribute this software and its documentation for any purpose and
14  * without fee is hereby granted, provided that the above copyright
15  * notice appear in all copies and that both that copyright notice and
16  * this permission notice appear in supporting documentation, and that
17  * the name of M.I.T. not be used in advertising or publicity pertaining
18  * to distribution of the software without specific, written prior
19  * permission.  M.I.T. makes no representations about the suitability of
20  * this software for any purpose.  It is provided "as is" without express
21  * or implied warranty.
22  * 
23  *
24  * RSA MD4 header file, with Kerberos/STDC additions.
25  */
26
27 #ifndef __KRB5_RSA_MD4_H__
28 #define __KRB5_RSA_MD4_H__
29
30 #ifdef unicos61
31 #include <sys/types.h>
32 #endif /* unicos61 */
33
34 /* 16 u_char's in the digest */
35 #define RSA_MD4_CKSUM_LENGTH    16
36 /* des blocksize is 8, so this works nicely... */
37 #define RSA_MD4_DES_CKSUM_LENGTH        16
38
39 extern krb5_checksum_entry
40     rsa_md4_cksumtable_entry,
41     rsa_md4_des_cksumtable_entry;
42
43 /*
44  **********************************************************************
45  ** md4.h -- Header file for implementation of MD4                   **
46  ** RSA Data Security, Inc. MD4 Message Digest Algorithm             **
47  ** Created: 2/17/90 RLR                                             **
48  ** Revised: 12/27/90 SRD,AJ,BSK,JT Reference C version              **
49  **********************************************************************
50  */
51
52 /*
53  **********************************************************************
54  ** Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. **
55  **                                                                  **
56  ** License to copy and use this software is granted provided that   **
57  ** it is identified as the "RSA Data Security, Inc. MD4 Message     **
58  ** Digest Algorithm" in all material mentioning or referencing this **
59  ** software or this function.                                       **
60  **                                                                  **
61  ** License is also granted to make and use derivative works         **
62  ** provided that such works are identified as "derived from the RSA **
63  ** Data Security, Inc. MD4 Message Digest Algorithm" in all         **
64  ** material mentioning or referencing the derived work.             **
65  **                                                                  **
66  ** RSA Data Security, Inc. makes no representations concerning      **
67  ** either the merchantability of this software or the suitability   **
68  ** of this software for any particular purpose.  It is provided "as **
69  ** is" without express or implied warranty of any kind.             **
70  **                                                                  **
71  ** These notices must be retained in any copies of any part of this **
72  ** documentation and/or software.                                   **
73  **********************************************************************
74  */
75
76 #include <k5-config.h>
77 #include <wordsize.h>
78
79 /* Data structure for MD4 (Message Digest) computation */
80 typedef struct {
81   krb5_ui_4 i[2];                       /* number of _bits_ handled mod 2^64 */
82   krb5_ui_4 buf[4];                     /* scratch buffer */
83   unsigned char in[64];                 /* input buffer */
84   unsigned char digest[16];             /* actual digest after MD4Final call */
85 } MD4_CTX;
86
87 #if defined(__STDC__) || defined(_WINDOWS)
88 extern void MD4Init(MD4_CTX FAR *);
89 extern void MD4Update(MD4_CTX FAR *, unsigned char FAR *, unsigned int);
90 extern void MD4Final(MD4_CTX FAR *);
91 #else
92 void MD4Init ();
93 void MD4Update ();
94 void MD4Final ();
95 #endif
96
97 /*
98  **********************************************************************
99  ** End of md4.h                                                     **
100  ******************************* (cut) ********************************
101  */
102 #endif /* __KRB5_RSA_MD4_H__ */