|
WS63 SDK 文档 7021f4f@fbb_ws63
ws63 和 ws63e 解决方案的 SDK 文档
|
#include "oal_types.h"#include "oal_ext_if.h"#include "oam_ext_if.h"#include "oal_mm.h"#include "oal_netbuf_ext.h"#include "frw_ext_if.h"#include "wlan_types_common.h"#include "mac_frame.h"#include "mac_device_ext.h"#include "mac_user_ext.h"#include "mac_vap_ext.h"#include "mac_data.h"#include "dmac_ext_if_type.h"#include "dmac_ext_if_device.h"

结构体 | |
| struct | hmac_wlan_drx_event_stru |
| struct | hmac_wlan_crx_event_stru |
| struct | dmac_tx_event_stru |
| struct | hmac_set_chan_stru |
| struct | hmac_ctx_scan_req_stru |
| struct | hmac_msdu_proc_state_stru |
| struct | hmac_msdu_stru |
| struct | hmac_stat_info_rsp_stru |
| struct | mac_mu_edca_control |
| struct | hmac_crx_chan_result_stru |
| struct | hmac_reset_para_stru |
| struct | hmac_disasoc_misc_stru |
| struct | hmac_to_hmac_btcoex_rx_delba_trigger_event_stru |
| struct | hmac_to_hmac_m2s_event_stru |
| struct | hmac_ctx_action_event_stru |
| struct | hmac_ctx_join_req_set_reg_stru |
| struct | hmac_to_dmac_cfg_msg_stru |
| struct | hmac_config_syn_stru |
宏定义 | |
| #define | MAC_INVALID_RX_BA_LUT_INDEX HAL_MAX_RX_BA_LUT_SIZE |
| #define | HMAC_WPA_802_11I BIT0 |
| #define | HMAC_RSNA_802_11I BIT1 |
| #define | HMAC_CB_ALG_TAGS_MUCTRL_MASK 0x1 /* CB中用于多用户流控算法对帧进行标记 */ |
| #define | HMAC_CB_ALG_TAGS_TIDSCH_MASK 0x2 /* CB中用于调度算法对队列调度的帧标记 */ |
| #define | HMAC_BA_SEQNO_MASK 0x0FFF /* max sequece number */ |
| #define | HMAC_BA_MAX_SEQNO_BY_TWO 2048 |
| #define | HMAC_BA_RX_ALLOW_MIN_SEQNO_BY_TWO 64 |
| #define | HMAC_BA_RX_ALLOW_MAX_SEQNO_BY_TWO 4032 |
| #define | HMAC_BA_GREATER_THAN_SEQHI 1 |
| #define | HMAC_BA_BETWEEN_SEQLO_SEQHI 2 |
| #define | HMAC_BA_AMSDU_BACK_SUPPORTED_FLAG 1 /* BA会话对AMSDU的支持标识 */ |
| #define | HMAC_BA_DELBA_TIMEOUT 0 |
| #define | HMAC_BATX_WIN_STALL_THRESHOLD 6 |
| #define | MAC_TX_CTL_SIZE OAL_NETBUF_CB_SIZE() |
| #define | HMAC_TID_TCK_ACK_PROPORTION_MAX 32 |
| #define | HMAC_TID_TCK_ACK_PROPORTION_MIN 1 |
| #define | HMAC_TID_TCK_ACK_PROPORTION_THRES 28 |
| #define | hmac_ba_seq_add(_seq1, _seq2) ((osal_u32)((_seq1) + (_seq2)) & HMAC_BA_SEQNO_MASK) |
| #define | hmac_ba_seq_sub(_seq1, _seq2) ((osal_u32)((_seq1) - (_seq2)) & HMAC_BA_SEQNO_MASK) |
| #define | HMAC_BA_BMP_SIZE 64 |
| #define | HMAC_INVALID_SIGNAL_DELTA (30) |
| #define | HMAC_RSSI_SIGNAL_MIN (-103) /* 信号强度极小值 */ |
| #define | HMAC_RSSI_SIGNAL_MAX (5) /* 信号强度极大值 */ |
| #define | HMAC_INVALID_SIGNAL_INITIAL (100) /* 非法初始信号极大值 */ |
| #define | HMAC_TID_MAX_BUFS 128 |
| #define | DMAC_TX_BUF_BITMAP_WORD_SIZE 32 |
| #define | HMAC_TX_BUF_BITMAP_WORDS ((HMAC_TID_MAX_BUFS + DMAC_TX_BUF_BITMAP_WORD_SIZE - 1) / DMAC_TX_BUF_BITMAP_WORD_SIZE) |
| #define | HMAC_TX_MAX_RISF_NUM 6 |
| #define | DMAX_TX_QUEUE_SINGLE_DEPTH 2 |
| #define | HMAC_TX_QEUEU_MAX_PPDU_NUM 2 |
| #define | HMAC_TX_QUEUE_FAIL_CHECK_NUM 1000 |
| #define | HMAC_SCAN_MAX_AP_NUM_TO_GNSS 32 |
| #define | GNSS_DMAC_SCAN_RESULTS_VALID_MS 5000 |
| #define | HMAC_TX_ONE_MPDU_AMSDU_NUM_MAX 4 |
| #define | THRUPUT_BYPASS_LEN 1300 /* WIFI侧hw bypass发送长度:仅bypass iperf跑流长包 */ |
| #define | mac_get_cb_is_4address(_pst_tx_ctrl) ((_pst_tx_ctrl)->use_4_addr) |
| #define | mac_get_cb_is_amsdu(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_amsdu) |
| #define | mac_get_cb_is_large_skb_amsdu(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_large_skb_amsdu) |
| #define | mac_get_cb_has_ether_head(_pst_tx_ctrl) ((_pst_tx_ctrl)->ether_head_including) |
| #define | mac_get_cb_is_first_msdu(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_first_msdu) |
| #define | mac_get_cb_is_need_resp(_pst_tx_ctrl) ((_pst_tx_ctrl)->need_rsp) |
| #define | mac_get_cb_is_eapol_key_ptk(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_eapol_key_ptk) |
| #define | mac_get_cb_is_roam_data(_pst_tx_ctrl) ((_pst_tx_ctrl)->roam_data) |
| #define | mac_get_cb_is_from_ps_queue(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_get_from_ps_queue) |
| #define | mac_get_cb_is_mcast(_pst_tx_ctrl) ((_pst_tx_ctrl)->ismcast) |
| #define | mac_get_cb_is_needretry(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_needretry) |
| #define | mac_get_cb_get_probe_data_type(_pst_tx_ctrl) ((_pst_tx_ctrl)->probe_data_type) |
| #define | mac_get_cb_alg_tags(_pst_tx_ctrl) ((_pst_tx_ctrl)->alg_frame_tag) |
| #define | mac_get_cb_mgmt_frame_id(_pst_tx_ctrl) ((_pst_tx_ctrl)->mgmt_frame_id) |
| #define | mac_get_cb_mpdu_len(_pst_tx_ctrl) ((_pst_tx_ctrl)->mpdu_payload_len) |
| #define | mac_get_cb_frame_type(_pst_tx_ctrl) ((_pst_tx_ctrl)->frame_type) |
| #define | mac_get_cb_frame_subtype(_pst_tx_ctrl) ((_pst_tx_ctrl)->frame_subtype) |
| #define | mac_get_cb_is_vipframe(_pst_tx_ctrl) |
| #define | mac_get_cb_is_smps_frame(_pst_tx_ctrl) |
| #define | mac_get_cb_is_opmode_frame(_pst_tx_ctrl) |
| #define | mac_get_cb_mpdu_num(_pst_tx_ctrl) ((_pst_tx_ctrl)->mpdu_num) |
| #define | mac_get_cb_netbuf_num(_pst_tx_ctrl) ((_pst_tx_ctrl)->netbuf_num) |
| #define | mac_get_cb_frame_header_length(_pst_tx_ctrl) ((_pst_tx_ctrl)->frame_header_length) |
| #define | mac_get_cb_ack_polacy(_pst_tx_ctrl) ((_pst_tx_ctrl)->ack_policy) |
| #define | mac_get_cb_tx_vap_index(_pst_tx_ctrl) ((_pst_tx_ctrl)->tx_vap_index) |
| #define | mac_get_cb_tx_user_idx(_pst_tx_ctrl) ((_pst_tx_ctrl)->tx_user_idx) |
| #define | mac_get_cb_wme_ac_type(_pst_tx_ctrl) ((_pst_tx_ctrl)->ac) |
| #define | mac_get_cb_wme_tid_type(_pst_tx_ctrl) ((_pst_tx_ctrl)->tid) |
| #define | mac_get_cb_retried_num(_pst_tx_ctrl) ((_pst_tx_ctrl)->retried_num) |
| #define | mac_get_cb_alg_pktno(_pst_tx_ctrl) ((_pst_tx_ctrl)->alg_pktno) |
| #define | mac_get_cb_tcp_ack(_pst_tx_ctrl) ((_pst_tx_ctrl)->is_tcp_ack) |
| #define | mac_get_cb_msdu_num(_pst_tx_ctrl) ((_pst_tx_ctrl)->msdu_num) |
| #define | mac_get_cb_pk_mode(_pst_tx_ctrl) ((_pst_tx_ctrl)->resrv_6) |
| #define | mac_get_cb_icmp(_pst_tx_ctrl) ((_pst_tx_ctrl)->resrv_2) |
| #define | mac_get_cb_vip_tcp_ack(_pst_tx_ctrl) ((_pst_tx_ctrl)->resrv_3) |
| #define | mac_get_cb_is_data_frame(_pst_tx_ctrl) |
| #define | mac_get_cb_wlan_frame_type(_pst_tx_ctrl) ((_pst_tx_ctrl)->expand_cb.frame_type) |
| #define | mac_get_cb_wlan_frame_subtype(_pst_tx_ctrl) (((_pst_tx_ctrl)->frame_header)->frame_control.sub_type) |
| #define | mac_get_cb_seq_num(_pst_tx_ctrl) ((_pst_tx_ctrl)->expand_cb.seqnum) |
| #define | mac_get_cb_frame_header_addr(_pst_tx_ctrl) ((_pst_tx_ctrl)->expand_cb.frame_header) |
| #define | mac_set_cb_is_qos_data(_pst_tx_ctrl, _flag) |
| #define | mac_get_cb_is_qos_data(_pst_tx_ctrl) OAL_FALSE |
| #define | mac_get_rx_cb_frame_len(_pst_rx_ctl) ((_pst_rx_ctl)->frame_len) |
| #define | mac_get_rx_cb_mac_header_len(_pst_rx_ctl) ((_pst_rx_ctl)->mac_header_len) |
| #define | mac_get_rx_cb_mac_vap_id(_pst_rx_ctl) ((_pst_rx_ctl)->mac_vap_id) |
| #define | mac_get_rx_cb_hal_vap_idx(_pst_rx_ctl) ((_pst_rx_ctl)->vap_id) |
| #define | mac_get_rx_cb_ta_user_idx(_pst_rx_ctl) ((_pst_rx_ctl)->ta_user_idx) |
| #define | mac_get_rx_cb_payload_len(_pst_rx_ctl) ((_pst_rx_ctl)->frame_len - (_pst_rx_ctl)->mac_header_len) |
| #define | mac_get_rx_cb_mac_header_addr(_pst_rx_ctl) ((osal_u8 *)(mac_get_rx_cb_mac_hdr(_pst_rx_ctl))) |
| #define | mac_get_rx_payload_addr(_pst_rx_ctl, _pst_buf) ((osal_u8 *)(mac_get_rx_cb_mac_hdr(_pst_rx_ctl)) + mac_get_rx_cb_mac_header_len(_pst_rx_ctl)) |
| #define | mac_get_netbuf_by_cb(ptr) ((oal_netbuf_stru *)((osal_s8 *)(ptr) - (osal_ulong)(&((oal_netbuf_stru *)0)->cb))) |
类型定义 | |
| typedef osal_u8 | hmac_wlan_ctx_event_sub_type_enum_uint8 |
| typedef hal_rx_ctl_stru | mac_rx_ctl_stru |
函数 | |
| osal_u32 | hmac_vap_set_cb_tx_user_idx (hmac_vap_stru *hmac_vap, mac_tx_ctl_stru *tx_ctl, const osal_u8 *data) |
| #define DMAC_TX_BUF_BITMAP_WORD_SIZE 32 |
| #define DMAX_TX_QUEUE_SINGLE_DEPTH 2 |
| #define GNSS_DMAC_SCAN_RESULTS_VALID_MS 5000 |
| #define HMAC_BA_AMSDU_BACK_SUPPORTED_FLAG 1 /* BA会话对AMSDU的支持标识 */ |
| #define HMAC_BA_BETWEEN_SEQLO_SEQHI 2 |
| #define HMAC_BA_BMP_SIZE 64 |
| #define HMAC_BA_DELBA_TIMEOUT 0 |
| #define HMAC_BA_GREATER_THAN_SEQHI 1 |
| #define HMAC_BA_MAX_SEQNO_BY_TWO 2048 |
| #define HMAC_BA_RX_ALLOW_MAX_SEQNO_BY_TWO 4032 |
| #define HMAC_BA_RX_ALLOW_MIN_SEQNO_BY_TWO 64 |
| #define hmac_ba_seq_add | ( | _seq1, | |
| _seq2 | |||
| ) | ((osal_u32)((_seq1) + (_seq2)) & HMAC_BA_SEQNO_MASK) |
| #define hmac_ba_seq_sub | ( | _seq1, | |
| _seq2 | |||
| ) | ((osal_u32)((_seq1) - (_seq2)) & HMAC_BA_SEQNO_MASK) |
| #define HMAC_BA_SEQNO_MASK 0x0FFF /* max sequece number */ |
| #define HMAC_BATX_WIN_STALL_THRESHOLD 6 |
| #define HMAC_CB_ALG_TAGS_MUCTRL_MASK 0x1 /* CB中用于多用户流控算法对帧进行标记 */ |
| #define HMAC_CB_ALG_TAGS_TIDSCH_MASK 0x2 /* CB中用于调度算法对队列调度的帧标记 */ |
| #define HMAC_INVALID_SIGNAL_DELTA (30) |
| #define HMAC_INVALID_SIGNAL_INITIAL (100) /* 非法初始信号极大值 */ |
| #define HMAC_RSNA_802_11I BIT1 |
| #define HMAC_RSSI_SIGNAL_MAX (5) /* 信号强度极大值 */ |
| #define HMAC_RSSI_SIGNAL_MIN (-103) /* 信号强度极小值 */ |
| #define HMAC_SCAN_MAX_AP_NUM_TO_GNSS 32 |
| #define HMAC_TID_MAX_BUFS 128 |
| #define HMAC_TID_TCK_ACK_PROPORTION_MAX 32 |
| #define HMAC_TID_TCK_ACK_PROPORTION_MIN 1 |
| #define HMAC_TID_TCK_ACK_PROPORTION_THRES 28 |
| #define HMAC_TX_BUF_BITMAP_WORDS ((HMAC_TID_MAX_BUFS + DMAC_TX_BUF_BITMAP_WORD_SIZE - 1) / DMAC_TX_BUF_BITMAP_WORD_SIZE) |
| #define HMAC_TX_MAX_RISF_NUM 6 |
| #define HMAC_TX_ONE_MPDU_AMSDU_NUM_MAX 4 |
| #define HMAC_TX_QEUEU_MAX_PPDU_NUM 2 |
| #define HMAC_TX_QUEUE_FAIL_CHECK_NUM 1000 |
| #define HMAC_WPA_802_11I BIT0 |
| #define mac_get_cb_ack_polacy | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->ack_policy) |
| #define mac_get_cb_alg_pktno | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->alg_pktno) |
| #define mac_get_cb_alg_tags | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->alg_frame_tag) |
| #define mac_get_cb_frame_header_addr | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->expand_cb.frame_header) |
| #define mac_get_cb_frame_header_length | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->frame_header_length) |
| #define mac_get_cb_frame_subtype | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->frame_subtype) |
| #define mac_get_cb_frame_type | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->frame_type) |
| #define mac_get_cb_get_probe_data_type | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->probe_data_type) |
| #define mac_get_cb_has_ether_head | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->ether_head_including) |
| #define mac_get_cb_icmp | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->resrv_2) |
| #define mac_get_cb_is_4address | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->use_4_addr) |
| #define mac_get_cb_is_amsdu | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->is_amsdu) |
| #define mac_get_cb_is_data_frame | ( | _pst_tx_ctrl | ) |
| #define mac_get_cb_is_eapol_key_ptk | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->is_eapol_key_ptk) |
| #define mac_get_cb_is_first_msdu | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->is_first_msdu) |
| #define mac_get_cb_is_from_ps_queue | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->is_get_from_ps_queue) |
| #define mac_get_cb_is_large_skb_amsdu | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->is_large_skb_amsdu) |
| #define mac_get_cb_is_mcast | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->ismcast) |
| #define mac_get_cb_is_need_resp | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->need_rsp) |
| #define mac_get_cb_is_needretry | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->is_needretry) |
| #define mac_get_cb_is_opmode_frame | ( | _pst_tx_ctrl | ) |
| #define mac_get_cb_is_qos_data | ( | _pst_tx_ctrl | ) | OAL_FALSE |
| #define mac_get_cb_is_roam_data | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->roam_data) |
| #define mac_get_cb_is_smps_frame | ( | _pst_tx_ctrl | ) |
| #define mac_get_cb_is_vipframe | ( | _pst_tx_ctrl | ) |
| #define mac_get_cb_mgmt_frame_id | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->mgmt_frame_id) |
| #define mac_get_cb_mpdu_len | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->mpdu_payload_len) |
| #define mac_get_cb_mpdu_num | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->mpdu_num) |
| #define mac_get_cb_msdu_num | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->msdu_num) |
| #define mac_get_cb_netbuf_num | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->netbuf_num) |
| #define mac_get_cb_pk_mode | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->resrv_6) |
| #define mac_get_cb_retried_num | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->retried_num) |
| #define mac_get_cb_seq_num | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->expand_cb.seqnum) |
| #define mac_get_cb_tcp_ack | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->is_tcp_ack) |
| #define mac_get_cb_tx_user_idx | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->tx_user_idx) |
| #define mac_get_cb_tx_vap_index | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->tx_vap_index) |
| #define mac_get_cb_vip_tcp_ack | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->resrv_3) |
| #define mac_get_cb_wlan_frame_subtype | ( | _pst_tx_ctrl | ) | (((_pst_tx_ctrl)->frame_header)->frame_control.sub_type) |
| #define mac_get_cb_wlan_frame_type | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->expand_cb.frame_type) |
| #define mac_get_cb_wme_ac_type | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->ac) |
| #define mac_get_cb_wme_tid_type | ( | _pst_tx_ctrl | ) | ((_pst_tx_ctrl)->tid) |
| #define mac_get_netbuf_by_cb | ( | ptr | ) | ((oal_netbuf_stru *)((osal_s8 *)(ptr) - (osal_ulong)(&((oal_netbuf_stru *)0)->cb))) |
| #define mac_get_rx_cb_frame_len | ( | _pst_rx_ctl | ) | ((_pst_rx_ctl)->frame_len) |
| #define mac_get_rx_cb_hal_vap_idx | ( | _pst_rx_ctl | ) | ((_pst_rx_ctl)->vap_id) |
| #define mac_get_rx_cb_mac_header_addr | ( | _pst_rx_ctl | ) | ((osal_u8 *)(mac_get_rx_cb_mac_hdr(_pst_rx_ctl))) |
| #define mac_get_rx_cb_mac_header_len | ( | _pst_rx_ctl | ) | ((_pst_rx_ctl)->mac_header_len) |
| #define mac_get_rx_cb_mac_vap_id | ( | _pst_rx_ctl | ) | ((_pst_rx_ctl)->mac_vap_id) |
| #define mac_get_rx_cb_payload_len | ( | _pst_rx_ctl | ) | ((_pst_rx_ctl)->frame_len - (_pst_rx_ctl)->mac_header_len) |
| #define mac_get_rx_cb_ta_user_idx | ( | _pst_rx_ctl | ) | ((_pst_rx_ctl)->ta_user_idx) |
| #define mac_get_rx_payload_addr | ( | _pst_rx_ctl, | |
| _pst_buf | |||
| ) | ((osal_u8 *)(mac_get_rx_cb_mac_hdr(_pst_rx_ctl)) + mac_get_rx_cb_mac_header_len(_pst_rx_ctl)) |
| #define MAC_INVALID_RX_BA_LUT_INDEX HAL_MAX_RX_BA_LUT_SIZE |
| #define mac_set_cb_is_qos_data | ( | _pst_tx_ctrl, | |
| _flag | |||
| ) |
| #define MAC_TX_CTL_SIZE OAL_NETBUF_CB_SIZE() |
| #define THRUPUT_BYPASS_LEN 1300 /* WIFI侧hw bypass发送长度:仅bypass iperf跑流长包 */ |
| typedef hal_rx_ctl_stru mac_rx_ctl_stru |
| enum hmac_thruput_enum |
| osal_u32 hmac_vap_set_cb_tx_user_idx | ( | hmac_vap_stru * | hmac_vap, |
| mac_tx_ctl_stru * | tx_ctl, | ||
| const osal_u8 * | data | ||
| ) |