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