|
|
1.1 root 1: /*
2: * Copyright (c) 2001 Markus Friedl. All rights reserved.
3: *
4: * Redistribution and use in source and binary forms, with or without
5: * modification, are permitted provided that the following conditions
6: * are met:
7: * 1. Redistributions of source code must retain the above copyright
8: * notice, this list of conditions and the following disclaimer.
9: * 2. Redistributions in binary form must reproduce the above copyright
10: * notice, this list of conditions and the following disclaimer in the
11: * documentation and/or other materials provided with the distribution.
12: *
13: * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
15: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
16: * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
17: * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18: * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19: * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20: * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21: * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22: * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23: */
1.1.1.4 ! root 24:
! 25: /* Adapted by TrueCrypt Foundation */
! 26:
1.1 root 27: #ifndef _RMD160_H
28: #define _RMD160_H
29:
1.1.1.4 ! root 30: #if defined(__cplusplus)
! 31: extern "C"
! 32: {
! 33: #endif
! 34:
1.1 root 35: #ifndef u_int32_t
1.1.1.2 root 36: #define u_int32_t unsigned __int32
1.1 root 37: #define u_int64_t unsigned __int64
38: #define u_char unsigned char
39: #endif
40:
41: /* RMD160 context. */
42: typedef struct RMD160Context {
43: u_int32_t state[5]; /* state */
1.1.1.4 ! root 44: #ifndef TC_NO_COMPILER_INT64
1.1 root 45: u_int64_t count; /* number of bits, modulo 2^64 */
1.1.1.4 ! root 46: #else
! 47: u_int32_t count;
! 48: #endif
1.1 root 49: u_char buffer[64]; /* input buffer */
50: } RMD160_CTX;
51:
1.1.1.3 root 52: void RMD160Init(RMD160_CTX *);
53: void RMD160Transform(u_int32_t [5], const u_char [64]);
54: void RMD160Update(RMD160_CTX *, const u_char *, u_int32_t);
55: void RMD160Final(u_char [20], RMD160_CTX *);
1.1 root 56:
1.1.1.4 ! root 57: #if defined(__cplusplus)
! 58: }
! 59: #endif
! 60:
1.1 root 61: #endif /* _RMD160_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.