SHA384_CTX
SHA384_Init(SHA384_CTX *context)
SHA384_Update(SHA384_CTX *context, const uint8_t *data, size_t len)
SHA384_Final(uint8_t digest[SHA384_DIGEST_LENGTH], SHA384_CTX *context)
SHA384_CTX *c = racoon_malloc(sizeof(*c));
SHA384_Update((SHA384_CTX *)c, (unsigned char *) data->v, data->l);
SHA384_Final((unsigned char *) res->v, (SHA384_CTX *)c);
void SHA384_Final(sha2_byte digest[], SHA384_CTX* context) {
assert(context != (SHA384_CTX*)0);
char *SHA384_End(SHA384_CTX* context, char buffer[]) {
assert(context != (SHA384_CTX*)0);
SHA384_CTX context;
#define data(ctx) ((SHA384_CTX *)(ctx)->md_data)
sizeof(struct env_md_st *) + sizeof(SHA384_CTX),
void SHA384_Init(SHA384_CTX* context) {
if (context == (SHA384_CTX*)0) {
void SHA384_Update(SHA384_CTX* context, const sha2_byte* data, size_t len) {
void SHA384_Init __P((SHA384_CTX*));
void SHA384_Update __P((SHA384_CTX*, const u_int8_t*, size_t));
void SHA384_Final __P((u_int8_t[SHA384_DIGEST_LENGTH], SHA384_CTX*));
char* SHA384_End __P((SHA384_CTX*, char[SHA384_DIGEST_STRING_LENGTH]));
"sha384", sizeof(SHA384_CTX), SHA384_DIGEST_LENGTH,
offsetof(SHA384_CTX, state),
FPOPS_ADD("SHA384", SHA384_DIGEST_LENGTH, sizeof(SHA384_CTX),
SHA384_CTX sha384ctx;
&auth_hash_hmac_sha2_384, sizeof(SHA384_CTX),
int SHA384_Update(SHA384_CTX*, const uint8_t*, size_t);
int SHA384_Final(uint8_t[SHA384_DIGEST_LENGTH], SHA384_CTX*);
char *SHA384_End(SHA384_CTX *, char[SHA384_DIGEST_STRING_LENGTH]);
void SHA384_Transform(SHA384_CTX *, const uint64_t*);
int SHA384_Init(SHA384_CTX*);
SHA384_CTX ctx;
#define MD5_CTX SHA384_CTX
SHA384_CTX ctxSHA384;