xref: /minix3/minix/net/lwip/rtsock.h (revision ef8d499e2d2af900e9b2ab297171d7b088652482)
1*ef8d499eSDavid van Moolenbroek #ifndef MINIX_NET_LWIP_RTSOCK_H
2*ef8d499eSDavid van Moolenbroek #define MINIX_NET_LWIP_RTSOCK_H
3*ef8d499eSDavid van Moolenbroek 
4*ef8d499eSDavid van Moolenbroek #include "ifaddr.h"
5*ef8d499eSDavid van Moolenbroek #include "lldata.h"
6*ef8d499eSDavid van Moolenbroek 
7*ef8d499eSDavid van Moolenbroek struct route_entry;
8*ef8d499eSDavid van Moolenbroek struct rtsock_request;
9*ef8d499eSDavid van Moolenbroek 
10*ef8d499eSDavid van Moolenbroek void rtsock_init(void);
11*ef8d499eSDavid van Moolenbroek sockid_t rtsock_socket(int type, int protocol, struct sock ** sock,
12*ef8d499eSDavid van Moolenbroek 	const struct sockevent_ops ** ops);
13*ef8d499eSDavid van Moolenbroek 
14*ef8d499eSDavid van Moolenbroek void rtsock_msg_ifannounce(struct ifdev * ifdev, int arrival);
15*ef8d499eSDavid van Moolenbroek void rtsock_msg_ifinfo(struct ifdev * ifdev);
16*ef8d499eSDavid van Moolenbroek 
17*ef8d499eSDavid van Moolenbroek void rtsock_msg_addr_dl(struct ifdev * ifdev, unsigned int type,
18*ef8d499eSDavid van Moolenbroek 	ifaddr_dl_num_t num);
19*ef8d499eSDavid van Moolenbroek void rtsock_msg_addr_v4(struct ifdev * ifdev, unsigned int type,
20*ef8d499eSDavid van Moolenbroek 	ifaddr_v4_num_t num);
21*ef8d499eSDavid van Moolenbroek void rtsock_msg_addr_v6(struct ifdev * ifdev, unsigned int type,
22*ef8d499eSDavid van Moolenbroek 	ifaddr_v6_num_t num);
23*ef8d499eSDavid van Moolenbroek 
24*ef8d499eSDavid van Moolenbroek void rtsock_msg_miss(const struct sockaddr * addr);
25*ef8d499eSDavid van Moolenbroek void rtsock_msg_route(const struct route_entry * route, unsigned int type,
26*ef8d499eSDavid van Moolenbroek 	const struct rtsock_request * rtr);
27*ef8d499eSDavid van Moolenbroek void rtsock_msg_arp(lldata_arp_num_t num, unsigned int type,
28*ef8d499eSDavid van Moolenbroek 	const struct rtsock_request * rtr);
29*ef8d499eSDavid van Moolenbroek void rtsock_msg_ndp(lldata_ndp_num_t num, unsigned int type,
30*ef8d499eSDavid van Moolenbroek 	const struct rtsock_request * rtr);
31*ef8d499eSDavid van Moolenbroek 
32*ef8d499eSDavid van Moolenbroek #endif /* !MINIX_NET_LWIP_RTSOCK_H */
33