111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/*	$NetBSD: sha1.h,v 1.13 2005/12/26 18:41:36 perry Exp $	*/
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/*
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * SHA-1 in C
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * By Steve Reid <steve@edmweb.com>
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert * 100% Public Domain
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert */
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _SYS_SHA1_H_
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define	_SYS_SHA1_H_
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <sys/cdefs.h>
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <sys/types.h>
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SHA1_DIGEST_LENGTH		20
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SHA1_DIGEST_STRING_LENGTH	41
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Alberttypedef struct {
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert	uint32_t state[5];
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert	uint32_t count[2];
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert	u_char buffer[64];
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert} SHA1_CTX;
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert__BEGIN_DECLS
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid	SHA1Transform(uint32_t[5], const u_char[64]);
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid	SHA1Init(SHA1_CTX *);
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid	SHA1Update(SHA1_CTX *, const u_char *, u_int);
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albertvoid	SHA1Final(u_char[SHA1_DIGEST_LENGTH], SHA1_CTX *);
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert__END_DECLS
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif /* _SYS_SHA1_H_ */
32