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 )

Reply via email to