WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
载入中...
搜索中...
未找到
hmac_chan_mgmt.h
浏览该文件的文档.
1/*
2 * Copyright (c) HiSilicon (Shanghai) Technologies Co., Ltd. Co., Ltd. 2014-2024. All rights reserved.
3 * 文 件 名 : hmac_chan_mgmt_ap.h
4 * 生成日期 : 2014年2月22日
5 * 功能描述 : hmac_chan_mgmt.c 的头文件
6 */
7
8#ifndef __HMAC_CHAN_MGMT_H__
9#define __HMAC_CHAN_MGMT_H__
10
11/*****************************************************************************
12 1 其他头文件包含
13*****************************************************************************/
14#include "hmac_vap.h"
15#include "mac_regdomain.h"
16#ifdef _PRE_WLAN_FEATURE_DFS
17#include "hmac_dfs.h"
18#endif
19#include "frw_hmac.h"
20
21#ifdef __cplusplus
22#if __cplusplus
23extern "C" {
24#endif
25#endif
26
27#undef THIS_FILE_ID
28#define THIS_FILE_ID OAM_FILE_ID_HMAC_CHAN_MGMT_H
29/*****************************************************************************
30 2 宏定义
31*****************************************************************************/
32#define HMAC_CHANNEL_SWITCH_COUNT 10
33#define HMAC_CHANNEL_NEED_CHECK_CH12 12
34#define HMAC_CHANNEL_NEED_CHECK_CH13 13
35#define HMAC_BW_40M_MAX_CHAN_IDX_CH12_DISALLOWED 7
36#define HMAC_BW_40M_MAX_CHAN_IDX_CH12_ALLOWED 9
37#define HMAC_BW_40M_MIN_CHAN_IDX 5
38
39/*****************************************************************************
40 3 枚举定义
41*****************************************************************************/
42
43typedef enum {
44 MAC_CHNL_AV_CHK_NOT_REQ = 0, /* 不需要进行信道扫描 */
45 MAC_CHNL_AV_CHK_IN_PROG = 1, /* 正在进行信道扫描 */
46 MAC_CHNL_AV_CHK_COMPLETE = 2, /* 信道扫描已完成 */
47
51
52
53/*****************************************************************************
54 4 全局变量声明
55*****************************************************************************/
56
57
58/*****************************************************************************
59 5 消息头定义
60*****************************************************************************/
61
62
63/*****************************************************************************
64 6 消息定义
65*****************************************************************************/
66
67
68/*****************************************************************************
69 7 STRUCT定义
70*****************************************************************************/
71typedef struct {
72 osal_u8 idx; /* 信道索引号 */
73 osal_u16 freq; /* 信道频点 */
76
77/* 频率信道索引映射关系 */
78
79/*****************************************************************************
80 4 全局变量声明
81*****************************************************************************/
82
83/*****************************************************************************
84 8 UNION定义
85*****************************************************************************/
86
87
88/*****************************************************************************
89 9 OTHERS定义
90*****************************************************************************/
91
92
93/*****************************************************************************
94 10 函数声明
95*****************************************************************************/
99 osal_u8 dst_chan_num);
107 const mac_channel_stru *channel);
109 osal_bool clear_fifo);
110
111#if defined(_PRE_OS_VERSION_LITEOS) && defined(_PRE_OS_VERSION) \
112 && (_PRE_OS_VERSION_LITEOS == _PRE_OS_VERSION)
113mac_freq_channel_map_stru get_ast_freq_map_2g_elem(td_u32 index);
114#endif
122 wlan_channel_bandwidth_enum_uint8 en_bandwidth, oal_bool_enum_uint8 switch_immediately);
123#ifdef _PRE_WLAN_FEATURE_DBAC
124extern osal_s32 hmac_dbac_status_notify_etc(hmac_vap_stru *hmac_vap, frw_msg *msg);
125#endif
127 wlan_protocol_enum_uint8 protocol);
128#if defined(_PRE_PRODUCT_ID_HOST)
129extern osal_u32 hmac_check_ap_channel_follow_sta(const hmac_vap_stru *check_mac_vap,
130 mac_channel_stru *set_mac_ch);
131#endif
132
133/*****************************************************************************
134 11 inline函数定义
135*****************************************************************************/
136/*****************************************************************************
137 函 数 名 : hmac_chan_scan_availability
138 输出参数 : 无
139 备注:该函数仅02使用,03使用时需要将mac_dfs_get_dfs_enable替换为mac_vap_get_dfs_enable
140*****************************************************************************/
142 hmac_device_stru *hmac_device,
143 mac_ap_ch_info_stru *channel_info)
144{
145#ifdef _PRE_WLAN_FEATURE_DFS
146 if (OAL_FALSE == mac_dfs_get_dfs_enable(hmac_device)) {
147 return OAL_TRUE;
148 }
149
150 if ((MAC_CHAN_NOT_SUPPORT != channel_info->ch_status) &&
151 (MAC_CHAN_BLOCK_DUE_TO_RADAR != channel_info->ch_status)) {
152 return OAL_TRUE;
153 } else {
154 return OAL_FALSE;
155 }
156#else
157 unref_param(hmac_device);
158 unref_param(channel_info);
159 return OAL_TRUE;
160#endif
161}
162
163/*****************************************************************************
164 函 数 名 : hmac_chan_get_bw_40m_max_chan_idx
165*****************************************************************************/
175
176#ifdef __cplusplus
177#if __cplusplus
178}
179#endif
180#endif
181
182#endif /* end of hmac_chan_mgmt.h */
@ OAL_SUCC
Definition common_error_code_rom.h:18
#define unref_param(P)
Definition dmac_misc_type.h:33
#define OAL_INLINE
Definition driver_soc_common.h:47
osal_u32 hmac_chan_restart_network_after_switch_etc(hmac_vap_stru *hmac_vap)
osal_void hmac_chan_select_channel_mac(hmac_vap_stru *hmac_vap, osal_u8 channel, wlan_channel_bandwidth_enum_uint8 bandwidth)
osal_u32 hmac_start_bss_in_available_channel_etc(hmac_vap_stru *hmac_vap)
#define HMAC_CHANNEL_NEED_CHECK_CH13
Definition hmac_chan_mgmt.h:34
osal_void hmac_chan_dfs_update_alg_anti_intf_switch(const hal_to_dmac_device_stru *hal_device, const mac_channel_stru *channel)
OAL_STATIC OAL_INLINE osal_u8 hmac_chan_get_bw_40m_max_chan_idx(void)
Definition hmac_chan_mgmt.h:166
osal_u32 hmac_chan_start_bss_etc(hmac_vap_stru *hmac_vap, mac_channel_stru *channel, wlan_protocol_enum_uint8 protocol)
osal_void hmac_chan_sync_etc(hmac_vap_stru *hmac_vap, osal_u8 channel, wlan_channel_bandwidth_enum_uint8 en_bandwidth, oal_bool_enum_uint8 switch_immediately)
osal_void hmac_chan_select_real_channel(const hmac_device_stru *hmac_device, mac_channel_stru *channel, osal_u8 dst_chan_num)
#define HMAC_BW_40M_MAX_CHAN_IDX_CH12_DISALLOWED
Definition hmac_chan_mgmt.h:35
osal_void hmac_chan_enable_machw_tx(const hmac_vap_stru *hmac_vap)
osal_void hmac_chan_attempt_new_chan(hmac_vap_stru *hmac_vap, osal_u8 channel, wlan_channel_bandwidth_enum_uint8 bandwidth)
#define HMAC_CHANNEL_NEED_CHECK_CH12
Definition hmac_chan_mgmt.h:33
osal_void hmac_chan_disable_machw_tx(const hmac_vap_stru *hmac_vap)
osal_void hmac_chan_multi_switch_to_new_channel_etc(hmac_vap_stru *hmac_vap, osal_u8 channel, wlan_channel_bandwidth_enum_uint8 en_bandwidth)
osal_u32 hmac_mgmt_switch_channel(hal_to_dmac_device_stru *hal_device, mac_channel_stru *channel, osal_bool clear_fifo)
osal_void hmac_chan_update_user_bandwidth(hmac_vap_stru *hmac_vap)
osal_u8 mac_chnl_av_chk_enum_uint8
Definition hmac_chan_mgmt.h:50
osal_void hmac_switch_complete_notify(hmac_vap_stru *hmac_vap, oal_bool_enum_uint8 check_cac)
osal_void hmac_chan_multi_select_channel_mac_etc(hmac_vap_stru *hmac_vap, osal_u8 channel, wlan_channel_bandwidth_enum_uint8 en_bandwidth)
mac_chnl_av_chk_enum
Definition hmac_chan_mgmt.h:43
@ MAC_CHNL_AV_CHK_BUTT
Definition hmac_chan_mgmt.h:48
@ MAC_CHNL_AV_CHK_IN_PROG
Definition hmac_chan_mgmt.h:45
@ MAC_CHNL_AV_CHK_COMPLETE
Definition hmac_chan_mgmt.h:46
@ MAC_CHNL_AV_CHK_NOT_REQ
Definition hmac_chan_mgmt.h:44
#define HMAC_BW_40M_MAX_CHAN_IDX_CH12_ALLOWED
Definition hmac_chan_mgmt.h:36
OAL_STATIC OAL_INLINE oal_bool_enum_uint8 hmac_chan_scan_availability(hmac_device_stru *hmac_device, mac_ap_ch_info_stru *channel_info)
Definition hmac_chan_mgmt.h:141
@ MAC_CHAN_NOT_SUPPORT
Definition mac_device_ext.h:108
@ MAC_CHAN_BLOCK_DUE_TO_RADAR
Definition mac_device_ext.h:112
osal_u32 hmac_is_channel_num_valid_etc(osal_u8 band, osal_u8 ch_num)
osal_u8 oal_bool_enum_uint8
Definition oal_types_device_rom.h:45
@ OAL_FALSE
Definition oal_types_device_rom.h:41
@ OAL_TRUE
Definition oal_types_device_rom.h:42
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
osal_u8 osal_bool
Definition osal_types.h:27
void osal_void
Definition osal_types.h:29
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
#define OAL_STATIC
Definition soc_wifi_service_api.c:30
Definition frw_msg_rom.h:74
Definition mac_device_ext.h:856
Definition hmac_chan_mgmt.h:71
osal_u8 auc_resv
Definition hmac_chan_mgmt.h:74
osal_u16 freq
Definition hmac_chan_mgmt.h:73
osal_u8 idx
Definition hmac_chan_mgmt.h:72
Definition mac_vap_ext.h:2019
Definition mac_device_ext.h:349
Definition wlan_types_base_rom.h:258
Definition mac_regdomain.h:208
Definition hal_ops_common_rom.h:529
unsigned int td_u32
Definition td_type.h:38
td_u8 wlan_protocol_enum_uint8
Definition wlan_types.h:488
osal_u8 wlan_channel_bandwidth_enum_uint8
Definition wlan_types_base_rom.h:237
@ WLAN_BAND_2G
Definition wlan_types_base_rom.h:92