4 * Written by Toshiharu OHNO (tony-o@iij.ad.jp)
6 * Copyright (C) 1993, Internet Initiative Japan, Inc. All rights reserverd.
8 * Redistribution and use in source and binary forms are permitted
9 * provided that the above copyright notice and this paragraph are
10 * duplicated in all such forms and that any documentation,
11 * advertising materials, and other materials related to such
12 * distribution and use acknowledge that the software was developed
13 * by the Internet Initiative Japan, Inc. The name of the
14 * IIJ may not be used to endorse or promote products derived
15 * from this software without specific prior written permission.
16 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
17 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
18 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
29 #define ROUTE_STATIC 0x00
30 #define ROUTE_DSTMYADDR 0x01
31 #define ROUTE_DSTHISADDR 0x02
32 #define ROUTE_DSTDNS0 0x04
33 #define ROUTE_DSTDNS1 0x08
34 #define ROUTE_DSTANY 0x0f
35 #define ROUTE_GWHISADDR 0x10 /* May be ORd with DST_* */
38 int type; /* ROUTE_* value (not _STATIC) */
39 struct sticky_route *next; /* next in list */
46 extern int GetIfIndex(char *);
47 extern int route_Show(struct cmdargs const *);
48 extern void route_IfDelete(struct bundle *, int);
49 extern const char *Index2Nam(int);
50 extern void route_Change(struct bundle *, struct sticky_route *,
51 struct in_addr, struct in_addr, struct in_addr[2]);
52 extern void route_Add(struct sticky_route **, int, struct in_addr,
53 struct in_addr, struct in_addr);
54 extern void route_Delete(struct sticky_route **, int, struct in_addr);
55 extern void route_DeleteAll(struct sticky_route **);
56 extern void route_Clean(struct bundle *, struct sticky_route *);
57 extern void route_ShowSticky(struct prompt *, struct sticky_route *,
59 extern void route_ParseHdr(struct rt_msghdr *, struct sockaddr *[RTAX_MAX]);