#ifndef __internal_Hacl_Hash_SHA2_H
#define __internal_Hacl_Hash_SHA2_H
#if defined(__cplusplus)
extern "C" {
#endif
#include <string.h>
#include "krml/types.h"
#include "krml/lowstar_endianness.h"
#include "krml/internal/target.h"
#include "../Hacl_Hash_SHA2.h"
static const
uint32_t
Hacl_Hash_SHA2_h224[8U] = …;
static const
uint32_t
Hacl_Hash_SHA2_h256[8U] = …;
static const
uint64_t
Hacl_Hash_SHA2_h384[8U] = …;
static const
uint64_t
Hacl_Hash_SHA2_h512[8U] = …;
static const
uint32_t
Hacl_Hash_SHA2_k224_256[64U] = …;
static const
uint64_t
Hacl_Hash_SHA2_k384_512[80U] = …;
void Hacl_Hash_SHA2_sha256_init(uint32_t *hash);
void Hacl_Hash_SHA2_sha256_update_nblocks(uint32_t len, uint8_t *b, uint32_t *st);
void
Hacl_Hash_SHA2_sha256_update_last(uint64_t totlen, uint32_t len, uint8_t *b, uint32_t *hash);
void Hacl_Hash_SHA2_sha256_finish(uint32_t *st, uint8_t *h);
void Hacl_Hash_SHA2_sha224_init(uint32_t *hash);
void Hacl_Hash_SHA2_sha224_update_nblocks(uint32_t len, uint8_t *b, uint32_t *st);
void
Hacl_Hash_SHA2_sha224_update_last(uint64_t totlen, uint32_t len, uint8_t *b, uint32_t *st);
void Hacl_Hash_SHA2_sha224_finish(uint32_t *st, uint8_t *h);
void Hacl_Hash_SHA2_sha512_init(uint64_t *hash);
void Hacl_Hash_SHA2_sha512_update_nblocks(uint32_t len, uint8_t *b, uint64_t *st);
void
Hacl_Hash_SHA2_sha512_update_last(
FStar_UInt128_uint128 totlen,
uint32_t len,
uint8_t *b,
uint64_t *hash
);
void Hacl_Hash_SHA2_sha512_finish(uint64_t *st, uint8_t *h);
void Hacl_Hash_SHA2_sha384_init(uint64_t *hash);
void Hacl_Hash_SHA2_sha384_update_nblocks(uint32_t len, uint8_t *b, uint64_t *st);
void
Hacl_Hash_SHA2_sha384_update_last(
FStar_UInt128_uint128 totlen,
uint32_t len,
uint8_t *b,
uint64_t *st
);
void Hacl_Hash_SHA2_sha384_finish(uint64_t *st, uint8_t *h);
#if defined(__cplusplus)
}
#endif
#define __internal_Hacl_Hash_SHA2_H_DEFINED
#endif