xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/mvl88w8977/mlan/esa/authenticator_api.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /** @file Authenticator_api.h
2  *
3  *  @brief This file delare the main APIs for authenticator.
4  *
5  * Copyright (C) 2014-2017, Marvell International Ltd.
6  *
7  * This software file (the "File") is distributed by Marvell International
8  * Ltd. under the terms of the GNU General Public License Version 2, June 1991
9  * (the "License").  You may use, redistribute and/or modify this File in
10  * accordance with the terms and conditions of the License, a copy of which
11  * is available by writing to the Free Software Foundation, Inc.,
12  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the
13  * worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
14  *
15  * THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
17  * ARE EXPRESSLY DISCLAIMED.  The License provides additional details about
18  * this warranty disclaimer.
19  */
20 
21 /******************************************************
22 Change log:
23     03/07/2014: Initial version
24 ******************************************************/
25 #ifndef _AUTHENTICATORAPI_H
26 #define _AUTHENTICATORAPI_H
27 
28 /******************************************************
29 Change log:
30     03/01/2014: Initial version
31 ******************************************************/
32 #ifdef DRV_EMBEDDED_AUTHENTICATOR
33 extern t_u8 IsAuthenticatorEnabled(void *priv);
34 extern void AuthenitcatorInitBssConfig(void *priv);
35 extern void AuthenticatorKeyMgmtInit(void *priv, t_u8 *addr);
36 extern void AuthenticatorkeyClear(void *priv);
37 extern void authenticator_init_client(void *priv, void **ppconnPtr, t_u8 *mac);
38 extern void authenticator_free_client(void *priv, void *ppconnPtr);
39 extern void authenticator_get_sta_security_info(void *priv,
40 						t_void *pconnPtr, t_u8 *pIe,
41 						t_u8 ieLen);
42 extern t_void AuthenticatorSendEapolPacket(t_void *priv, t_void *pconnPtr);
43 extern t_u8 AuthenticatorProcessEapolPacket(void *priv, t_u8 *pbuf, t_u32 len);
44 extern t_u8 AuthenticatorBssConfig(void *priv, t_u8 *pbss_config, t_u8 appendIE,
45 				   t_u8 clearIE, t_u8 SetConfigToMlan);
46 #endif
47 mlan_status supplicant_authenticator_init(t_void **pphostsa_priv,
48 					  t_void *psa_util_fns,
49 					  t_void *psa_mlan_fns, t_u8 *addr);
50 mlan_status supplicant_authenticator_free(t_void *phostsa_priv);
51 #ifdef DRV_EMBEDDED_SUPPLICANT
52 extern void supplicantClrEncryptKey(void *priv);
53 extern void *processRsnWpaInfo(void *priv, void *prsnwpa_ie);
54 extern void pmkCacheDeletePMK(void *priv, t_u8 *pBssid);
55 extern void supplicantInitSession(void *priv,
56 				  t_u8 *pSsid,
57 				  t_u16 len, t_u8 *pBssid, t_u8 *pStaAddr);
58 extern void supplicantStopSessionTimer(void *priv);
59 extern t_u8 supplicantIsEnabled(void *priv);
60 extern void supplicantQueryPassphraseAndEnable(void *priv, t_u8 *pbuf);
61 extern void supplicantDisable(void *priv);
62 extern t_u8 ProcessEAPoLPkt(void *priv, mlan_buffer *pmbuf);
63 extern t_u8 EAPoLKeyPkt_Validation(mlan_buffer *pmbuf);
64 extern void SupplicantClearPMK(void *priv, void *pPassphrase);
65 extern t_u16 SupplicantSetPassphrase(void *priv, void *pPassphraseBuf);
66 extern void SupplicantQueryPassphrase(void *priv, void *pPassphraseBuf);
67 extern t_u8 supplicantFormatRsnWpaTlv(void *priv, void *rsn_wpa_ie,
68 				      void *rsn_ie_tlv);
69 #endif
70 #endif	/**_AUTHENTICATORAPI_H*/
71