mirror of
https://github.com/espressif/ESP8266_RTOS_SDK.git
synced 2025-08-06 15:15:15 +08:00
feat(tcpip_adapter): Add tcpip_adapter and make wifi independent with lwip
This commit is contained in:
62
components/tcpip_adapter/include/tcpip_adapter.h
Normal file
62
components/tcpip_adapter/include/tcpip_adapter.h
Normal file
@ -0,0 +1,62 @@
|
||||
// Copyright 2018 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 _TCPIP_ADAPTER_H_
|
||||
#define _TCPIP_ADAPTER_H_
|
||||
|
||||
#include "sdkconfig.h"
|
||||
/**
|
||||
* @brief TCPIP adapter library
|
||||
*
|
||||
* The aim of this adapter is to provide an abstract layer upon TCPIP stack.
|
||||
* With this layer, switch to other TCPIP stack is possible and easy in ESP8266_RTOS_SDK.
|
||||
*
|
||||
* If users want to use other TCPIP stack, all those functions should be implemented
|
||||
* by using the specific APIs of that stack.
|
||||
*
|
||||
* tcpip_adapter_init should be called in the start of app_main for only once.
|
||||
*
|
||||
* Currently most adapter APIs are called in event_default_handlers.c.
|
||||
*
|
||||
* We recommend users only use set/get IP APIs, DHCP server/client APIs,
|
||||
* get free station list APIs in application side. Other APIs are used in ESP8266_RTOS_SDK internal,
|
||||
* otherwise the state maybe wrong.
|
||||
*
|
||||
*/
|
||||
|
||||
typedef enum {
|
||||
TCPIP_ADAPTER_IF_STA = 0, /**< ESP8266 station interface */
|
||||
TCPIP_ADAPTER_IF_AP, /**< ESP8266 soft-AP interface */
|
||||
TCPIP_ADAPTER_IF_MAX
|
||||
} tcpip_adapter_if_t;
|
||||
|
||||
struct netif *esp_netif[TCPIP_ADAPTER_IF_MAX];
|
||||
char* hostname;
|
||||
bool default_hostname;
|
||||
|
||||
#define TCPIP_ADAPTER_IF_VALID(fd) ((fd < TCPIP_ADAPTER_IF_MAX) ? 1 : 0)
|
||||
|
||||
/* Define those to better describe your network interface. */
|
||||
#define IFNAME0 'e'
|
||||
#define IFNAME1 'n'
|
||||
|
||||
#ifdef CONFIG_TCPIP_ADAPER_DEBUG
|
||||
#define TAG ""
|
||||
#define TCPIP_ATAPTER_LOG(str, ...) printf(TAG __FILE__ " line: %d " str, __LINE__, ##__VA_ARGS__)
|
||||
#else
|
||||
#define TCPIP_ATAPTER_LOG(str, ...)
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* _TCPIP_ADAPTER_H_ */
|
Reference in New Issue
Block a user