xref: /original-bsd/sbin/XNSrouted/af.h (revision c3e32dec)
1 /*
2  * Copyright (c) 1983, 1993
3  *	The Regents of the University of California.  All rights reserved.
4  *
5  * %sccs.include.redist.c%
6  *
7  *	@(#)af.h	5.1 (Berkeley) 6/4/85 (routed/af.h)
8  *
9  *	@(#)af.h	8.1 (Berkeley) 06/05/93
10  */
11 
12 /*
13  * Routing table management daemon.
14  */
15 
16 /*
17  * Per address family routines.
18  */
19 struct afswitch {
20 	int	(*af_hash)();		/* returns keys based on address */
21 	int	(*af_netmatch)();	/* verifies net # matching */
22 	int	(*af_output)();		/* interprets address for sending */
23 	int	(*af_portmatch)();	/* packet from some other router? */
24 	int	(*af_portcheck)();	/* packet from privileged peer? */
25 	int	(*af_checkhost)();	/* tells if address for host or net */
26 	int	(*af_ishost)();		/* tells if address is valid */
27 	int	(*af_canon)();		/* canonicalize address for compares */
28 };
29 
30 /*
31  * Structure returned by af_hash routines.
32  */
33 struct afhash {
34 	u_int	afh_hosthash;		/* host based hash */
35 	u_int	afh_nethash;		/* network based hash */
36 };
37 
38 struct	afswitch afswitch[AF_MAX];	/* table proper */
39