sha1.h revision ec0a2e83dc66d67addeb90e83144187691852a3e
1ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross/*	$NetBSD: sha1.h,v 1.13 2005/12/26 18:41:36 perry Exp $	*/
2ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross
3ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross/*
4ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * SHA-1 in C
5ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * By Steve Reid <steve@edmweb.com>
6ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross * 100% Public Domain
7ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross */
8ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross
9ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#ifndef _SYS_SHA1_H_
10ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#define	_SYS_SHA1_H_
11ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross
12ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#include <sys/cdefs.h>
13ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#include <sys/types.h>
14ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#include <stdint.h>
15ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross
16ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#define SHA1_DIGEST_LENGTH		20
17ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#define SHA1_DIGEST_STRING_LENGTH	41
18ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross
19ec0a2e83dc66d67addeb90e83144187691852a3eColin Crosstypedef struct {
20ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross	uint32_t state[5];
21ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross	uint32_t count[2];
22ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross	u_char buffer[64];
23ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross} SHA1_CTX;
24ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross
25ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross__BEGIN_DECLS
26ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossvoid	SHA1Transform(uint32_t[5], const u_char[64]);
27ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossvoid	SHA1Init(SHA1_CTX *);
28ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossvoid	SHA1Update(SHA1_CTX *, const u_char *, u_int);
29ec0a2e83dc66d67addeb90e83144187691852a3eColin Crossvoid	SHA1Final(u_char[SHA1_DIGEST_LENGTH], SHA1_CTX *);
30ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross__END_DECLS
31ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross
32ec0a2e83dc66d67addeb90e83144187691852a3eColin Cross#endif /* _SYS_SHA1_H_ */
33