1/*
2 * $Id: at_var.h,v 1.2 2001-06-29 14:14:47 rufustfirefly Exp $
3 *
4 * Copyright (c) 1990,1991 Regents of The University of Michigan.
5 *
6 * All Rights Reserved.  See COPYRIGHT.
7 */
8
9#ifndef _ATVAR_H
10#define _ATVAR_H 1
11
12/*
13 * For phase2, we need to keep not only our address on an interface,
14 * but also the legal networks on the interface.
15 */
16struct at_ifaddr {
17    struct ifaddr	aa_ifa;
18# define aa_ifp			aa_ifa.ifa_ifp
19#ifdef BSD4_4
20    struct sockaddr_at	aa_addr;
21    struct sockaddr_at	aa_broadaddr;
22    struct sockaddr_at	aa_netmask;
23#else /* BSD4_4 */
24# define aa_addr		aa_ifa.ifa_addr
25# define aa_broadaddr		aa_ifa.ifa_broadaddr
26# define aa_dstaddr		aa_ifa.ifa_dstaddr
27#endif /* BSD4_4 */
28    int			aa_flags;
29    u_short		aa_firstnet, aa_lastnet;
30    int			aa_probcnt;
31    struct at_ifaddr	*aa_next;
32};
33
34#ifdef BSD4_4
35struct at_aliasreq {
36	char	ifra_name[IFNAMSIZ];		/* if name, e.g. "en0" */
37	struct	sockaddr_at ifra_addr;
38	struct	sockaddr_at ifra_broadaddr;
39#define ifra_dstaddr ifra_broadaddr
40	struct	sockaddr_at ifra_mask;
41};
42#endif /* BSD4_4 */
43
44#define AA_SAT(aa) \
45    ((struct sockaddr_at *)&((struct at_ifaddr *)(aa))->aa_addr)
46#define satosat(sa)	((struct sockaddr_at *)(sa))
47
48#define AFA_ROUTE	0x0001
49#define AFA_PROBING	0x0002
50#define AFA_PHASE2	0x0004
51
52#ifdef KERNEL
53struct at_ifaddr	*at_ifaddr;
54struct ifqueue		atintrq1, atintrq2;
55int			atdebug;
56#endif /* KERNEL */
57
58#endif /* _ATVAR_H */
59