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