15a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner/*	$NetBSD: sha1.h,v 1.13 2005/12/26 18:41:36 perry Exp $	*/
25a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner
35a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner/*
45a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner * SHA-1 in C
55a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner * By Steve Reid <steve@edmweb.com>
65a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner * 100% Public Domain
75a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner */
85a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner
95a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#ifndef _SYS_SHA1_H_
105a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#define	_SYS_SHA1_H_
115a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner
125a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#include <sys/types.h>
135a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#include <stdint.h>
145a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner
155a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#ifdef USE_MINGW
165a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turnertypedef unsigned char u_char;
175a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turnertypedef unsigned int uint32_t;
185a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turnertypedef unsigned int u_int32_t;
195a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turnertypedef unsigned int u_int;
205a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner
215a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#define __BEGIN_DECLS
225a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#define __END_DECLS
235a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#else
245a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#include <sys/cdefs.h>
255a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#endif
265a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner
275a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#define SHA1_DIGEST_LENGTH		20
285a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#define SHA1_DIGEST_STRING_LENGTH	41
295a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner
305a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turnertypedef struct {
315a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner	uint32_t state[5];
325a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner	uint32_t count[2];
335a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner	u_char buffer[64];
345a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner} SHA1_CTX;
355a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner
365a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner__BEGIN_DECLS
375a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turnervoid	SHA1Transform(uint32_t[5], const u_char[64]);
385a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turnervoid	SHA1Init(SHA1_CTX *);
395a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turnervoid	SHA1Update(SHA1_CTX *, const u_char *, u_int);
405a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turnervoid	SHA1Final(u_char[SHA1_DIGEST_LENGTH], SHA1_CTX *);
415a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner__END_DECLS
425a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner
435a60dc51ef5c2b97db192244e79b12ad03ee885eDavid 'Digit' Turner#endif /* _SYS_SHA1_H_ */
44