/** @file hostsa_def.h
|
*
|
* @brief This file contains data structrue for authenticator/supplicant.
|
*
|
* Copyright (C) 2014-2017, Marvell International Ltd.
|
*
|
* This software file (the "File") is distributed by Marvell International
|
* Ltd. under the terms of the GNU General Public License Version 2, June 1991
|
* (the "License"). You may use, redistribute and/or modify this File in
|
* accordance with the terms and conditions of the License, a copy of which
|
* is available by writing to the Free Software Foundation, Inc.,
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA or on the
|
* worldwide web at http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
*
|
* THE FILE IS DISTRIBUTED AS-IS, WITHOUT WARRANTY OF ANY KIND, AND THE
|
* IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
|
* ARE EXPRESSLY DISCLAIMED. The License provides additional details about
|
* this warranty disclaimer.
|
*/
|
|
/******************************************************
|
Change log:
|
03/07/2014: Initial version
|
******************************************************/
|
#ifndef _HOSTSA_DEF_H
|
#define _HOSTSA_DEF_H
|
/* subset of mlan_callbacks data structure */
|
/** hostsa_util_fns data structure */
|
typedef struct _hostsa_util_fns {
|
/** pmoal_handle */
|
t_void *pmoal_handle;
|
/** moal_malloc */
|
mlan_status (*moal_malloc) (IN t_void *pmoal_handle,
|
IN t_u32 size,
|
IN t_u32 flag, OUT t_u8 **ppbuf);
|
/** moal_mfree */
|
mlan_status (*moal_mfree) (IN t_void *pmoal_handle, IN t_u8 *pbuf);
|
/** moal_memset */
|
t_void *(*moal_memset) (IN t_void *pmoal_handle,
|
IN t_void *pmem, IN t_u8 byte, IN t_u32 num);
|
/** moal_memcpy */
|
t_void *(*moal_memcpy) (IN t_void *pmoal_handle,
|
IN t_void *pdest,
|
IN const t_void *psrc, IN t_u32 num);
|
/** moal_memmove */
|
t_void *(*moal_memmove) (IN t_void *pmoal_handle,
|
IN t_void *pdest,
|
IN const t_void *psrc, IN t_u32 num);
|
/** moal_memcmp */
|
t_s32 (*moal_memcmp) (IN t_void *pmoal_handle,
|
IN const t_void *pmem1,
|
IN const t_void *pmem2, IN t_u32 num);
|
/** moal_udelay */
|
t_void (*moal_udelay) (IN t_void *pmoal_handle, IN t_u32 udelay);
|
/** moal_get_system_time */
|
mlan_status (*moal_get_system_time) (IN t_void *pmoal_handle,
|
OUT t_u32 *psec, OUT t_u32 *pusec);
|
/** moal_init_timer*/
|
mlan_status (*moal_init_timer) (IN t_void *pmoal_handle,
|
OUT t_void **pptimer,
|
IN t_void (*callback) (t_void
|
*pcontext),
|
IN t_void *pcontext);
|
/** moal_free_timer */
|
mlan_status (*moal_free_timer) (IN t_void *pmoal_handle,
|
IN t_void *ptimer);
|
/** moal_start_timer*/
|
mlan_status (*moal_start_timer) (IN t_void *pmoal_handle,
|
IN t_void *ptimer,
|
IN t_u8 periodic, IN t_u32 msec);
|
/** moal_stop_timer*/
|
mlan_status (*moal_stop_timer) (IN t_void *pmoal_handle,
|
IN t_void *ptimer);
|
/** moal_init_lock */
|
mlan_status (*moal_init_lock) (IN t_void *pmoal_handle,
|
OUT t_void **pplock);
|
/** moal_free_lock */
|
mlan_status (*moal_free_lock) (IN t_void *pmoal_handle,
|
IN t_void *plock);
|
/** moal_spin_lock */
|
mlan_status (*moal_spin_lock) (IN t_void *pmoal_handle,
|
IN t_void *plock);
|
/** moal_spin_unlock */
|
mlan_status (*moal_spin_unlock) (IN t_void *pmoal_handle,
|
IN t_void *plock);
|
/** moal_print */
|
t_void (*moal_print) (IN t_void *pmoal_handle,
|
IN t_u32 level, IN char *pformat, IN ...
|
);
|
/** moal_print_netintf */
|
t_void (*moal_print_netintf) (IN t_void *pmoal_handle,
|
IN t_u32 bss_index, IN t_u32 level);
|
} hostsa_util_fns, *phostsa_util_fns;
|
/* Required functions from mlan */
|
/** hostsa_mlan_fns data structure */
|
typedef struct _hostsa_mlan_fns {
|
/** pmlan_private */
|
t_void *pmlan_private;
|
/** pmlan_adapter */
|
t_void *pmlan_adapter;
|
/** BSS index */
|
t_u8 bss_index;
|
/** BSS type */
|
t_u8 bss_type;
|
|
pmlan_buffer (*hostsa_alloc_mlan_buffer) (t_void *pmlan_adapter,
|
t_u32 data_len,
|
t_u32 head_room,
|
t_u32 malloc_flag);
|
void (*hostsa_tx_packet) (t_void *pmlan_private,
|
pmlan_buffer pmbuf, t_u16 frameLen);
|
void (*hostsa_set_encrypt_key) (t_void *pmlan_private,
|
mlan_ds_encrypt_key *encrypt_key);
|
void (*hostsa_clr_encrypt_key) (t_void *pmlan_private);
|
void (*hostsa_SendDeauth) (t_void *pmlan_private,
|
t_u8 *addr, t_u16 reason);
|
void (*Hostsa_DisAssocAllSta) (void *pmlan_private, t_u16 reason);
|
void (*hostsa_free_mlan_buffer) (t_void *pmlan_adapter,
|
mlan_buffer *pmbuf);
|
void (*Hostsa_get_station_entry) (t_void *pmlan_private,
|
t_u8 *mac, t_void **ppconPtr);
|
void (*Hostsa_set_mgmt_ie) (t_void *pmlan_private,
|
t_u8 *pbuf, t_u16 len, t_u8 clearIE);
|
void (*Hostsa_find_connection) (t_void *pmlan_private,
|
t_void **ppconPtr, t_void **ppsta_node);
|
void (*Hostsa_find_next_connection) (t_void *pmlan_private,
|
t_void **ppconPtr,
|
t_void **ppsta_node);
|
t_void (*Hostsa_StaControlledPortOpen) (t_void *pmlan_private);
|
void (*hostsa_StaSendDeauth) (t_void *pmlan_private,
|
t_u8 *addr, t_u16 reason);
|
t_u8 (*Hostsa_get_bss_role) (t_void *pmlan_private);
|
t_u8 (*Hostsa_get_intf_hr_len) (t_void *pmlan_private);
|
t_void (*Hostsa_sendEventRsnConnect) (t_void *pmlan_private,
|
t_u8 *addr);
|
} hostsa_mlan_fns, *phostsa_mlan_fns;
|
#endif
|