esp32: add esp_wifi_set_mgmt()

This commit is contained in:
liu zhifu 2020-04-03 16:29:05 +08:00 committed by baohongde
parent a7a20f2e17
commit 473db9c14b
3 changed files with 30 additions and 1 deletions

View File

@ -1074,6 +1074,17 @@ esp_err_t esp_wifi_get_ant(wifi_ant_config_t *config);
*/
esp_err_t esp_wifi_improve_contention_ability(bool enable);
/**
* @brief Set the management frame receiving
*
* @param filter the management frame need to be received by the callback
* @param cb the management frame receiving callback
*
* @return
* - ESP_OK: succeed
*/
esp_err_t esp_wifi_set_rx_mgmt(wifi_rx_mgmt_filter_t filter, wifi_rx_mgmt_cb_t cb);
#ifdef __cplusplus
}
#endif

View File

@ -519,6 +519,24 @@ typedef struct {
} data; /**< Configuration of ioctl command */
} wifi_ioctl_config_t;
/**
* @brief Manangement frame receiving callback function
*
*/
typedef void (*wifi_rx_mgmt_cb_t)(const uint8_t *frame, int len, int rssi);
/**
* @brief Management frame receiving filter
*
*/
typedef enum {
WIFI_RX_MGMT_FILTER_PROBE = 1, /**< Probe */
WIFI_RX_MGMT_FILTER_BEACON = (1<<1), /**< Beacon */
WIFI_RX_MGMT_FILTER_AUTH = (1<<2), /**< Auth/Deauth */
WIFI_RX_MGMT_FILTER_ASSOC = (1<<3), /**< Assoc/Disassoc */
WIFI_RX_MGMT_FILTER_ACTION = (1<<4), /**< Action */
} wifi_rx_mgmt_filter_t;
#ifdef __cplusplus
}
#endif

@ -1 +1 @@
Subproject commit 6914cc06a5dae577309f9346d610171b8e5493af
Subproject commit 5d77b0329f75a9b30e9ccd30698515f30bce1978