mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-09 20:41:14 +00:00
lwip: Support for linux target
Implement linux port layer and reuse the original FreeRTOS layer that's compiled and used on linux target as well, by means of FreeRTOS simulator.
This commit is contained in:
76
components/lwip/port/include/lwip_default_hooks.h
Normal file
76
components/lwip/port/include/lwip_default_hooks.h
Normal file
@@ -0,0 +1,76 @@
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2020-2022 Espressif Systems (Shanghai) CO LTD
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
#ifndef LWIP_ESP_DEFAULT_HOOKS_H_
|
||||
#define LWIP_ESP_DEFAULT_HOOKS_H_
|
||||
#include "lwip/ip_addr.h"
|
||||
#include "lwip/arch.h"
|
||||
#include "lwip/err.h"
|
||||
#include "lwip/pbuf.h"
|
||||
#include "netif/dhcp_state.h"
|
||||
|
||||
|
||||
#ifdef ESP_IDF_LWIP_HOOK_FILENAME
|
||||
#include ESP_IDF_LWIP_HOOK_FILENAME
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT
|
||||
void lwip_init_tcp_isn(u32_t boot_time, const u8_t *secret_16_bytes);
|
||||
#endif
|
||||
#if defined(CONFIG_LWIP_HOOK_TCP_ISN_CUSTOM) || defined(CONFIG_LWIP_HOOK_TCP_ISN_DEFAULT)
|
||||
u32_t lwip_hook_tcp_isn(const ip_addr_t *local_ip, u16_t local_port,
|
||||
const ip_addr_t *remote_ip, u16_t remote_port);
|
||||
#define LWIP_HOOK_TCP_ISN lwip_hook_tcp_isn
|
||||
#endif /* CONFIG_LWIP_HOOK_TCP_ISN... */
|
||||
|
||||
#if defined(CONFIG_LWIP_HOOK_IP6_ROUTE_CUSTOM) || defined(CONFIG_LWIP_HOOK_IP6_ROUTE_DEFAULT)
|
||||
struct netif *
|
||||
lwip_hook_ip6_route(const ip6_addr_t *src, const ip6_addr_t *dest);
|
||||
|
||||
#define LWIP_HOOK_IP6_ROUTE lwip_hook_ip6_route
|
||||
#endif /* CONFIG_LWIP_HOOK_IP6_ROUTE... */
|
||||
|
||||
#if defined(CONFIG_LWIP_HOOK_ND6_GET_GW_CUSTOM) || defined(CONFIG_LWIP_HOOK_ND6_GET_GW_DEFAULT)
|
||||
const ip6_addr_t *lwip_hook_nd6_get_gw(struct netif *netif, const ip6_addr_t *dest);
|
||||
|
||||
#define LWIP_HOOK_ND6_GET_GW lwip_hook_nd6_get_gw
|
||||
#endif /* CONFIG_LWIP_HOOK_ND6_GET_GATEWAY... */
|
||||
|
||||
#if defined(CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_CUSTOM) || defined(CONFIG_LWIP_HOOK_NETCONN_EXT_RESOLVE_DEFAULT)
|
||||
int lwip_hook_netconn_external_resolve(const char *name, ip_addr_t *addr, u8_t addrtype, err_t *err);
|
||||
|
||||
#define LWIP_HOOK_NETCONN_EXTERNAL_RESOLVE lwip_hook_netconn_external_resolve
|
||||
#endif /* CONFIG_LWIP_HOOK_NETCONN_EXTERNAL_RESOLVE... */
|
||||
|
||||
#if defined(CONFIG_LWIP_HOOK_IP6_INPUT_CUSTOM) || defined(CONFIG_LWIP_HOOK_IP6_INPUT_DEFAULT)
|
||||
int lwip_hook_ip6_input(struct pbuf *p, struct netif *inp);
|
||||
|
||||
#define LWIP_HOOK_IP6_INPUT lwip_hook_ip6_input
|
||||
#endif /* CONFIG_LWIP_HOOK_IP6_INPUT_CUSTIOM... */
|
||||
|
||||
struct netif *
|
||||
ip4_route_src_hook(const ip4_addr_t *src,const ip4_addr_t *dest);
|
||||
|
||||
struct dhcp;
|
||||
struct netif;
|
||||
struct dhcp_msg;
|
||||
void dhcp_parse_extra_opts(struct dhcp *dhcp, uint8_t state, uint8_t option, uint8_t len, struct pbuf* p, uint16_t offset);
|
||||
|
||||
void dhcp_append_extra_opts(struct netif *netif, uint8_t state, struct dhcp_msg *msg_out, uint16_t *options_out_len);
|
||||
|
||||
int dhcp_set_vendor_class_identifier(uint8_t len, const char * str);
|
||||
int dhcp_get_vendor_specific_information(uint8_t len, char * str);
|
||||
void dhcp_free_vendor_class_identifier(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LWIP_ESP_DEFAULT_HOOKS_H_ */
|
Reference in New Issue
Block a user