blob: f09d33b6db489ee05554af568561bb266e22ea96 [file] [log] [blame]
/** @file mlanscanagent.h
*
* @brief This files contains mlanutl scanagent command handling.
*
* Copyright (C) 2008-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:
08/11/2009: initial version
************************************************************************/
#ifndef _MLAN_SCANAGENT_H_
#define _MLAN_SCANAGENT_H_
typedef struct {
/** Action GET or SET */
t_u16 action;
/** scan interval */
t_u16 scan_interval;
} __ATTRIB_PACK__ HostCmd_DS_SCANAGENT_CONFIG_PROFILE_SCAN;
typedef struct {
t_u32 scan_req_id_out;
/**< Scan request id */
t_u32 delay; /**< Delay */
t_u32 chan_group; /**< Channel Group */
t_u16 scan_type; /**< Scan type */
t_u16 reserved; /**< Reserved */
t_u8 tlv_buffer[1]; /**< Rest is TLV buffer */
/* MrvlIEtypes_SsIdParamSet_t
* MrvlIEtypes_Bssid_List_t
* MrvlIEtypes_ConfigScanTiming_t
*/
} __ATTRIB_PACK__ HostCmd_DS_SCANAGENT_SCAN_EXEC;
typedef struct {
/** Action Set or get */
t_u16 action;
/** Reserved */
t_u16 reserved;
/** Table age limit */
t_u16 table_age_limit;
/** Table hold limit */
t_u16 table_hold_limit;
} __ATTRIB_PACK__ HostCmd_DS_SCANAGENT_SCAN_TABLE_LIMITS;
typedef struct {
/** Action Set or get */
t_u16 action;
/** TLV buffer starts here */
t_u8 tlv_buffer[1];
/* MrvlIEtypes_ConfigScanTiming_t */
} __ATTRIB_PACK__ HostCmd_DS_SCANAGENT_CONFIG_TIMING;
typedef struct {
/** HostCmd_DS_ScanagentTableMaintenance_e action */
t_u16 action;
/** Reserved */
t_u16 reserved;
/** Request Id, 0 to disable */
t_u32 scan_request_id;
/** Age, 0 to disable */
t_u32 age;
/** TLV Buffer follows */
t_u8 tlv_buffer[1];
/* MrvlIEtypes_SsIdParamSet_t
* MrvlIEtypes_Bssid_List_t
*/
} __ATTRIB_PACK__ HostCmd_DS_SCANAGENT_TABLE_MAINTENANCE;
/** ENUM definition: Scanagent Table Maintenance */
typedef enum {
SCAN_TABLE_OP_INVALID = 0,
SCAN_TABLE_OP_LOCK = 1,
SCAN_TABLE_OP_UNLOCK = 2,
SCAN_TABLE_OP_PURGE = 3,
} __ATTRIB_PACK__ HostCmd_DS_ScanagentTableMaintenance_e;
/** MrvlIEtypes_SsIdParamSet_t */
typedef struct _MrvlIEtypes_SsIdParamSet_t {
/** Header */
MrvlIEtypesHeader_t header;
/** SSID */
t_u8 ssid[1];
} __ATTRIB_PACK__ MrvlIEtypes_SsIdParamSet_t;
/** _MrvlIEtypes_Bssid_List_t */
typedef struct _MrvlIEtypes_Bssid_List_t {
/** Header */
MrvlIEtypesHeader_t header;
/** BSSID */
t_u8 bssid[ETH_ALEN];
} __ATTRIB_PACK__ MrvlIEtypes_Bssid_List_t;
typedef struct {
/** Header */
MrvlIEtypesHeader_t header;
t_u32 mode; /**< Mode */
t_u32 dwell; /**< Dwell */
t_u32 max_off; /**< Max. off */
t_u32 min_link;/**< Minimum Link */
t_u32 rsp_timeout;
/**< Rsp Timeout */
} __ATTRIB_PACK__ MrvlIEtypes_ConfigScanTiming_t;
/** ENUM definition: ScanAgentScanType */
typedef enum {
CONFIG_SITE_SURVEY = 0,
CONFIG_NEIGHBOR = 1,
CONFIG_PROFILE = 2,
CONFIG_ARBITRARY_CHANNEL = 3,
} __ATTRIB_PACK__ HostCmd_DS_ScanagentScanType_e;
/** ENUM definition: ScanAgentScanTimingMode */
typedef enum {
TIMING_MODE_INVALID = 0,
TIMING_MODE_DISCONNECTED = 1,
TIMING_MODE_ADHOC = 2,
TIMING_MODE_FULL_POWER = 3,
TIMING_MODE_IEEE_PS = 4,
TIMING_MODE_PERIODIC_PS = 5,
} __ATTRIB_PACK__HostCmd_DS_ScanagentTimingMode_e;
int process_host_cmd_resp(char *cmd_name, t_u8 *buf);
#endif /* _MLAN_SCANAGENT_H_ */