diff options
Diffstat (limited to 'src/crypto/cipher/internal.h')
-rw-r--r-- | src/crypto/cipher/internal.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/crypto/cipher/internal.h b/src/crypto/cipher/internal.h index bc1e2de..605b8cb 100644 --- a/src/crypto/cipher/internal.h +++ b/src/crypto/cipher/internal.h @@ -59,7 +59,7 @@ #include <openssl/base.h> -#include <openssl/asn1t.h> +#include <openssl/aead.h> #if defined(__cplusplus) extern "C" { @@ -79,8 +79,13 @@ struct evp_aead_st { uint8_t overhead; uint8_t max_tag_len; + /* init initialises an |evp_aead_ctx_st|. If this call returns zero then + * |cleanup| will not be called for that context. */ int (*init)(struct evp_aead_ctx_st *, const uint8_t *key, size_t key_len, size_t tag_len); + int (*init_with_direction)(struct evp_aead_ctx_st *, const uint8_t *key, + size_t key_len, size_t tag_len, + enum evp_aead_direction_t dir); void (*cleanup)(struct evp_aead_ctx_st *); int (*seal)(const struct evp_aead_ctx_st *ctx, uint8_t *out, @@ -92,6 +97,9 @@ struct evp_aead_st { size_t *out_len, size_t max_out_len, const uint8_t *nonce, size_t nonce_len, const uint8_t *in, size_t in_len, const uint8_t *ad, size_t ad_len); + + int (*get_rc4_state)(const struct evp_aead_ctx_st *ctx, + const RC4_KEY **out_key); }; |