1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * Copyright 2002-2004, Instant802 Networks, Inc.
4  */
5 
6 #ifndef WPA_H
7 #define WPA_H
8 
9 #include <linux/skbuff.h>
10 #include <linux/types.h>
11 #include "ieee80211_i.h"
12 
13 ieee80211_tx_result
14 ieee80211_tx_h_michael_mic_add(struct ieee80211_tx_data *tx);
15 ieee80211_rx_result
16 ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx);
17 
18 ieee80211_tx_result
19 ieee80211_crypto_tkip_encrypt(struct ieee80211_tx_data *tx);
20 ieee80211_rx_result
21 ieee80211_crypto_tkip_decrypt(struct ieee80211_rx_data *rx);
22 
23 ieee80211_tx_result
24 ieee80211_crypto_ccmp_encrypt(struct ieee80211_tx_data *tx,
25 			      unsigned int mic_len);
26 ieee80211_rx_result
27 ieee80211_crypto_ccmp_decrypt(struct ieee80211_rx_data *rx,
28 			      unsigned int mic_len);
29 
30 ieee80211_tx_result
31 ieee80211_crypto_aes_cmac_encrypt(struct ieee80211_tx_data *tx);
32 ieee80211_tx_result
33 ieee80211_crypto_aes_cmac_256_encrypt(struct ieee80211_tx_data *tx);
34 ieee80211_rx_result
35 ieee80211_crypto_aes_cmac_decrypt(struct ieee80211_rx_data *rx);
36 ieee80211_rx_result
37 ieee80211_crypto_aes_cmac_256_decrypt(struct ieee80211_rx_data *rx);
38 ieee80211_tx_result
39 ieee80211_crypto_aes_gmac_encrypt(struct ieee80211_tx_data *tx);
40 ieee80211_rx_result
41 ieee80211_crypto_aes_gmac_decrypt(struct ieee80211_rx_data *rx);
42 ieee80211_tx_result
43 ieee80211_crypto_hw_encrypt(struct ieee80211_tx_data *tx);
44 ieee80211_rx_result
45 ieee80211_crypto_hw_decrypt(struct ieee80211_rx_data *rx);
46 
47 ieee80211_tx_result
48 ieee80211_crypto_gcmp_encrypt(struct ieee80211_tx_data *tx);
49 ieee80211_rx_result
50 ieee80211_crypto_gcmp_decrypt(struct ieee80211_rx_data *rx);
51 
52 #endif /* WPA_H */
53