GNU Linux-libre 4.19.264-gnu1
[releases.git] / net / mac80211 / aead_api.h
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License version 2 as
4  * published by the Free Software Foundation.
5  */
6
7 #ifndef _AEAD_API_H
8 #define _AEAD_API_H
9
10 #include <crypto/aead.h>
11 #include <linux/crypto.h>
12
13 struct crypto_aead *
14 aead_key_setup_encrypt(const char *alg, const u8 key[],
15                        size_t key_len, size_t mic_len);
16
17 int aead_encrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad,
18                  size_t aad_len, u8 *data,
19                  size_t data_len, u8 *mic);
20
21 int aead_decrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad,
22                  size_t aad_len, u8 *data,
23                  size_t data_len, u8 *mic);
24
25 void aead_key_free(struct crypto_aead *tfm);
26
27 #endif /* _AEAD_API_H */