18b77a77e785f0e25b13016ed60770e521dc60e0bLogan/*
28b77a77e785f0e25b13016ed60770e521dc60e0bLogan * See "sha1.c" for author info.
38b77a77e785f0e25b13016ed60770e521dc60e0bLogan */
48b77a77e785f0e25b13016ed60770e521dc60e0bLogan#ifndef _DALVIK_SHA1
58b77a77e785f0e25b13016ed60770e521dc60e0bLogan#define _DALVIK_SHA1
68b77a77e785f0e25b13016ed60770e521dc60e0bLogan
773775bb7859ad9a326de3508a579c553c4dec6ceJean-Luc Brouillet#include <stdint.h>
873775bb7859ad9a326de3508a579c553c4dec6ceJean-Luc Brouillet
98b77a77e785f0e25b13016ed60770e521dc60e0bLogantypedef struct {
1073775bb7859ad9a326de3508a579c553c4dec6ceJean-Luc Brouillet    uint32_t state[5];
1173775bb7859ad9a326de3508a579c553c4dec6ceJean-Luc Brouillet    uint32_t count[2];
1273775bb7859ad9a326de3508a579c553c4dec6ceJean-Luc Brouillet    uint8_t buffer[64];
138b77a77e785f0e25b13016ed60770e521dc60e0bLogan} SHA1_CTX;
148b77a77e785f0e25b13016ed60770e521dc60e0bLogan
158b77a77e785f0e25b13016ed60770e521dc60e0bLogan#define HASHSIZE 20
168b77a77e785f0e25b13016ed60770e521dc60e0bLogan
178b77a77e785f0e25b13016ed60770e521dc60e0bLogan#if defined(__cplusplus)
188b77a77e785f0e25b13016ed60770e521dc60e0bLoganextern "C" {
198b77a77e785f0e25b13016ed60770e521dc60e0bLogan#endif
208b77a77e785f0e25b13016ed60770e521dc60e0bLogan
218b77a77e785f0e25b13016ed60770e521dc60e0bLoganvoid SHA1Init(SHA1_CTX* context);
2273775bb7859ad9a326de3508a579c553c4dec6ceJean-Luc Brouilletvoid SHA1Update(SHA1_CTX* context, const uint8_t* data, uint32_t len);
2373775bb7859ad9a326de3508a579c553c4dec6ceJean-Luc Brouilletvoid SHA1Final(uint8_t digest[HASHSIZE], SHA1_CTX* context);
248b77a77e785f0e25b13016ed60770e521dc60e0bLogan
258b77a77e785f0e25b13016ed60770e521dc60e0bLogan#if defined(__cplusplus)
268b77a77e785f0e25b13016ed60770e521dc60e0bLogan}
278b77a77e785f0e25b13016ed60770e521dc60e0bLogan#endif
288b77a77e785f0e25b13016ed60770e521dc60e0bLogan
298b77a77e785f0e25b13016ed60770e521dc60e0bLogan#endif /*_DALVIK_SHA1*/
30