• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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