xref: /openbmc/linux/net/mac80211/wpa.h (revision 85250a24)
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 */
50