GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: lib/libcrypto/evp/m_wp.c Lines: 4 4 100.0 %
Date: 2017-11-13 Branches: 0 0 0.0 %

Line Branch Exec Source
1
/* $OpenBSD: m_wp.c,v 1.8 2014/07/13 09:30:02 miod Exp $ */
2
3
#include <stdio.h>
4
5
#include <openssl/opensslconf.h>
6
7
#ifndef OPENSSL_NO_WHIRLPOOL
8
9
#include <openssl/evp.h>
10
#include <openssl/objects.h>
11
#include <openssl/x509.h>
12
#include <openssl/whrlpool.h>
13
14
static int
15
init(EVP_MD_CTX *ctx)
16
{
17
24
	return WHIRLPOOL_Init(ctx->md_data);
18
}
19
20
static int
21
update(EVP_MD_CTX *ctx, const void *data, size_t count)
22
{
23
28
	return WHIRLPOOL_Update(ctx->md_data, data, count);
24
}
25
26
static int
27
final(EVP_MD_CTX *ctx, unsigned char *md)
28
{
29
12
	return WHIRLPOOL_Final(md, ctx->md_data);
30
}
31
32
static const EVP_MD whirlpool_md = {
33
	.type = NID_whirlpool,
34
	.pkey_type = 0,
35
	.md_size = WHIRLPOOL_DIGEST_LENGTH,
36
	.flags = 0,
37
	.init = init,
38
	.update = update,
39
	.final = final,
40
	.copy = NULL,
41
	.cleanup = NULL,
42
	.sign = NULL,
43
	.verify = NULL,
44
	.required_pkey_type = {
45
		0, 0, 0, 0,
46
	},
47
	.block_size = WHIRLPOOL_BBLOCK / 8,
48
	.ctx_size = sizeof(EVP_MD *) + sizeof(WHIRLPOOL_CTX),
49
};
50
51
const EVP_MD *
52
EVP_whirlpool(void)
53
{
54
5350
	return (&whirlpool_md);
55
}
56
#endif