pkgsrc/security/multigest/files/sha1.h
agc 9a4ef46d23 Initial import of multigest-20140304 into the Packages Collection.
The multigest utility calculates message digests of files or, if no
	file is specified, standard input.  The list of possible algorithms is
	given in the libmultigest(3) manual page.

	The multigest utility is a simple wrapper for the various
	different algorithm implementations, , and was designed to be
	scalable as new message digest algorithms are developed.
2014-03-05 05:09:44 +00:00

46 lines
978 B
C

/* $NetBSD: sha1.h,v 1.1.1.1 2014/03/05 05:09:44 agc Exp $ */
/*
* SHA-1 in C
* By Steve Reid <steve@edmweb.com>
* 100% Public Domain
*/
#ifndef _SYS_SHA1_H_
#define _SYS_SHA1_H_
#include <inttypes.h>
#include <stdint.h>
#include <unistd.h>
typedef struct {
uint32_t state[5];
uint32_t count[2];
uint8_t buffer[64];
} SHA1_CTX;
#ifndef __BEGIN_DECLS
# if defined(__cplusplus)
# define __BEGIN_DECLS extern "C" {
# define __END_DECLS }
# else
# define __BEGIN_DECLS
# define __END_DECLS
# endif
#endif
__BEGIN_DECLS
void SHA1Transform(uint32_t state[5], const uint8_t buffer[64]);
void SHA1Init(SHA1_CTX *context);
void SHA1Update(SHA1_CTX *context, const uint8_t *data, size_t len);
void SHA1Final(uint8_t digest[20], SHA1_CTX *context);
#ifndef _KERNEL
char *SHA1End(SHA1_CTX *, char *);
char *SHA1File(char *, char *);
char *SHA1Data(const uint8_t *, size_t, char *);
#endif /* _KERNEL */
__END_DECLS
#endif /* _SYS_SHA1_H_ */