GNU Linux-libre 4.14.266-gnu1
[releases.git] / net / mac80211 / aes_gcm.h
1 /*
2  * Copyright 2014-2015, Qualcomm Atheros, Inc.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8
9 #ifndef AES_GCM_H
10 #define AES_GCM_H
11
12 #include <linux/crypto.h>
13
14 #define GCM_AAD_LEN     32
15
16 int ieee80211_aes_gcm_encrypt(struct crypto_aead *tfm, u8 *j_0, u8 *aad,
17                               u8 *data, size_t data_len, u8 *mic);
18 int ieee80211_aes_gcm_decrypt(struct crypto_aead *tfm, u8 *j_0, u8 *aad,
19                               u8 *data, size_t data_len, u8 *mic);
20 struct crypto_aead *ieee80211_aes_gcm_key_setup_encrypt(const u8 key[],
21                                                         size_t key_len);
22 void ieee80211_aes_gcm_key_free(struct crypto_aead *tfm);
23
24 #endif /* AES_GCM_H */