xref: /openbsd/regress/sys/net/rtable/util.h (revision 7b93fac0)
1*7b93fac0Sdenis /* 	$OpenBSD: util.h,v 1.4 2020/11/07 09:53:21 denis Exp $ */
2996673c0Smpi 
3996673c0Smpi /*
4996673c0Smpi  * Copyright (c) 2015 Martin Pieuchot
5996673c0Smpi  *
6996673c0Smpi  * Permission to use, copy, modify, and distribute this software for any
7996673c0Smpi  * purpose with or without fee is hereby granted, provided that the above
8996673c0Smpi  * copyright notice and this permission notice appear in all copies.
9996673c0Smpi  *
10996673c0Smpi  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11996673c0Smpi  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12996673c0Smpi  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13996673c0Smpi  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14996673c0Smpi  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15996673c0Smpi  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16996673c0Smpi  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17996673c0Smpi  */
18996673c0Smpi 
19996673c0Smpi void	route_insert(unsigned int, sa_family_t, char *);
20996673c0Smpi void	route_delete(unsigned int, sa_family_t, char *);
21996673c0Smpi void	route_lookup(unsigned int, sa_family_t, char *);
22996673c0Smpi 
23996673c0Smpi int	do_from_file(unsigned int, sa_family_t, char *,
24996673c0Smpi 	    void (*f)(unsigned int, sa_family_t, char *));
25996673c0Smpi 
26996673c0Smpi int	rtentry_dump(struct rtentry *, void *, unsigned int);
27996673c0Smpi int	rtentry_delete(struct rtentry *, void *, unsigned int);
28996673c0Smpi void	rt_maskedcopy(struct sockaddr *, struct sockaddr *, struct sockaddr *);
29996673c0Smpi int	maskcmp(sa_family_t, struct sockaddr *, struct sockaddr *);
30996673c0Smpi int	inet_net_ptosa(sa_family_t, const char *, struct sockaddr *,
31996673c0Smpi 	     struct sockaddr *);
32996673c0Smpi char	*inet_net_satop(sa_family_t, struct sockaddr *, int, char *, size_t);
33*7b93fac0Sdenis 
34*7b93fac0Sdenis #define satosin(sa)	((struct sockaddr_in *)(sa))
35*7b93fac0Sdenis #define satosin6(sa)	((struct sockaddr_in6 *)(sa))
36