#include <sys/types.h>
void
SHA224_Init(SHA224_CTX *context);
void
SHA224_Update(SHA224_CTX *context, const uint8_t *data, size_t len);
void
SHA224_Pad(SHA224_CTX *context);
void
SHA224_Final(uint8_t digest[SHA224_DIGEST_LENGTH], SHA224_CTX *context);
void
SHA224_Transform(uint32_t state[8], const uint8_t buffer[SHA224_BLOCK_LENGTH]);
char *
SHA224_End(SHA224_CTX *context, char *buf);
char *
SHA224_File(const char *filename, char *buf);
char *
SHA224_FileChunk(const char *filename, char *buf, off_t offset, off_t length);
char *
SHA224_Data(uint8_t *data, size_t len, char *buf);
void
SHA256_Init(SHA256_CTX *context);
void
SHA256_Update(SHA256_CTX *context, const uint8_t *data, size_t len);
void
SHA256_Pad(SHA256_CTX *context);
void
SHA256_Final(uint8_t digest[SHA256_DIGEST_LENGTH], SHA256_CTX *context);
void
SHA256_Transform(uint32_t state[8], const uint8_t buffer[SHA256_BLOCK_LENGTH]);
char *
SHA256_End(SHA256_CTX *context, char *buf);
char *
SHA256_File(const char *filename, char *buf);
char *
SHA256_FileChunk(const char *filename, char *buf, off_t offset, off_t length);
char *
SHA256_Data(uint8_t *data, size_t len, char *buf);
void
SHA384_Init(SHA384_CTX *context);
void
SHA384_Update(SHA384_CTX *context, const uint8_t *data, size_t len);
void
SHA384_Pad(SHA384_CTX *context);
void
SHA384_Final(uint8_t digest[SHA384_DIGEST_LENGTH], SHA384_CTX *context);
void
SHA384_Transform(uint64_t state[8], const uint8_t buffer[SHA384_BLOCK_LENGTH]);
char *
SHA384_End(SHA384_CTX *context, char *buf);
char *
SHA384_File(char *filename, char *buf);
char *
SHA384_FileChunk(char *filename, char *buf, off_t offset, off_t length);
char *
SHA384_Data(uint8_t *data, size_t len, char *buf);
void
SHA512_Init(SHA512_CTX *context);
void
SHA512_Update(SHA512_CTX *context, const uint8_t *data, size_t len);
void
SHA512_Pad(SHA512_CTX *context);
void
SHA512_Final(uint8_t digest[SHA512_DIGEST_LENGTH], SHA512_CTX *context);
void
SHA512_Transform(uint64_t state[8], const uint8_t buffer[SHA512_BLOCK_LENGTH]);
char *
SHA512_End(SHA512_CTX *context, char *buf);
char *
SHA512_File(char *filename, char *buf);
char *
SHA512_FileChunk(char *filename, char *buf, off_t offset, off_t length);
char *
SHA512_Data(uint8_t *data, size_t len, char *buf);