This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
The following commit(s) were added to refs/heads/master by this push: new 4659e00fac wireless/bcm43xxx: add extended join parameters 4659e00fac is described below commit 4659e00facfdccbe68ddd1091de52c3c490afb93 Author: chao.an <anc...@xiaomi.com> AuthorDate: Tue Jun 14 20:32:33 2022 +0800 wireless/bcm43xxx: add extended join parameters Signed-off-by: chao.an <anc...@xiaomi.com> --- drivers/wireless/ieee80211/bcm43xxx/bcmf_ioctl.h | 38 ++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/drivers/wireless/ieee80211/bcm43xxx/bcmf_ioctl.h b/drivers/wireless/ieee80211/bcm43xxx/bcmf_ioctl.h index 80fd7fda48..d57b463598 100644 --- a/drivers/wireless/ieee80211/bcm43xxx/bcmf_ioctl.h +++ b/drivers/wireless/ieee80211/bcm43xxx/bcmf_ioctl.h @@ -224,9 +224,12 @@ typedef struct wl_uint32_list uint32_t element[1]; } wl_uint32_list_t; +/* scan params for extended join */ + typedef struct wl_join_scan_params { uint8_t scan_type; /* 0 use default, active or passive scan */ + uint8_t pad[3]; int32_t nprobes; /* -1 use default, number of probes per channel */ int32_t active_time; /* -1 use default, dwell time per channel for * active scanning */ @@ -236,6 +239,40 @@ typedef struct wl_join_scan_params * between channel scans */ } wl_join_scan_params_t; +/** used for association with a specific BSSID and chanspec list */ + +typedef struct wl_assoc_params +{ + struct ether_addr bssid; /* 00:00:00:00:00:00: broadcast scan */ + uint16_t bssid_cnt; /* 0: use chanspec_num, and the single bssid, + * otherwise count of chanspecs in chanspec_list + * AND paired bssids following chanspec_list + * also, chanspec_num has to be set to zero + * for bssid list to be used + */ + int32_t chanspec_num; /* 0: all available channels, + * otherwise count of chanspecs in chanspec_list */ + chanspec_t chanspec_list[1]; /* list of chanspecs */ +} wl_assoc_params_t; + +/** used for association to a specific BSSID and channel */ + +typedef wl_assoc_params_t wl_join_assoc_params_t; + +/** extended join params */ + +typedef struct wl_extjoin_params +{ + wlc_ssid_t ssid; /* {0, ""}: wildcard scan */ + wl_join_scan_params_t scan; + wl_join_assoc_params_t assoc; /* optional field, but it must include the fixed portion + * of the wl_join_assoc_params_t struct when it does + * present. */ +} wl_extjoin_params_t; + +#define WL_EXTJOIN_PARAMS_FIXED_SIZE \ + (offset(wl_extjoin_params_t, assoc) + WL_JOIN_ASSOC_PARAMS_FIXED_SIZE) + #define NRATE_MCS_INUSE (0x00000080) #define NRATE_RATE_MASK (0x0000007f) #define NRATE_STF_MASK (0x0000ff00) @@ -724,6 +761,7 @@ typedef struct wlc_iov_trx_s #define IOVAR_STR_AMPDU_RX_FACTOR "ampdu_rx_factor" #define IOVAR_STR_MIMO_BW_CAP "mimo_bw_cap" #define IOVAR_STR_CLMLOAD "clmload" +#define IOVAR_STR_JOIN "join" #define WLC_IOCTL_MAGIC ( 0x14e46c77 ) #define WLC_IOCTL_VERSION ( 1 )