Merge tag 'media/v5.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab...
[linux-2.6-microblaze.git] / net / mac80211 / wpa.h
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright 2002-2004, Instant802 Networks, Inc.
4  * Copyright (C) 2022 Intel Corporation
5  */
6
7 #ifndef WPA_H
8 #define WPA_H
9
10 #include <linux/skbuff.h>
11 #include <linux/types.h>
12 #include "ieee80211_i.h"
13
14 ieee80211_tx_result
15 ieee80211_tx_h_michael_mic_add(struct ieee80211_tx_data *tx);
16 ieee80211_rx_result
17 ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx);
18
19 ieee80211_tx_result
20 ieee80211_crypto_tkip_encrypt(struct ieee80211_tx_data *tx);
21 ieee80211_rx_result
22 ieee80211_crypto_tkip_decrypt(struct ieee80211_rx_data *rx);
23
24 ieee80211_tx_result
25 ieee80211_crypto_ccmp_encrypt(struct ieee80211_tx_data *tx,
26                               unsigned int mic_len);
27 ieee80211_rx_result
28 ieee80211_crypto_ccmp_decrypt(struct ieee80211_rx_data *rx,
29                               unsigned int mic_len);
30
31 ieee80211_tx_result
32 ieee80211_crypto_aes_cmac_encrypt(struct ieee80211_tx_data *tx);
33 ieee80211_tx_result
34 ieee80211_crypto_aes_cmac_256_encrypt(struct ieee80211_tx_data *tx);
35 ieee80211_rx_result
36 ieee80211_crypto_aes_cmac_decrypt(struct ieee80211_rx_data *rx);
37 ieee80211_rx_result
38 ieee80211_crypto_aes_cmac_256_decrypt(struct ieee80211_rx_data *rx);
39 ieee80211_tx_result
40 ieee80211_crypto_aes_gmac_encrypt(struct ieee80211_tx_data *tx);
41 ieee80211_rx_result
42 ieee80211_crypto_aes_gmac_decrypt(struct ieee80211_rx_data *rx);
43
44 ieee80211_tx_result
45 ieee80211_crypto_gcmp_encrypt(struct ieee80211_tx_data *tx);
46 ieee80211_rx_result
47 ieee80211_crypto_gcmp_decrypt(struct ieee80211_rx_data *rx);
48
49 #endif /* WPA_H */