1 // Copyright 2015-2019 Espressif Systems (Shanghai) PTE LTD 2 // 3 // Licensed under the Apache License, Version 2.0 (the "License"); 4 // you may not use this file except in compliance with the License. 5 // You may obtain a copy of the License at 6 7 // http://www.apache.org/licenses/LICENSE-2.0 8 // 9 // Unless required by applicable law or agreed to in writing, software 10 // distributed under the License is distributed on an "AS IS" BASIS, 11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 // See the License for the specific language governing permissions and 13 // limitations under the License. 14 15 #ifndef _TCPIP_ADAPTER_TYPES_H_ 16 #define _TCPIP_ADAPTER_TYPES_H_ 17 18 #include "lwip/ip_addr.h" 19 #include "apps/dhcpserver.h" 20 #include "esp_netif_sta_list.h" 21 22 #ifdef __cplusplus 23 extern "C" { 24 #endif 25 26 // 27 // Define compatible types if tcpip_adapter interface used 28 // 29 #define TCPIP_ADAPTER_DHCP_STARTED ESP_NETIF_DHCP_STARTED 30 #define TCPIP_ADAPTER_DHCP_STOPPED ESP_NETIF_DHCP_STOPPED 31 #define TCPIP_ADAPTER_DHCP_INIT ESP_NETIF_DHCP_INIT 32 #define TCPIP_ADAPTER_OP_SET ESP_NETIF_OP_SET 33 #define TCPIP_ADAPTER_OP_GET ESP_NETIF_OP_GET 34 #define TCPIP_ADAPTER_DOMAIN_NAME_SERVER ESP_NETIF_DOMAIN_NAME_SERVER 35 #define TCPIP_ADAPTER_ROUTER_SOLICITATION_ADDRESS ESP_NETIF_ROUTER_SOLICITATION_ADDRESS 36 #define TCPIP_ADAPTER_REQUESTED_IP_ADDRESS ESP_NETIF_REQUESTED_IP_ADDRESS 37 #define TCPIP_ADAPTER_IP_ADDRESS_LEASE_TIME ESP_NETIF_IP_ADDRESS_LEASE_TIME 38 #define TCPIP_ADAPTER_IP_REQUEST_RETRY_TIME ESP_NETIF_IP_REQUEST_RETRY_TIME 39 40 /** @brief Legacy error code definitions 41 * 42 */ 43 #define ESP_ERR_TCPIP_ADAPTER_INVALID_PARAMS ESP_ERR_ESP_NETIF_INVALID_PARAMS 44 #define ESP_ERR_TCPIP_ADAPTER_IF_NOT_READY ESP_ERR_ESP_NETIF_IF_NOT_READY 45 #define ESP_ERR_TCPIP_ADAPTER_DHCPC_START_FAILED ESP_ERR_ESP_NETIF_DHCPC_START_FAILED 46 #define ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STARTED ESP_ERR_ESP_NETIF_DHCP_ALREADY_STARTED 47 #define ESP_ERR_TCPIP_ADAPTER_DHCP_ALREADY_STOPPED ESP_ERR_ESP_NETIF_DHCP_ALREADY_STOPPED 48 #define ESP_ERR_TCPIP_ADAPTER_NO_MEM ESP_ERR_ESP_NETIF_NO_MEM 49 #define ESP_ERR_TCPIP_ADAPTER_DHCP_NOT_STOPPED ESP_ERR_ESP_NETIF_DHCP_NOT_STOPPED 50 51 typedef enum { 52 TCPIP_ADAPTER_IF_STA = 0, /**< Wi-Fi STA (station) interface */ 53 TCPIP_ADAPTER_IF_AP, /**< Wi-Fi soft-AP interface */ 54 TCPIP_ADAPTER_IF_ETH, /**< Ethernet interface */ 55 TCPIP_ADAPTER_IF_TEST, /**< tcpip stack test interface */ 56 TCPIP_ADAPTER_IF_MAX 57 } tcpip_adapter_if_t; 58 59 /** @brief legacy ip_info type 60 */ 61 typedef struct { 62 ip4_addr_t ip; /**< Interface IPV4 address */ 63 ip4_addr_t netmask; /**< Interface IPV4 netmask */ 64 ip4_addr_t gw; /**< Interface IPV4 gateway address */ 65 } tcpip_adapter_ip_info_t; 66 67 /** @brief legacy typedefs 68 */ 69 typedef esp_netif_dhcp_status_t tcpip_adapter_dhcp_status_t; 70 typedef dhcps_lease_t tcpip_adapter_dhcps_lease_t; 71 typedef esp_netif_dhcp_option_mode_t tcpip_adapter_dhcp_option_mode_t; 72 typedef esp_netif_dhcp_option_id_t tcpip_adapter_dhcp_option_id_t; 73 typedef esp_netif_dns_type_t tcpip_adapter_dns_type_t; 74 typedef esp_netif_dns_info_t tcpip_adapter_dns_info_t; 75 typedef esp_netif_sta_list_t tcpip_adapter_sta_list_t; 76 typedef esp_netif_sta_info_t tcpip_adapter_sta_info_t; 77 78 #ifdef __cplusplus 79 } // extern "C" 80 #endif 81 82 #endif // _TCPIP_ADAPTER_TYPES_H_ 83