2 * lib/getroute.c This file contains a small interface function to
3 * use the AF specific print routine for the routing
6 * NET-LIB A collection of functions used from the base set of the
7 * NET-3 Networking Distribution for the LINUX operating
8 * system. (net-tools, net-drivers)
10 * Version: $Id: getroute.c,v 1.6 2000/05/20 13:38:10 pb Exp $
12 * Author: Bernd 'eckes' Eckenfels <net-tools@lina.inka.de>
13 * Copyright 1999 Bernd Eckenfels, Germany
17 *951020 {0.10} Bernd Eckenfels: creation
18 *960202 {0.90} Bernd Eckenfels: rewrite to use getaftype.
19 *960204 {0.91} Bernd Eckenfels: takes constant list of AFs
20 *960206 {1.01} Bernd Eckenfels: route_init will enable routing
21 * support in the AF handlers
22 *960221 {1.02} Bernd Eckenfels: renamed from route_info to getroute.c
23 *960413 {1.03} Bernd Eckenfels: new RTACTION support
24 *980701 {1.04} Arnaldo C. Melo: GNU gettext instead of catgets
26 * This program is free software; you can redistribute it
27 * and/or modify it under the terms of the GNU General
28 * Public License as published by the Free Software
29 * Foundation; either version 2 of the License, or (at
30 * your option) any later version.
34 #include "net-support.h"
35 #include "pathnames.h"
41 extern struct aftype unspec_aftype
;
42 extern struct aftype unix_aftype
;
43 extern struct aftype inet_aftype
;
44 extern struct aftype inet6_aftype
;
45 extern struct aftype ax25_aftype
;
46 extern struct aftype netrom_aftype
;
47 extern struct aftype ipx_aftype
;
48 extern struct aftype ddp_aftype
;
49 extern struct aftype x25_aftype
;
51 void getroute_init(void)
54 inet_aftype
.rprint
= INET_rprint
;
57 inet6_aftype
.rprint
= INET6_rprint
;
60 netrom_aftype
.rprint
= NETROM_rprint
;
63 ax25_aftype
.rprint
= AX25_rprint
;
66 ipx_aftype
.rprint
= IPX_rprint
;
69 ddp_aftype
.rprint
= DDP_rprint
;
72 x25_aftype
.rprint
= X25_rprint
;
76 int route_info(const char *afname
, int options
)
80 int found
= E_NOTFOUND
, rc
;
83 safe_strncpy(buf
, afname
, sizeof(buf
));
91 if ((tmp2
= index(tmp1
, ',')))
98 ap
= get_aftype(tmp1
);
101 fprintf(stderr
, _("Address family `%s' not supported.\n"), tmp1
);
107 fprintf(stderr
, _("No routing for address family `%s'.\n"), ap
->name
);
112 if ((rc
= ap
->rprint(options
)))