1 /* 2 * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #pragma once 7 8 #include "esp_netif.h" 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 /** 15 * @brief Handle of bridge netif glue - an intermediate layer between ESP-NETIF and bridge ports ESP-NETIFs 16 * to access ports io drivers properties 17 * 18 */ 19 typedef struct esp_netif_br_glue_t* esp_netif_br_glue_handle_t; 20 21 /** 22 * @brief Create a netif glue for bridge 23 * @note bridge netif glue is used to attach ports netifs to the bridge (e.g. to get io driver statuses) 24 * 25 * @return - glue object on success 26 * - NULL on fail 27 */ 28 esp_netif_br_glue_handle_t esp_netif_br_glue_new(void); 29 30 /** 31 * @brief Add a port to the bridge netif glue 32 * 33 * @param netif_br_glue bridge netif glue 34 * @param esp_netif_port port netif 35 * @return - ESP_OK on success 36 */ 37 esp_err_t esp_netif_br_glue_add_port(esp_netif_br_glue_handle_t netif_br_glue, esp_netif_t *esp_netif_port); 38 39 /** 40 * @brief Delete netif glue of bridge 41 * 42 * @param netif_br_glue bridge netif glue 43 * @return - ESP_OK: delete netif glue successfully 44 */ 45 esp_err_t esp_netif_br_glue_del(esp_netif_br_glue_handle_t netif_br_glue); 46 47 #ifdef __cplusplus 48 } 49 #endif 50