Closes https://github.com/espressif/esp-idf/issues/4389 Closes https://github.com/espressif/esp-idf/issues/4507
116 lines
4.2 KiB
C
116 lines
4.2 KiB
C
// Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
#ifndef _ESP_NETIF_DEFAULTS_H
|
|
#define _ESP_NETIF_DEFAULTS_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
//
|
|
// Macros to assemble master configs with partial configs from netif, stack and driver
|
|
//
|
|
|
|
/**
|
|
* @brief Default configuration reference of ethernet interface
|
|
*/
|
|
#define ESP_NETIF_DEFAULT_ETH() \
|
|
{ \
|
|
.base = ESP_NETIF_BASE_DEFAULT_ETH, \
|
|
.driver = NULL, \
|
|
.stack = ESP_NETIF_NETSTACK_DEFAULT_ETH, \
|
|
}
|
|
|
|
/**
|
|
* @brief Default configuration reference of WIFI AP
|
|
*/
|
|
#define ESP_NETIF_DEFAULT_WIFI_AP() \
|
|
{ \
|
|
.base = ESP_NETIF_BASE_DEFAULT_WIFI_AP, \
|
|
.driver = NULL, \
|
|
.stack = ESP_NETIF_NETSTACK_DEFAULT_WIFI_AP, \
|
|
}
|
|
|
|
/**
|
|
* @brief Default configuration reference of WIFI STA
|
|
*/
|
|
#define ESP_NETIF_DEFAULT_WIFI_STA() \
|
|
{ \
|
|
.base = ESP_NETIF_BASE_DEFAULT_WIFI_STA, \
|
|
.driver = NULL, \
|
|
.stack = ESP_NETIF_NETSTACK_DEFAULT_WIFI_STA, \
|
|
}
|
|
|
|
/**
|
|
* @brief Default configuration reference of PPP client
|
|
*/
|
|
#define ESP_NETIF_DEFAULT_PPP() \
|
|
{ \
|
|
.base = ESP_NETIF_BASE_DEFAULT_PPP, \
|
|
.driver = NULL, \
|
|
.stack = ESP_NETIF_NETSTACK_DEFAULT_PPP, \
|
|
}
|
|
/**
|
|
* @brief Default base config (esp-netif inherent) of WIFI STA
|
|
*/
|
|
#define ESP_NETIF_BASE_DEFAULT_WIFI_STA &_g_esp_netif_inherent_sta_config
|
|
|
|
/**
|
|
* @brief Default base config (esp-netif inherent) of WIFI AP
|
|
*/
|
|
#define ESP_NETIF_BASE_DEFAULT_WIFI_AP &_g_esp_netif_inherent_ap_config
|
|
|
|
/**
|
|
* @brief Default base config (esp-netif inherent) of ethernet interface
|
|
*/
|
|
#define ESP_NETIF_BASE_DEFAULT_ETH &_g_esp_netif_inherent_eth_config
|
|
|
|
/**
|
|
* @brief Default base config (esp-netif inherent) of ppp interface
|
|
*/
|
|
#define ESP_NETIF_BASE_DEFAULT_PPP &_g_esp_netif_inherent_ppp_config
|
|
|
|
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_ETH _g_esp_netif_netstack_default_eth
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_WIFI_STA _g_esp_netif_netstack_default_wifi_sta
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_WIFI_AP _g_esp_netif_netstack_default_wifi_ap
|
|
#define ESP_NETIF_NETSTACK_DEFAULT_PPP _g_esp_netif_netstack_default_ppp
|
|
|
|
//
|
|
// Include default network stacks configs
|
|
// - Network stack configurations are provided in a specific network stack
|
|
// implementation that is invisible to user API
|
|
// - Here referenced only as opaque pointers
|
|
//
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_eth;
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_wifi_sta;
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_wifi_ap;
|
|
extern const esp_netif_netstack_config_t *_g_esp_netif_netstack_default_ppp;
|
|
|
|
//
|
|
// Include default common configs inherent to esp-netif
|
|
// - These inherent configs are defined in esp_netif_defaults.c and describe
|
|
// common behavioural patters for common interfaces such as STA, AP, ETH
|
|
//
|
|
extern const esp_netif_inherent_config_t _g_esp_netif_inherent_sta_config;
|
|
extern const esp_netif_inherent_config_t _g_esp_netif_inherent_ap_config;
|
|
extern const esp_netif_inherent_config_t _g_esp_netif_inherent_eth_config;
|
|
extern const esp_netif_inherent_config_t _g_esp_netif_inherent_ppp_config;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif //_ESP_NETIF_DEFAULTS_H
|