xref: /minix/sbin/route/rtutil.h (revision 483e5955)
1*483e5955SDavid van Moolenbroek /*-
2*483e5955SDavid van Moolenbroek  * Copyright (c) 2013 The NetBSD Foundation, Inc.
3*483e5955SDavid van Moolenbroek  * All rights reserved.
4*483e5955SDavid van Moolenbroek  *
5*483e5955SDavid van Moolenbroek  * This code is derived from software contributed to The NetBSD Foundation
6*483e5955SDavid van Moolenbroek  * by Christos Zoulas.
7*483e5955SDavid van Moolenbroek  *
8*483e5955SDavid van Moolenbroek  * Redistribution and use in source and binary forms, with or without
9*483e5955SDavid van Moolenbroek  * modification, are permitted provided that the following conditions
10*483e5955SDavid van Moolenbroek  * are met:
11*483e5955SDavid van Moolenbroek  * 1. Redistributions of source code must retain the above copyright
12*483e5955SDavid van Moolenbroek  *    notice, this list of conditions and the following disclaimer.
13*483e5955SDavid van Moolenbroek  * 2. Redistributions in binary form must reproduce the above copyright
14*483e5955SDavid van Moolenbroek  *    notice, this list of conditions and the following disclaimer in the
15*483e5955SDavid van Moolenbroek  *    documentation and/or other materials provided with the distribution.
16*483e5955SDavid van Moolenbroek  * 3. Neither the name of The NetBSD Foundation nor the names of its
17*483e5955SDavid van Moolenbroek  *    contributors may be used to endorse or promote products derived
18*483e5955SDavid van Moolenbroek  *    from this software without specific prior written permission.
19*483e5955SDavid van Moolenbroek  *
20*483e5955SDavid van Moolenbroek  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
21*483e5955SDavid van Moolenbroek  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
22*483e5955SDavid van Moolenbroek  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23*483e5955SDavid van Moolenbroek  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
24*483e5955SDavid van Moolenbroek  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25*483e5955SDavid van Moolenbroek  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26*483e5955SDavid van Moolenbroek  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27*483e5955SDavid van Moolenbroek  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28*483e5955SDavid van Moolenbroek  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29*483e5955SDavid van Moolenbroek  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30*483e5955SDavid van Moolenbroek  * POSSIBILITY OF SUCH DAMAGE.
31*483e5955SDavid van Moolenbroek  */
32*483e5955SDavid van Moolenbroek 
33*483e5955SDavid van Moolenbroek #define RT_AFLAG	__BIT(0)	/* show address field */
34*483e5955SDavid van Moolenbroek #define RT_TFLAG	__BIT(1)	/* show tag field */
35*483e5955SDavid van Moolenbroek #define RT_VFLAG	__BIT(2)	/* show verbose statistics */
36*483e5955SDavid van Moolenbroek #define RT_NFLAG	__BIT(3)	/* numeric output */
37*483e5955SDavid van Moolenbroek #define RT_LFLAG	__BIT(4)	/* don't show LLINFO entries */
38*483e5955SDavid van Moolenbroek 
39*483e5955SDavid van Moolenbroek void p_rttables(int, int, int, int);
40*483e5955SDavid van Moolenbroek void p_rthdr(int, int);
41*483e5955SDavid van Moolenbroek void p_family(int);
42*483e5955SDavid van Moolenbroek void p_sockaddr(const struct sockaddr *, const struct sockaddr *, int, int, int);
43*483e5955SDavid van Moolenbroek void p_flags(int);
44*483e5955SDavid van Moolenbroek struct rt_metrics;
45*483e5955SDavid van Moolenbroek void p_rtrmx(const struct rt_metrics *);
46*483e5955SDavid van Moolenbroek void p_addr(const struct sockaddr *sa, const struct sockaddr *mask, int, int);
47*483e5955SDavid van Moolenbroek void p_gwaddr(const struct sockaddr *sa, int, int);
48*483e5955SDavid van Moolenbroek 
49*483e5955SDavid van Moolenbroek char *routename(const struct sockaddr *sa, int);
50*483e5955SDavid van Moolenbroek char *routename4(in_addr_t, int);
51*483e5955SDavid van Moolenbroek #ifdef INET6
52*483e5955SDavid van Moolenbroek char *routename6(const struct sockaddr_in6 *, int);
53*483e5955SDavid van Moolenbroek char *netname6(const struct sockaddr_in6 *, const struct sockaddr_in6 *, int);
54*483e5955SDavid van Moolenbroek #endif
55*483e5955SDavid van Moolenbroek char *netname(const struct sockaddr *, const struct sockaddr *, int);
56*483e5955SDavid van Moolenbroek char *netname4(const struct sockaddr_in *, const struct sockaddr_in *, int);
57*483e5955SDavid van Moolenbroek 
58*483e5955SDavid van Moolenbroek char *mpls_ntoa(const struct sockaddr *);
59*483e5955SDavid van Moolenbroek char *any_ntoa(const struct sockaddr *);
60