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
16ieee80211_tx_result
17ieee80211_tx_h_michael_mic_add(struct ieee80211_tx_data *tx);
18ieee80211_rx_result
19ieee80211_rx_h_michael_mic_verify(struct ieee80211_rx_data *rx);
20
21ieee80211_tx_result
22ieee80211_crypto_tkip_encrypt(struct ieee80211_tx_data *tx);
23ieee80211_rx_result
24ieee80211_crypto_tkip_decrypt(struct ieee80211_rx_data *rx);
25
26ieee80211_tx_result
27ieee80211_crypto_ccmp_encrypt(struct ieee80211_tx_data *tx,
28			      unsigned int mic_len);
29ieee80211_rx_result
30ieee80211_crypto_ccmp_decrypt(struct ieee80211_rx_data *rx,
31			      unsigned int mic_len);
32
33ieee80211_tx_result
34ieee80211_crypto_aes_cmac_encrypt(struct ieee80211_tx_data *tx);
35ieee80211_tx_result
36ieee80211_crypto_aes_cmac_256_encrypt(struct ieee80211_tx_data *tx);
37ieee80211_rx_result
38ieee80211_crypto_aes_cmac_decrypt(struct ieee80211_rx_data *rx);
39ieee80211_rx_result
40ieee80211_crypto_aes_cmac_256_decrypt(struct ieee80211_rx_data *rx);
41ieee80211_tx_result
42ieee80211_crypto_aes_gmac_encrypt(struct ieee80211_tx_data *tx);
43ieee80211_rx_result
44ieee80211_crypto_aes_gmac_decrypt(struct ieee80211_rx_data *rx);
45ieee80211_tx_result
46ieee80211_crypto_hw_encrypt(struct ieee80211_tx_data *tx);
47ieee80211_rx_result
48ieee80211_crypto_hw_decrypt(struct ieee80211_rx_data *rx);
49
50ieee80211_tx_result
51ieee80211_crypto_gcmp_encrypt(struct ieee80211_tx_data *tx);
52ieee80211_rx_result
53ieee80211_crypto_gcmp_decrypt(struct ieee80211_rx_data *rx);
54
55#endif /* WPA_H */
56