36 lines
848 B
C
36 lines
848 B
C
|
/*
|
||
|
* route.c
|
||
|
*
|
||
|
* Kernel route table operations.
|
||
|
*
|
||
|
* Copyright (c) 2000 Dug Song <dugsong@monkey.org>
|
||
|
*
|
||
|
* $Id: route.h,v 1.6 2002/02/04 04:02:22 dugsong Exp $
|
||
|
*/
|
||
|
|
||
|
#ifndef DNET_ROUTE_H
|
||
|
#define DNET_ROUTE_H
|
||
|
|
||
|
/*
|
||
|
* Routing table entry
|
||
|
*/
|
||
|
struct route_entry {
|
||
|
struct addr route_dst; /* destination address */
|
||
|
struct addr route_gw; /* gateway address */
|
||
|
};
|
||
|
|
||
|
typedef struct route_handle route_t;
|
||
|
|
||
|
typedef int (*route_handler)(const struct route_entry *entry, void *arg);
|
||
|
|
||
|
__BEGIN_DECLS
|
||
|
route_t *route_open(void);
|
||
|
int route_add(route_t *r, const struct route_entry *entry);
|
||
|
int route_delete(route_t *r, const struct route_entry *entry);
|
||
|
int route_get(route_t *r, struct route_entry *entry);
|
||
|
int route_loop(route_t *r, route_handler callback, void *arg);
|
||
|
route_t *route_close(route_t *r);
|
||
|
__END_DECLS
|
||
|
|
||
|
#endif /* DNET_ROUTE_H */
|