linux/drivers/staging/rtl8723bs/include/rtw_security.h

/* SPDX-License-Identifier: GPL-2.0 */
/******************************************************************************
 *
 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
 *
 ******************************************************************************/
#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 {};

/* ===== start - public domain SHA256 implementation ===== */

/* This is based on SHA256 implementation in LibTomCrypt that was released into
 * public domain by Tom St Denis. */

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	/* __RTL871X_SECURITY_H_ */