1#ifndef _SHA256_H 2#define _SHA256_H 3 4#define SHA256_SUM_LEN 32 5#define SHA256_DER_LEN 19 6 7extern const uint8_t sha256_der_prefix[]; 8 9/* Reset watchdog each time we process this many bytes */ 10#define CHUNKSZ_SHA256 (64 * 1024) 11 12typedef struct { 13 uint32_t total[2]; 14 uint32_t state[8]; 15 uint8_t buffer[64]; 16} sha256_context; 17 18void sha256_starts(sha256_context * ctx); 19void sha256_update(sha256_context *ctx, const uint8_t *input, uint32_t length); 20void sha256_finish(sha256_context * ctx, uint8_t digest[SHA256_SUM_LEN]); 21 22void sha256_csum_wd(const unsigned char *input, unsigned int ilen, 23 unsigned char *output, unsigned int chunk_sz); 24 25#endif /* _SHA256_H */ 26