blob: af3272284e852c23e64c78d534ac09ac5befa821 [file] [log] [blame]
Thomas Gleixnerd2912cb2019-06-04 10:11:33 +02001/* SPDX-License-Identifier: GPL-2.0-only */
Jiri Bencf0706e82007-05-05 11:45:53 -07002/*
3 * Copyright 2002-2004, Instant802 Networks, Inc.
Jiri Bencf0706e82007-05-05 11:45:53 -07004 */
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
Johannes Berg9ae54c82008-01-31 19:48:20 +010013ieee80211_tx_result
Johannes Berg5cf121c2008-02-25 16:27:43 +010014ieee80211_tx_h_michael_mic_add(struct ieee80211_tx_data *tx);
Johannes Berg9ae54c82008-01-31 19:48:20 +010015ieee80211_rx_result
Johannes Berg5cf121c2008-02-25 16:27:43 +010016ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx);
Jiri Bencf0706e82007-05-05 11:45:53 -070017
Johannes Berg9ae54c82008-01-31 19:48:20 +010018ieee80211_tx_result
Johannes Berg5cf121c2008-02-25 16:27:43 +010019ieee80211_crypto_tkip_encrypt(struct ieee80211_tx_data *tx);
Johannes Berg9ae54c82008-01-31 19:48:20 +010020ieee80211_rx_result
Johannes Berg5cf121c2008-02-25 16:27:43 +010021ieee80211_crypto_tkip_decrypt(struct ieee80211_rx_data *rx);
Jiri Bencf0706e82007-05-05 11:45:53 -070022
Johannes Berg9ae54c82008-01-31 19:48:20 +010023ieee80211_tx_result
Jouni Malinen2b2ba0d2015-01-24 19:52:07 +020024ieee80211_crypto_ccmp_encrypt(struct ieee80211_tx_data *tx,
25 unsigned int mic_len);
Johannes Berg9ae54c82008-01-31 19:48:20 +010026ieee80211_rx_result
Jouni Malinen2b2ba0d2015-01-24 19:52:07 +020027ieee80211_crypto_ccmp_decrypt(struct ieee80211_rx_data *rx,
28 unsigned int mic_len);
Jiri Bencf0706e82007-05-05 11:45:53 -070029
Jouni Malinen765cb462009-01-08 13:32:01 +020030ieee80211_tx_result
31ieee80211_crypto_aes_cmac_encrypt(struct ieee80211_tx_data *tx);
Jouni Malinen56c52da2015-01-24 19:52:08 +020032ieee80211_tx_result
33ieee80211_crypto_aes_cmac_256_encrypt(struct ieee80211_tx_data *tx);
Jouni Malinen765cb462009-01-08 13:32:01 +020034ieee80211_rx_result
35ieee80211_crypto_aes_cmac_decrypt(struct ieee80211_rx_data *rx);
Jouni Malinen56c52da2015-01-24 19:52:08 +020036ieee80211_rx_result
37ieee80211_crypto_aes_cmac_256_decrypt(struct ieee80211_rx_data *rx);
Yoni Divinskyd32a1022012-01-16 15:18:59 +020038ieee80211_tx_result
Jouni Malinen8ade5382015-01-24 19:52:09 +020039ieee80211_crypto_aes_gmac_encrypt(struct ieee80211_tx_data *tx);
40ieee80211_rx_result
41ieee80211_crypto_aes_gmac_decrypt(struct ieee80211_rx_data *rx);
42ieee80211_tx_result
Yoni Divinskyd32a1022012-01-16 15:18:59 +020043ieee80211_crypto_hw_encrypt(struct ieee80211_tx_data *tx);
Max Stepanov2475b1cc2013-03-24 14:23:27 +020044ieee80211_rx_result
45ieee80211_crypto_hw_decrypt(struct ieee80211_rx_data *rx);
Jouni Malinen765cb462009-01-08 13:32:01 +020046
Jouni Malinen00b9cfa2015-01-24 19:52:06 +020047ieee80211_tx_result
48ieee80211_crypto_gcmp_encrypt(struct ieee80211_tx_data *tx);
49ieee80211_rx_result
50ieee80211_crypto_gcmp_decrypt(struct ieee80211_rx_data *rx);
51
Jiri Bencf0706e82007-05-05 11:45:53 -070052#endif /* WPA_H */