summaryrefslogtreecommitdiff
path: root/lib/accelerated/x86/sha-padlock.h
blob: f626f17e1b5365ed68db52b116c02d759231edb1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#ifndef GNUTLS_LIB_ACCELERATED_X86_SHA_PADLOCK_H
#define GNUTLS_LIB_ACCELERATED_X86_SHA_PADLOCK_H

#include <nettle/sha.h>

void padlock_sha1_oneshot(void *ctx, const void *inp, size_t len);
void padlock_sha256_oneshot(void *ctx, const void *inp, size_t len);

void padlock_sha1_blocks(unsigned int *ctx, const void *inp,
			 size_t blocks);
void padlock_sha256_blocks(unsigned int *ctx, const void *inp,
			   size_t blocks);
void padlock_sha512_blocks(unsigned int *ctx, const void *inp,
			   size_t blocks);

int wrap_padlock_hash_fast(gnutls_digest_algorithm_t algo,
			   const void *text, size_t text_size,
			   void *digest);

void padlock_sha1_update(struct sha1_ctx *ctx,
			 size_t length, const uint8_t * data);
void padlock_sha256_update(struct sha256_ctx *ctx,
			   size_t length, const uint8_t * data);
void padlock_sha512_update(struct sha512_ctx *ctx,
			   size_t length, const uint8_t * data);

extern const struct nettle_hash padlock_sha1;
extern const struct nettle_hash padlock_sha224;
extern const struct nettle_hash padlock_sha256;
extern const struct nettle_hash padlock_sha384;
extern const struct nettle_hash padlock_sha512;

extern const gnutls_crypto_mac_st _gnutls_hmac_sha_padlock_enhance;
extern const gnutls_crypto_digest_st _gnutls_sha_padlock_enhance;

#endif /* GNUTLS_LIB_ACCELERATED_X86_SHA_PADLOCK_H */