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