summaryrefslogtreecommitdiff
path: root/pkgtools/libnbcompat/files/nbcompat/rmd160.h
blob: 5c3e9fe3472751652c54b35d3ab1e59f3c8837f1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*	$NetBSD: rmd160.h,v 1.4 2008/02/12 13:43:24 joerg Exp $	*/

/********************************************************************\
 *
 *      FILE:     rmd160.h
 *
 *      CONTENTS: Header file for a sample C-implementation of the
 *                RIPEMD-160 hash-function. 
 *      TARGET:   any computer with an ANSI C compiler
 *
 *      AUTHOR:   Antoon Bosselaers, ESAT-COSIC
 *      DATE:     1 March 1996
 *      VERSION:  1.0
 *
 *      Copyright (c) Katholieke Universiteit Leuven
 *      1996, All Rights Reserved
 *
\********************************************************************/

/*
 * from OpenBSD: rmd160.h,v 1.4 1999/08/16 09:59:04 millert Exp
 */

#ifndef _NBCOMPAT_RMD160_H_
#define _NBCOMPAT_RMD160_H_

#define RMD160_DIGEST_LENGTH		20
#define RMD160_DIGEST_STRING_LENGTH	41

typedef struct {
	u_int32_t	state[5];	/* state (ABCDE) */
	u_int32_t	length[2];	/* number of bits */
	unsigned char	bbuffer[64];    /* overflow buffer */
	u_int32_t	buflen;		/* number of chars in bbuffer */
} RMD160_CTX;

__BEGIN_DECLS
void	RMD160Init(RMD160_CTX *);
void	RMD160Transform(u_int32_t[5], const u_int32_t[16]);
void	RMD160Update(RMD160_CTX *, const unsigned char *, u_int32_t);
void	RMD160Final(unsigned char[20], RMD160_CTX *);
char	*RMD160End(RMD160_CTX *, char *);
char	*RMD160File(char *, char *);
char	*RMD160Data(const unsigned char *, size_t, char *);
__END_DECLS

#endif  /* !_NBCOMPAT_RMD160_H_ */