1/* 2 * Based on the Mozilla SHA1 (see mozilla-sha1/sha1.h), 3 * optimized to do word accesses rather than byte accesses, 4 * and to avoid unnecessary copies into the context array. 5 */ 6 7typedefstruct{ 8unsigned int H[5]; 9unsigned int W[16]; 10unsigned long long size; 11} blk_SHA_CTX; 12 13voidblk_SHA1_Init(blk_SHA_CTX *ctx); 14voidblk_SHA1_Update(blk_SHA_CTX *ctx,const void*dataIn,unsigned long len); 15voidblk_SHA1_Final(unsigned char hashout[20], blk_SHA_CTX *ctx); 16 17#define git_SHA_CTX blk_SHA_CTX 18#define git_SHA1_Init blk_SHA1_Init 19#define git_SHA1_Update blk_SHA1_Update 20#define git_SHA1_Final blk_SHA1_Final