diff --git a/components/esp8266/include/esp_wifi.h b/components/esp8266/include/esp_wifi.h index 4ffeafb5..6aab3a27 100644 --- a/components/esp8266/include/esp_wifi.h +++ b/components/esp8266/include/esp_wifi.h @@ -651,6 +651,31 @@ esp_err_t esp_wifi_get_promiscuous_filter(wifi_promiscuous_filter_t *filter); */ esp_err_t esp_wifi_set_config(wifi_interface_t interface, wifi_config_t *conf); +/** + * @brief Enable subtype filter of the control packet in promiscuous mode. + * + * @note The default filter is to filter none control packet. + * + * @param filter the subtype of the control packet filtered in promiscuous mode. + * + * @return + * - ESP_OK: succeed + * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init + */ +esp_err_t esp_wifi_set_promiscuous_ctrl_filter(const wifi_promiscuous_filter_t *filter); + +/** + * @brief Get the subtype filter of the control packet in promiscuous mode. + * + * @param[out] filter store the current status of subtype filter of the control packet in promiscuous mode + * + * @return + * - ESP_OK: succeed + * - ESP_ERR_WIFI_NOT_INIT: WiFi is not initialized by esp_wifi_init + * - ESP_ERR_WIFI_ARG: invalid argument + */ +esp_err_t esp_wifi_get_promiscuous_ctrl_filter(wifi_promiscuous_filter_t *filter); + /** * @brief Get configuration of specified interface * @@ -871,16 +896,16 @@ esp_err_t esp_wifi_get_event_mask(uint32_t *mask); * the next packet is allowed to send. Otherwise, wifi_send_pkt_freedom * will return fail. * - * @param uint8 *buf : pointer of packet - * @param uint16 len : packet length - * @param bool sys_seq : follow the system's 802.11 packets sequence number or not, + * @param const void *buffer: pointer of packet + * @param int len: packet length + * @param bool en_sys_seq: follow the system's 802.11 packets sequence number or not, * if it is true, the sequence number will be increased 1 every * time a packet sent. * * @return ESP_OK, succeed; * @return ESP_FAIL, fail. */ -esp_err_t esp_wifi_send_pkt_freedom(uint8_t *buf, int32_t len, bool sys_seq); +esp_err_t esp_wifi_80211_tx(wifi_interface_t ifx, const void *buffer, int len, bool en_sys_seq); #ifdef __cplusplus } diff --git a/components/esp8266/lib/VERSION b/components/esp8266/lib/VERSION index 3f76c5b1..858f8db2 100644 --- a/components/esp8266/lib/VERSION +++ b/components/esp8266/lib/VERSION @@ -1,6 +1,6 @@ gwen: core: 3613883 - net80211: df2730a + net80211: a2ced47 pp: df2730a wpa: 4e2372f espnow: eeb16c6 diff --git a/components/esp8266/lib/libnet80211.a b/components/esp8266/lib/libnet80211.a old mode 100644 new mode 100755 index c49f5208..fdbe8139 Binary files a/components/esp8266/lib/libnet80211.a and b/components/esp8266/lib/libnet80211.a differ