xref: /minix/minix/lib/liblwip/lib/lwiphooks.h (revision ef8d499e)
1 /*
2  * MINIX 3 specific hooks for lwIP.
3  */
4 #ifndef LWIP_LWIPHOOKS_H
5 #define LWIP_LWIPHOOKS_H
6 
7 /* TCP ISN hook. */
8 u32_t lwip_hook_tcp_isn(const ip_addr_t * local_ip, u16_t local_port,
9 	const ip_addr_t * remote_ip, u16_t remote_port);
10 
11 #define LWIP_HOOK_TCP_ISN lwip_hook_tcp_isn
12 
13 /*
14  * IPv4 route hook.  Since we override the IPv4 routing function altogether,
15  * this hook should not be called and will panic if it is called, because that
16  * is an indication that something is seriously wrong.  Note that we do not use
17  * the IPv4 source route hook, because that one would be called (needlessly).
18  */
19 struct netif *lwip_hook_ip4_route(const ip4_addr_t * dst);
20 
21 #define LWIP_HOOK_IP4_ROUTE lwip_hook_ip4_route
22 
23 /* IPv4 gateway hook. */
24 const ip4_addr_t *lwip_hook_etharp_get_gw(struct netif * netif,
25 	const ip4_addr_t * ipaddr);
26 
27 #define LWIP_HOOK_ETHARP_GET_GW lwip_hook_etharp_get_gw
28 
29 /*
30  * IPv6 route hook.  Since we override the IPv6 routing function altogether,
31  * this hook should not be called and will panic if it is called, because that
32  * is an indication that something is seriously wrong.
33  */
34 struct netif *lwip_hook_ip6_route(const ip6_addr_t * dst,
35 	const ip6_addr_t * src);
36 
37 #define LWIP_HOOK_IP6_ROUTE lwip_hook_ip6_route
38 
39 /* IPv6 gateway (next-hop) hook. */
40 const ip6_addr_t *lwip_hook_nd6_get_gw(struct netif * netif,
41 	const ip6_addr_t * ipaddr);
42 
43 #define LWIP_HOOK_ND6_GET_GW lwip_hook_nd6_get_gw
44 
45 #endif /* !LWIP_LWIPHOOKS_H */
46