6#ifndef __WAL_CFG80211_H__
7#define __WAL_CFG80211_H__
20#ifdef _PRE_WLAN_FEATURE_P2P
33#define WAL_MAX_SCAN_TIME_PER_CHANNEL 400
35#define WAL_MAX_SCAN_TIME_PER_SCAN_REQ (5 * 1000)
38#define WAL_MIN_CHANNEL_2G 1
39#define WAL_MAX_CHANNEL_2G 14
41#define WAL_MIN_FREQ_2G (2412 + 5*(WAL_MIN_CHANNEL_2G - 1))
42#ifdef _PRE_WLAN_FEATURE_015CHANNEL_EXP
43#define WAL_MAX_FREQ_2G 2512
45#define WAL_MAX_FREQ_2G 2484
49#define WAL_MAX_SCAN_IE_LEN 1000
51#define IEEE80211_HT_CAP_LDPC_CODING 0x0001
52#define IEEE80211_HT_CAP_SUP_WIDTH_20_40 0x0002
53#define IEEE80211_HT_CAP_SM_PS 0x000C
54#define IEEE80211_HT_CAP_SM_PS_SHIFT 2
55#define IEEE80211_HT_CAP_GRN_FLD 0x0010
56#define IEEE80211_HT_CAP_SGI_20 0x0020
57#define IEEE80211_HT_CAP_SGI_40 0x0040
58#define IEEE80211_HT_CAP_TX_STBC 0x0080
59#define IEEE80211_HT_CAP_RX_STBC 0x0300
60#define IEEE80211_HT_CAP_DELAY_BA 0x0400
61#define IEEE80211_HT_CAP_MAX_AMSDU 0x0800
62#define IEEE80211_HT_CAP_DSSSCCK40 0x1000
63#define IEEE80211_HT_CAP_RESERVED 0x2000
64#define IEEE80211_HT_CAP_40MHZ_INTOLERANT 0x4000
65#define IEEE80211_HT_CAP_LSIG_TXOP_PROT 0x8000
68#define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 0x00000000
69#define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 0x00000001
70#define IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 0x00000002
71#define IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ 0x00000004
72#define IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160_80PLUS80MHZ 0x00000008
73#define IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK 0x0000000C
74#define IEEE80211_VHT_CAP_RXLDPC 0x00000010
75#define IEEE80211_VHT_CAP_SHORT_GI_80 0x00000020
76#define IEEE80211_VHT_CAP_SHORT_GI_160 0x00000040
77#define IEEE80211_VHT_CAP_TXSTBC 0x00000080
78#define IEEE80211_VHT_CAP_RXSTBC_1 0x00000100
79#define IEEE80211_VHT_CAP_RXSTBC_2 0x00000200
80#define IEEE80211_VHT_CAP_RXSTBC_3 0x00000300
81#define IEEE80211_VHT_CAP_RXSTBC_4 0x00000400
82#define IEEE80211_VHT_CAP_RXSTBC_MASK 0x00000700
83#define IEEE80211_VHT_CAP_SU_BEAMFORMER_CAPABLE 0x00000800
84#define IEEE80211_VHT_CAP_SU_BEAMFORMEE_CAPABLE 0x00001000
85#define IEEE80211_VHT_CAP_BEAMFORMER_ANTENNAS_MAX 0x00006000
86#define IEEE80211_VHT_CAP_SOUNDING_DIMENSIONS_MAX 0x00030000
87#define IEEE80211_VHT_CAP_MU_BEAMFORMER_CAPABLE 0x00080000
88#define IEEE80211_VHT_CAP_MU_BEAMFORMEE_CAPABLE 0x00100000
89#define IEEE80211_VHT_CAP_VHT_TXOP_PS 0x00200000
90#define IEEE80211_VHT_CAP_HTC_VHT 0x00400000
91#define IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT 23
92#define IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK \
93 (7 << IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_SHIFT)
94#define IEEE80211_VHT_CAP_VHT_LINK_ADAPTATION_VHT_UNSOL_MFB 0x08000000
95#define IEEE80211_VHT_CAP_VHT_LINK_ADAPTATION_VHT_MRQ_MFB 0x0c000000
96#define IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN 0x10000000
97#define IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN 0x20000000
100#define IEEE80211_STYPE_ASSOC_REQ 0x0000
101#define IEEE80211_STYPE_ASSOC_RESP 0x0010
102#define IEEE80211_STYPE_REASSOC_REQ 0x0020
103#define IEEE80211_STYPE_REASSOC_RESP 0x0030
104#define IEEE80211_STYPE_PROBE_REQ 0x0040
105#define IEEE80211_STYPE_PROBE_RESP 0x0050
106#define IEEE80211_STYPE_BEACON 0x0080
107#define IEEE80211_STYPE_ATIM 0x0090
108#define IEEE80211_STYPE_DISASSOC 0x00A0
109#define IEEE80211_STYPE_AUTH 0x00B0
110#define IEEE80211_STYPE_DEAUTH 0x00C0
111#define IEEE80211_STYPE_ACTION 0x00D0
113#define WAL_COOKIE_ARRAY_SIZE 8
114#define WAL_MGMT_TX_TIMEOUT_MSEC 500
115#define WAL_MGMT_TX_RETRY_CNT 8
117#define IEEE80211_FCTL_FTYPE 0x000c
118#define IEEE80211_FCTL_STYPE 0x00f0
119#define IEEE80211_FTYPE_MGMT 0x0000
121#define WAL_GET_STATION_THRESHOLD 1000
129#define ratetab_ent(_rate, _rateid, _flags) \
131 .bitrate = (_rate), \
132 .hw_value = (_rateid), \
136#define chan2g(_channel, _freq, _flags) \
138 .band = OAL_IEEE80211_BAND_2GHZ, \
139 .center_freq = (_freq), \
140 .hw_value = (_channel), \
142 .max_antenna_gain = 0, \
146#define WAL_MIN_RTS_THRESHOLD 256
147#define WAL_MAX_RTS_THRESHOLD 0xFFFF
149#define WAL_MAX_FRAG_THRESHOLD 7536
150#define WAL_MIN_FRAG_THRESHOLD 256
152#define WAL_MAX_WAIT_TIME 3000
154#if defined(_PRE_OS_VERSION_LITEOS) && defined(_PRE_WLAN_FEATURE_11R)
162#if defined(_PRE_WLAN_FEATURE_WS92_MERGE) && defined(_PRE_WLAN_FEATURE_ACS)
163typedef struct survey_info {
164 oal_ieee80211_channel *channel;
172} oal_survey_info_stru;
174enum survey_info_flags {
175 SURVEY_INFO_NOISE_DBM,
177 SURVEY_INFO_CHANNEL_TIME,
178 SURVEY_INFO_CHANNEL_TIME_BUSY,
179 SURVEY_INFO_CHANNEL_TIME_EXT_BUSY,
180 SURVEY_INFO_CHANNEL_TIME_RX,
181 SURVEY_INFO_CHANNEL_TIME_TX
184#define SURVEY_HAS_NF (1U << 0)
185#define SURVEY_HAS_CHAN_TIME (1U << 1)
186#define SURVEY_HAS_CHAN_TIME_BUSY (1U << 2)
187#define SURVEY_HAS_CHAN_TIME_RX (1U << 3)
188#define SURVEY_HAS_CHAN_TIME_TX (1U << 4)
218static inline td_u32 oal_ieee80211_is_probe_resp(
td_u16 fc)
223#ifndef _PRE_WLAN_FEATURE_MFG_ONLY
231 const td_u8 *mac_addr, oal_key_params_stru *params);
244#ifdef _PRE_WLAN_FEATURE_PNO_SCAN
245td_u32 wal_cfg80211_start_sched_scan(oal_net_device_stru *netdev, mac_pno_scan_stru *pno_scan_info);
248#if defined(_PRE_WLAN_FEATURE_WS92_MERGE) && defined(_PRE_WLAN_FEATURE_ACS)
249osal_s32 wal_cfg80211_get_survey_etc(oal_net_device_stru *netdev,
osal_u32 ifidx, oal_survey_info_stru *sinfo);
252#ifdef _PRE_WLAN_FEATURE_ROAM
254#ifdef _PRE_WLAN_FEATURE_11R
255osal_s32 wal_cfg80211_update_ft_ies(oal_net_device_stru *netdev, oal_ft_ies_stru *fties);
262#ifdef _PRE_WLAN_FEATURE_P2P
264td_u32 wal_cfg80211_remain_on_channel(
const oal_wireless_dev *wdev,
const struct ieee80211_channel *chan,
266td_u32 wal_cfg80211_cancel_remain_on_channel(
const oal_wireless_dev *wdev,
osal_u64 ull_cookie);
osal_u8 type
Definition oal_net.h:0
osal_u32 ie_len
Definition oal_net.h:0
int osal_s32
Definition osal_types.h:19
unsigned char osal_u8
Definition osal_types.h:11
signed char osal_s8
Definition osal_types.h:17
unsigned long long osal_u64
Definition osal_types.h:14
unsigned int osal_u32
Definition osal_types.h:13
unsigned short osal_u16
Definition osal_types.h:12
Definition wal_cfg80211.h:123
td_u32 reserved
Definition wal_cfg80211.h:126
td_u32 record_time
Definition wal_cfg80211.h:125
osal_u64 ull_cookie
Definition wal_cfg80211.h:124
Definition driver_soc_common.h:296
Definition driver_soc_common.h:655
Definition frw_msg_rom.h:74
Definition mac_vap_ext.h:2544
Definition mac_device_ext.h:856
Definition mac_device_ext.h:572
Definition mac_vap_ext.h:2019
unsigned short td_u16
Definition td_type.h:37
unsigned char td_u8
Definition td_type.h:36
td_u8 td_bool
Definition td_type.h:50
void td_void
Definition td_type.h:49
unsigned int td_u32
Definition td_type.h:38
int td_s32
Definition td_type.h:44
char td_char
Definition td_type.h:41
Definition hal_uart_v151_regs_def.h:38
td_void wal_cfg80211_reset_bands(td_void)
#define IEEE80211_FTYPE_MGMT
Definition wal_cfg80211.h:119
td_u32 wal_cfg80211_disconnect(oal_net_device_stru *netdev, td_u16 reason_code)
td_u32 wal_cfg80211_set_default_key(oal_net_device_stru *netdev, td_u8 key_index, td_bool unicast, td_bool multicast)
td_u32 wal_cfg80211_del_beacon(oal_net_device_stru *netdev)
td_u32 wal_cfg80211_mgmt_tx(oal_net_device_stru *netdev, oal_ieee80211_channel *chan, ext_mlme_data_stru *mlme_data)
#define IEEE80211_FCTL_STYPE
Definition wal_cfg80211.h:118
td_u32 wal_cfg80211_start_ap(oal_net_device_stru *netdev, oal_ap_settings_stru *ap_settings)
td_u32 wal_cfg80211_scan(oal_cfg80211_scan_request_stru *request, hmac_scan_stru *scan_mgmt)
td_u32 wal_cfg80211_flush_pmksa(oal_net_device_stru *netdev)
#define IEEE80211_STYPE_PROBE_RESP
Definition wal_cfg80211.h:105
td_u32 wal_cfg80211_add_key(oal_net_device_stru *netdev, const cfg80211_add_key_info_stru *cfg80211_add_key_info, const td_u8 *mac_addr, oal_key_params_stru *params)
td_u32 wal_cfg80211_remove_pmksa(oal_net_device_stru *netdev, const ext_pmkid_params *pmkid_params)
td_u32 wal_cfg80211_add_vap(const hmac_cfg_add_vap_param_stru *add_vap_param)
td_u32 wal_cfg80211_remove_key(oal_net_device_stru *netdev, td_u8 key_index, td_bool pairwise, const td_u8 *mac_addr)
td_s32 uapi_wifi_app_service(const td_char *ifname, td_void *buf)
td_u32 wal_cfg80211_change_beacon(oal_net_device_stru *netdev, oal_beacon_data_stru *beacon_info)
oal_ieee80211_supported_band * wal_get_wifi_2ghz_band(td_void)
oal_ieee80211_channel * wal_cfg80211_get_channel(td_s32 freq)
td_u32 wal_cfg80211_set_pmksa(oal_net_device_stru *netdev, const ext_pmkid_params *pmkid_params)
osal_s32 wal_cfg80211_mgmt_tx_status(hmac_vap_stru *hmac_vap, frw_msg *msg)
td_u32 wal_cfg80211_connect(oal_net_device_stru *netdev, oal_cfg80211_connect_params_stru *sme)
#define IEEE80211_FCTL_FTYPE
Definition wal_cfg80211.h:117
td_u32 wal_cfg80211_p2p_mgmt_tx(oal_wireless_dev *wdev, oal_ieee80211_channel *chan, ext_mlme_data_stru *data, osal_u64 *pull_cookie)
td_u32 wal_cfg80211_del_station(oal_net_device_stru *netdev, const td_u8 *mac_addr)
osal_s32 wal_report_csa_done(hmac_vap_stru *hmac_vap, frw_msg *msg)
oal_ieee80211_channel * wal_get_g_wifi_2ghz_channels(td_void)
td_u32 wal_cfg80211_intf_mode_check(oal_net_device_stru *netdev, nl80211_iftype_uint8 type)
struct cookie_arry cookie_arry_stru