![]()
![]()
#define __ESP_MESH_H__
![]()
![]()
#include "esp_err.h"
![]()
![]()
#include "esp_wifi.h"
![]()
![]()
#include "esp_wifi_types.h"
![]()
![]()
#include "esp_mesh_internal.h"
![]()
![]()
#include "lwip/ip_addr.h"
![]()
![]()
#define MESH_ROOT_LAYER
![]()
![]()
#define MESH_MTU
![]()
![]()
#define MESH_MPS
![]()
![]()
#define ESP_ERR_MESH_WIFI_NOT_START
![]()
![]()
#define ESP_ERR_MESH_NOT_INIT
![]()
![]()
#define ESP_ERR_MESH_NOT_CONFIG
![]()
![]()
#define ESP_ERR_MESH_NOT_START
![]()
![]()
#define ESP_ERR_MESH_NOT_SUPPORT
![]()
![]()
#define ESP_ERR_MESH_NOT_ALLOWED
![]()
![]()
#define ESP_ERR_MESH_NO_MEMORY
![]()
![]()
#define ESP_ERR_MESH_ARGUMENT
![]()
![]()
#define ESP_ERR_MESH_EXCEED_MTU
![]()
![]()
#define ESP_ERR_MESH_TIMEOUT
![]()
![]()
#define ESP_ERR_MESH_DISCONNECTED
![]()
![]()
#define ESP_ERR_MESH_QUEUE_FAIL
![]()
![]()
#define ESP_ERR_MESH_QUEUE_FULL
![]()
![]()
#define ESP_ERR_MESH_NO_PARENT_FOUND
![]()
![]()
#define ESP_ERR_MESH_NO_ROUTE_FOUND
![]()
![]()
#define ESP_ERR_MESH_OPTION_NULL
![]()
![]()
#define ESP_ERR_MESH_OPTION_UNKNOWN
![]()
![]()
#define ESP_ERR_MESH_XON_NO_WINDOW
![]()
![]()
#define ESP_ERR_MESH_INTERFACE
![]()
![]()
#define ESP_ERR_MESH_DISCARD_DUPLICATE
![]()
![]()
#define ESP_ERR_MESH_DISCARD
![]()
![]()
#define ESP_ERR_MESH_VOTING
![]()
![]()
#define ESP_ERR_MESH_XMIT
![]()
![]()
#define ESP_ERR_MESH_QUEUE_READ
![]()
![]()
#define ESP_ERR_MESH_PS
![]()
![]()
#define ESP_ERR_MESH_RECV_RELEASE
![]()
![]()
#define MESH_DATA_ENC
![]()
![]()
#define MESH_DATA_P2P
![]()
![]()
#define MESH_DATA_FROMDS
![]()
![]()
#define MESH_DATA_TODS
![]()
![]()
#define MESH_DATA_NONBLOCK
![]()
![]()
#define MESH_DATA_DROP
![]()
![]()
#define MESH_DATA_GROUP
![]()
![]()
#define MESH_OPT_SEND_GROUP
![]()
![]()
#define MESH_OPT_RECV_DS_ADDR
![]()
![]()
#define MESH_ASSOC_FLAG_MAP_ASSOC
![]()
![]()
#define MESH_ASSOC_FLAG_VOTE_IN_PROGRESS
![]()
![]()
#define MESH_ASSOC_FLAG_STA_VOTED
![]()
![]()
#define MESH_ASSOC_FLAG_NETWORK_FREE
![]()
![]()
#define MESH_ASSOC_FLAG_STA_VOTE_EXPIRE
![]()
![]()
#define MESH_ASSOC_FLAG_ROOTS_FOUND
![]()
![]()
#define MESH_ASSOC_FLAG_ROOT_FIXED
![]()
![]()
#define MESH_PS_DEVICE_DUTY_DEMAND
![]()
![]()
#define MESH_PS_NETWORK_DUTY_MASTER
![]()
![]()
#define MESH_PS_NETWORK_DUTY_APPLIED_ENTIRE
![]()
![]()
#define MESH_PS_NETWORK_DUTY_APPLIED_UPLINK
![]()
![]()
mesh_event_id_t
![]()
![]()
MESH_EVENT_STARTED
![]()
![]()
MESH_EVENT_STOPPED
![]()
![]()
MESH_EVENT_CHANNEL_SWITCH
![]()
![]()
MESH_EVENT_CHILD_CONNECTED
![]()
![]()
MESH_EVENT_CHILD_DISCONNECTED
![]()
![]()
MESH_EVENT_ROUTING_TABLE_ADD
![]()
![]()
MESH_EVENT_ROUTING_TABLE_REMOVE
![]()
![]()
MESH_EVENT_PARENT_CONNECTED
![]()
![]()
MESH_EVENT_PARENT_DISCONNECTED
![]()
![]()
MESH_EVENT_NO_PARENT_FOUND
![]()
![]()
MESH_EVENT_LAYER_CHANGE
![]()
![]()
MESH_EVENT_TODS_STATE
![]()
![]()
MESH_EVENT_VOTE_STARTED
![]()
![]()
MESH_EVENT_VOTE_STOPPED
![]()
![]()
MESH_EVENT_ROOT_ADDRESS
![]()
![]()
MESH_EVENT_ROOT_SWITCH_REQ
![]()
![]()
MESH_EVENT_ROOT_SWITCH_ACK
![]()
![]()
MESH_EVENT_ROOT_ASKED_YIELD
![]()
![]()
MESH_EVENT_ROOT_FIXED
![]()
![]()
MESH_EVENT_SCAN_DONE
![]()
![]()
MESH_EVENT_NETWORK_STATE
![]()
![]()
MESH_EVENT_STOP_RECONNECTION
![]()
![]()
MESH_EVENT_FIND_NETWORK
![]()
![]()
MESH_EVENT_ROUTER_SWITCH
![]()
![]()
MESH_EVENT_PS_PARENT_DUTY
![]()
![]()
MESH_EVENT_PS_CHILD_DUTY
![]()
![]()
MESH_EVENT_PS_DEVICE_DUTY
![]()
![]()
MESH_EVENT_MAX
![]()
![]()
MESH_EVENT;
![]()
![]()
mesh_type_t
![]()
![]()
MESH_IDLE
![]()
![]()
MESH_ROOT
![]()
![]()
MESH_NODE
![]()
![]()
MESH_LEAF
![]()
![]()
MESH_STA
![]()
![]()
mesh_proto_t
![]()
![]()
MESH_PROTO_BIN
![]()
![]()
MESH_PROTO_HTTP
![]()
![]()
MESH_PROTO_JSON
![]()
![]()
MESH_PROTO_MQTT
![]()
![]()
MESH_PROTO_AP
![]()
![]()
MESH_PROTO_STA
![]()
![]()
mesh_tos_t
![]()
![]()
MESH_TOS_P2P
![]()
![]()
MESH_TOS_E2E
![]()
![]()
MESH_TOS_DEF
![]()
![]()
mesh_vote_reason_t
![]()
![]()
MESH_VOTE_REASON_ROOT_INITIATED
![]()
![]()
MESH_VOTE_REASON_CHILD_INITIATED
![]()
![]()
mesh_disconnect_reason_t
![]()
![]()
MESH_REASON_CYCLIC
![]()
![]()
MESH_REASON_PARENT_IDLE
![]()
![]()
MESH_REASON_LEAF
![]()
![]()
MESH_REASON_DIFF_ID
![]()
![]()
MESH_REASON_ROOTS
![]()
![]()
MESH_REASON_PARENT_STOPPED
![]()
![]()
MESH_REASON_SCAN_FAIL
![]()
![]()
MESH_REASON_IE_UNKNOWN
![]()
![]()
MESH_REASON_WAIVE_ROOT
![]()
![]()
MESH_REASON_PARENT_WORSE
![]()
![]()
MESH_REASON_EMPTY_PASSWORD
![]()
![]()
MESH_REASON_PARENT_UNENCRYPTED
![]()
![]()
esp_mesh_topology_t
![]()
![]()
MESH_TOPO_TREE
![]()
![]()
MESH_TOPO_CHAIN
![]()
![]()
mip_t
![]()
![]()
ip4
![]()
![]()
port
![]()
![]()
mesh_addr_t
![]()
![]()
addr
![]()
![]()
mip
![]()
![]()
mesh_event_channel_switch_t
![]()
![]()
channel
![]()
![]()
mesh_event_connected_t
![]()
![]()
connected
![]()
![]()
self_layer
![]()
![]()
duty
![]()
![]()
mesh_event_no_parent_found_t
![]()
![]()
scan_times
![]()
![]()
mesh_event_layer_change_t
![]()
![]()
new_layer
![]()
![]()
mesh_event_toDS_state_t
![]()
![]()
MESH_TODS_UNREACHABLE
![]()
![]()
MESH_TODS_REACHABLE
![]()
![]()
mesh_event_vote_started_t
![]()
![]()
reason
![]()
![]()
attempts
![]()
![]()
rc_addr
![]()
![]()
mesh_event_find_network_t
![]()
![]()
channel
![]()
![]()
router_bssid
![]()
![]()
mesh_event_root_address_t
![]()
![]()
mesh_event_disconnected_t
![]()
![]()
mesh_event_child_connected_t
![]()
![]()
mesh_event_child_disconnected_t
![]()
![]()
mesh_event_root_switch_req_t
![]()
![]()
reason
![]()
![]()
rc_addr
![]()
![]()
mesh_event_root_conflict_t
![]()
![]()
rssi
![]()
![]()
capacity
![]()
![]()
addr
![]()
![]()
mesh_event_routing_table_change_t
![]()
![]()
rt_size_new
![]()
![]()
rt_size_change
![]()
![]()
mesh_event_root_fixed_t
![]()
![]()
is_fixed
![]()
![]()
mesh_event_scan_done_t
![]()
![]()
number
![]()
![]()
mesh_event_network_state_t
![]()
![]()
is_rootless
![]()
![]()
mesh_event_router_switch_t
![]()
![]()
mesh_event_ps_duty_t
![]()
![]()
duty
![]()
![]()
child_connected
![]()
![]()
mesh_event_info_t
![]()
![]()
channel_switch
![]()
![]()
child_connected
![]()
![]()
child_disconnected
![]()
![]()
routing_table
![]()
![]()
connected
![]()
![]()
disconnected
![]()
![]()
no_parent
![]()
![]()
layer_change
![]()
![]()
toDS_state
![]()
![]()
vote_started
![]()
![]()
root_addr
![]()
![]()
switch_req
![]()
![]()
root_conflict
![]()
![]()
root_fixed
![]()
![]()
scan_done
![]()
![]()
network_state
![]()
![]()
find_network
![]()
![]()
router_switch
![]()
![]()
ps_duty
![]()
![]()
mesh_opt_t
![]()
![]()
type
![]()
![]()
len
![]()
![]()
val
![]()
![]()
mesh_data_t
![]()
![]()
data
![]()
![]()
size
![]()
![]()
proto
![]()
![]()
tos
![]()
![]()
mesh_router_t
![]()
![]()
ssid
![]()
![]()
ssid_len
![]()
![]()
bssid
![]()
![]()
password
![]()
![]()
allow_router_switch
![]()
![]()
mesh_ap_cfg_t
![]()
![]()
password
![]()
![]()
max_connection
![]()
![]()
nonmesh_max_connection
![]()
![]()
mesh_cfg_t
![]()
![]()
channel
![]()
![]()
allow_channel_switch
![]()
![]()
mesh_id
![]()
![]()
router
![]()
![]()
mesh_ap
![]()
![]()
crypto_funcs
![]()
![]()
mesh_rc_config_t
![]()
![]()
attempts
![]()
![]()
rc_addr
![]()
![]()
mesh_vote_t
![]()
![]()
percentage
![]()
![]()
is_rc_specified
![]()
![]()
config
![]()
![]()
mesh_tx_pending_t
![]()
![]()
to_parent
![]()
![]()
to_parent_p2p
![]()
![]()
to_child
![]()
![]()
to_child_p2p
![]()
![]()
mgmt
![]()
![]()
broadcast
![]()
![]()
mesh_rx_pending_t
![]()
![]()
toDS
![]()
![]()
toSelf
![]()
![]()
g_wifi_default_mesh_crypto_funcs;
![]()
![]()
esp_mesh_init();
![]()
![]()
esp_mesh_deinit();
![]()
![]()
esp_mesh_start();
![]()
![]()
esp_mesh_stop();
![]()
![]()
esp_mesh_send(const mesh_addr_t *, const mesh_data_t *, int, const mesh_opt_t *, int);
![]()
![]()
esp_mesh_send_block_time(uint32_t);
![]()
![]()
esp_mesh_recv(mesh_addr_t *, mesh_data_t *, int, int *, mesh_opt_t *, int);
![]()
![]()
esp_mesh_recv_toDS(mesh_addr_t *, mesh_addr_t *, mesh_data_t *, int, int *, mesh_opt_t *, int);
![]()
![]()
esp_mesh_set_config(const mesh_cfg_t *);
![]()
![]()
esp_mesh_get_config(mesh_cfg_t *);
![]()
![]()
esp_mesh_set_router(const mesh_router_t *);
![]()
![]()
esp_mesh_get_router(mesh_router_t *);
![]()
![]()
esp_mesh_set_id(const mesh_addr_t *);
![]()
![]()
esp_mesh_get_id(mesh_addr_t *);
![]()
![]()
esp_mesh_set_type(mesh_type_t);
![]()
![]()
esp_mesh_get_type();
![]()
![]()
esp_mesh_set_max_layer(int);
![]()
![]()
esp_mesh_get_max_layer();
![]()
![]()
esp_mesh_set_ap_password(const uint8_t *, int);
![]()
![]()
esp_mesh_set_ap_authmode(wifi_auth_mode_t);
![]()
![]()
esp_mesh_get_ap_authmode();
![]()
![]()
esp_mesh_set_ap_connections(int);
![]()
![]()
esp_mesh_get_ap_connections();
![]()
![]()
esp_mesh_get_non_mesh_connections();
![]()
![]()
esp_mesh_get_layer();
![]()
![]()
esp_mesh_get_parent_bssid(mesh_addr_t *);
![]()
![]()
esp_mesh_is_root();
![]()
![]()
esp_mesh_set_self_organized(bool, bool);
![]()
![]()
esp_mesh_get_self_organized();
![]()
![]()
esp_mesh_waive_root(const mesh_vote_t *, int);
![]()
![]()
esp_mesh_set_vote_percentage(float);
![]()
![]()
esp_mesh_get_vote_percentage();
![]()
![]()
esp_mesh_set_ap_assoc_expire(int);
![]()
![]()
esp_mesh_get_ap_assoc_expire();
![]()
![]()
esp_mesh_get_total_node_num();
![]()
![]()
esp_mesh_get_routing_table_size();
![]()
![]()
esp_mesh_get_routing_table(mesh_addr_t *, int, int *);
![]()
![]()
esp_mesh_post_toDS_state(bool);
![]()
![]()
esp_mesh_get_tx_pending(mesh_tx_pending_t *);
![]()
![]()
esp_mesh_get_rx_pending(mesh_rx_pending_t *);
![]()
![]()
esp_mesh_available_txupQ_num(const mesh_addr_t *, uint32_t *);
![]()
![]()
esp_mesh_set_xon_qsize(int);
![]()
![]()
esp_mesh_get_xon_qsize();
![]()
![]()
esp_mesh_allow_root_conflicts(bool);
![]()
![]()
esp_mesh_is_root_conflicts_allowed();
![]()
![]()
esp_mesh_set_group_id(const mesh_addr_t *, int);
![]()
![]()
esp_mesh_delete_group_id(const mesh_addr_t *, int);
![]()
![]()
esp_mesh_get_group_num();
![]()
![]()
esp_mesh_get_group_list(mesh_addr_t *, int);
![]()
![]()
esp_mesh_is_my_group(const mesh_addr_t *);
![]()
![]()
esp_mesh_set_capacity_num(int);
![]()
![]()
esp_mesh_get_capacity_num();
![]()
![]()
esp_mesh_set_ie_crypto_funcs(const mesh_crypto_funcs_t *);
![]()
![]()
esp_mesh_set_ie_crypto_key(const char *, int);
![]()
![]()
esp_mesh_get_ie_crypto_key(char *, int);
![]()
![]()
esp_mesh_set_root_healing_delay(int);
![]()
![]()
esp_mesh_get_root_healing_delay();
![]()
![]()
esp_mesh_fix_root(bool);
![]()
![]()
esp_mesh_is_root_fixed();
![]()
![]()
esp_mesh_set_parent(const wifi_config_t *, const mesh_addr_t *, mesh_type_t, int);
![]()
![]()
esp_mesh_scan_get_ap_ie_len(int *);
![]()
![]()
esp_mesh_scan_get_ap_record(wifi_ap_record_t *, void *);
![]()
![]()
esp_mesh_flush_upstream_packets();
![]()
![]()
esp_mesh_get_subnet_nodes_num(const mesh_addr_t *, int *);
![]()
![]()
esp_mesh_get_subnet_nodes_list(const mesh_addr_t *, mesh_addr_t *, int);
![]()
![]()
esp_mesh_disconnect();
![]()
![]()
esp_mesh_connect();
![]()
![]()
esp_mesh_flush_scan_result();
![]()
![]()
esp_mesh_switch_channel(const uint8_t *, int, int);
![]()
![]()
esp_mesh_get_router_bssid(uint8_t *);
![]()
![]()
esp_mesh_get_tsf_time();
![]()
![]()
esp_mesh_set_topology(esp_mesh_topology_t);
![]()
![]()
esp_mesh_get_topology();
![]()
![]()
esp_mesh_enable_ps();
![]()
![]()
esp_mesh_disable_ps();
![]()
![]()
esp_mesh_is_ps_enabled();
![]()
![]()
esp_mesh_is_device_active();
![]()
![]()
esp_mesh_set_active_duty_cycle(int, int);
![]()
![]()
esp_mesh_get_active_duty_cycle(int *, int *);
![]()
![]()
esp_mesh_set_network_duty_cycle(int, int, int);
![]()
![]()
esp_mesh_get_network_duty_cycle(int *, int *, int *, int *);
![]()
![]()
esp_mesh_get_running_active_duty_cycle();
![]()
![]()
esp_mesh_ps_duty_signaling(int);