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