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: lib/getroute.c 1.03 (1996-04-13)
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
25 * This program is free software; you can redistribute it
26 * and/or modify it under the terms of the GNU General
27 * Public License as published by the Free Software
28 * Foundation; either version 2 of the License, or (at
29 * your option) any later version.
33 #include "net-support.h"
34 #include "pathnames.h"
37 #include "net-locale.h"
39 extern struct aftype unspec_aftype;
40 extern struct aftype unix_aftype;
41 extern struct aftype inet_aftype;
42 extern struct aftype inet6_aftype;
43 extern struct aftype ax25_aftype;
44 extern struct aftype netrom_aftype;
45 extern struct aftype ipx_aftype;
46 extern struct aftype ddp_aftype;
52 inet_aftype.rprint = INET_rprint;
55 inet6_aftype.rprint = INET6_rprint;
58 netrom_aftype.rprint = NETROM_rprint;
61 ax25_aftype.rprint = AX25_rprint;
64 ipx_aftype.rprint = IPX_rprint;
67 ddp_aftype.rprint = DDP_rprint;
72 route_info(const char *afname, int options)
76 int found=E_NOTFOUND,rc;
79 strncpy(buf,afname,sizeof(buf));
80 buf[sizeof(buf)-1]='\0';
88 if ((tmp2=index(tmp1,',')))
96 ap = get_aftype(tmp1);
99 fprintf(stderr,NLS_CATGETS(catfd, netstatSet, netstat_route_no_support, "Address family `%s' not supported.\n"),tmp1);
105 fprintf(stderr,NLS_CATGETS(catfd, netstatSet, netstat_type_no_route, "No routing for address family `%s'.\n"),ap->name);
111 if ((rc = ap->rprint(options)))