1 #ifndef _CRYPTO_BACKEND_H
2 #define _CRYPTO_BACKEND_H
4 #include "libcryptsetup.h"
10 int crypt_backend_init(void);
12 #define CRYPT_BACKEND_KERNEL (1 << 0) /* Crypto uses kernel part, for benchmark */
14 uint32_t crypt_backend_flags();
17 int crypt_hash_size(const char *name);
18 int crypt_hash_init(struct crypt_hash **ctx, const char *name);
19 int crypt_hash_restart(struct crypt_hash *ctx);
20 int crypt_hash_write(struct crypt_hash *ctx, const char *buffer, size_t length);
21 int crypt_hash_final(struct crypt_hash *ctx, char *buffer, size_t length);
22 int crypt_hash_destroy(struct crypt_hash *ctx);
25 int crypt_hmac_size(const char *name);
26 int crypt_hmac_init(struct crypt_hmac **ctx, const char *name,
27 const void *buffer, size_t length);
28 int crypt_hmac_restart(struct crypt_hmac *ctx);
29 int crypt_hmac_write(struct crypt_hmac *ctx, const char *buffer, size_t length);
30 int crypt_hmac_final(struct crypt_hmac *ctx, char *buffer, size_t length);
31 int crypt_hmac_destroy(struct crypt_hmac *ctx);
33 #endif /* _CRYPTO_BACKEND_H */