1 /*
2  * route.c
3  *
4  * Kernel route table operations.
5  *
6  * Copyright (c) 2000 Dug Song <dugsong@monkey.org>
7  *
8  * $Id$
9  */
10 
11 #ifndef DNET_ROUTE_H
12 #define DNET_ROUTE_H
13 
14 /*
15  * Routing table entry
16  */
17 struct route_entry {
18 	struct addr	route_dst;	/* destination address */
19 	struct addr	route_gw;	/* gateway address */
20 };
21 
22 typedef struct route_handle route_t;
23 
24 typedef int (*route_handler)(const struct route_entry *entry, void *arg);
25 
26 __BEGIN_DECLS
27 route_t	*route_open(void);
28 int	 route_add(route_t *r, const struct route_entry *entry);
29 int	 route_delete(route_t *r, const struct route_entry *entry);
30 int	 route_get(route_t *r, struct route_entry *entry);
31 int	 route_loop(route_t *r, route_handler callback, void *arg);
32 route_t	*route_close(route_t *r);
33 __END_DECLS
34 
35 #endif /* DNET_ROUTE_H */
36