#ifndef __RTW_SECURITY_H_
#define __RTW_SECURITY_H_
#include <crypto/arc4.h>
#define _NO_PRIVACY_ …
#define _WEP40_ …
#define _TKIP_ …
#define _TKIP_WTMIC_ …
#define _AES_ …
#define _WEP104_ …
#define _WEP_WPA_MIXED_ …
#define _SMS4_ …
#define _BIP_ …
#define is_wep_enc(alg) …
const char *security_type_str(u8 value);
#define AES_BLOCK_SIZE …
#define AES_PRIV_SIZE …
enum { … };
#ifndef Ndis802_11AuthModeWPA2
#define Ndis802_11AuthModeWPA2 …
#endif
#ifndef Ndis802_11AuthModeWPA2PSK
#define Ndis802_11AuthModeWPA2PSK …
#endif
pn48;
Keytype;
struct rt_pmkid_list { … };
struct security_priv { … };
#define GET_ENCRY_ALGO(psecuritypriv, psta, encry_algo, bmcst) …
#define SET_ICE_IV_LEN(iv_len, icv_len, encrypt) …
#define GET_TKIP_PN(iv, dot11txpn) …
#define ROL32(A, n) …
#define ROR32(A, n) …
struct mic_data { … };
int omac1_aes_128(u8 *key, u8 *data, size_t data_len, u8 *mac);
void rtw_secmicsetkey(struct mic_data *pmicdata, u8 *key);
void rtw_secmicappendbyte(struct mic_data *pmicdata, u8 b);
void rtw_secmicappend(struct mic_data *pmicdata, u8 *src, u32 nBytes);
void rtw_secgetmic(struct mic_data *pmicdata, u8 *dst);
void rtw_seccalctkipmic(
u8 *key,
u8 *header,
u8 *data,
u32 data_len,
u8 *Miccode,
u8 priority);
u32 rtw_aes_encrypt(struct adapter *padapter, u8 *pxmitframe);
u32 rtw_tkip_encrypt(struct adapter *padapter, u8 *pxmitframe);
void rtw_wep_encrypt(struct adapter *padapter, u8 *pxmitframe);
u32 rtw_aes_decrypt(struct adapter *padapter, u8 *precvframe);
u32 rtw_tkip_decrypt(struct adapter *padapter, u8 *precvframe);
void rtw_wep_decrypt(struct adapter *padapter, u8 *precvframe);
u32 rtw_BIP_verify(struct adapter *padapter, u8 *precvframe);
void rtw_sec_restore_wep_key(struct adapter *adapter);
u8 rtw_handle_tkip_countermeasure(struct adapter *adapter, const char *caller);
#endif