xref: /openbmc/linux/net/mac80211/wpa.h (revision bc5aa3a0)
1 /*
2  * Copyright 2002-2004, Instant802 Networks, 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 WPA_H
10 #define WPA_H
11 
12 #include <linux/skbuff.h>
13 #include <linux/types.h>
14 #include "ieee80211_i.h"
15 
16 ieee80211_tx_result
17 ieee80211_tx_h_michael_mic_add(struct ieee80211_tx_data *tx);
18 ieee80211_rx_result
19 ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx);
20 
21 ieee80211_tx_result
22 ieee80211_crypto_tkip_encrypt(struct ieee80211_tx_data *tx);
23 ieee80211_rx_result
24 ieee80211_crypto_tkip_decrypt(struct ieee80211_rx_data *rx);
25 
26 ieee80211_tx_result
27 ieee80211_crypto_ccmp_encrypt(struct ieee80211_tx_data *tx,
28 			      unsigned int mic_len);
29 ieee80211_rx_result
30 ieee80211_crypto_ccmp_decrypt(struct ieee80211_rx_data *rx,
31 			      unsigned int mic_len);
32 
33 ieee80211_tx_result
34 ieee80211_crypto_aes_cmac_encrypt(struct ieee80211_tx_data *tx);
35 ieee80211_tx_result
36 ieee80211_crypto_aes_cmac_256_encrypt(struct ieee80211_tx_data *tx);
37 ieee80211_rx_result
38 ieee80211_crypto_aes_cmac_decrypt(struct ieee80211_rx_data *rx);
39 ieee80211_rx_result
40 ieee80211_crypto_aes_cmac_256_decrypt(struct ieee80211_rx_data *rx);
41 ieee80211_tx_result
42 ieee80211_crypto_aes_gmac_encrypt(struct ieee80211_tx_data *tx);
43 ieee80211_rx_result
44 ieee80211_crypto_aes_gmac_decrypt(struct ieee80211_rx_data *rx);
45 ieee80211_tx_result
46 ieee80211_crypto_hw_encrypt(struct ieee80211_tx_data *tx);
47 ieee80211_rx_result
48 ieee80211_crypto_hw_decrypt(struct ieee80211_rx_data *rx);
49 
50 ieee80211_tx_result
51 ieee80211_crypto_gcmp_encrypt(struct ieee80211_tx_data *tx);
52 ieee80211_rx_result
53 ieee80211_crypto_gcmp_decrypt(struct ieee80211_rx_data *rx);
54 
55 #endif /* WPA_H */
56