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