Merge from vendor branch NTPD:
[dragonfly.git] / sys / netproto / atalk / at_var.h
1 /*
2  * Copyright (c) 1990,1991 Regents of The University of Michigan.
3  * All Rights Reserved.
4  *
5  * Permission to use, copy, modify, and distribute this software and
6  * its documentation for any purpose and without fee is hereby granted,
7  * provided that the above copyright notice appears in all copies and
8  * that both that copyright notice and this permission notice appear
9  * in supporting documentation, and that the name of The University
10  * of Michigan not be used in advertising or publicity pertaining to
11  * distribution of the software without specific, written prior
12  * permission. This software is supplied as is without expressed or
13  * implied warranties of any kind.
14  *
15  *      Research Systems Unix Group
16  *      The University of Michigan
17  *      c/o Mike Clark
18  *      535 W. William Street
19  *      Ann Arbor, Michigan
20  *      +1-313-763-0525
21  *      netatalk@itd.umich.edu
22  *
23  * $FreeBSD: src/sys/netatalk/at_var.h,v 1.10 1999/12/29 04:45:57 peter Exp $
24  * $DragonFly: src/sys/netproto/atalk/at_var.h,v 1.3 2004/09/16 21:55:03 joerg Exp $
25  */
26
27 #ifndef _NETATALK_AT_VAR_H_
28 #define _NETATALK_AT_VAR_H_ 1
29 /*
30  * For phase2, we need to keep not only our address on an interface,
31  * but also the legal networks on the interface.
32  */
33 struct at_ifaddr {
34     struct ifaddr         aa_ifa;
35 # define aa_ifp                 aa_ifa.ifa_ifp
36     struct sockaddr_at    aa_addr;
37     struct sockaddr_at    aa_broadaddr;
38 # define aa_dstaddr             aa_broadaddr;
39     struct sockaddr_at    aa_netmask;
40     int                   aa_flags;
41     u_short               aa_firstnet, aa_lastnet;
42     int                   aa_probcnt;
43     struct callout        aa_ch;
44     struct at_ifaddr      *aa_next;
45 };
46
47 struct at_aliasreq {
48         char    ifra_name[IFNAMSIZ];            /* if name, e.g. "en0" */
49         struct  sockaddr_at ifra_addr;
50         struct  sockaddr_at ifra_broadaddr;
51 #define ifra_dstaddr ifra_broadaddr
52         struct  sockaddr_at ifra_mask;
53 };
54
55 #define AA_SAT(aa) \
56     (&(aa->aa_addr))
57 #define satosat(sa)     ((struct sockaddr_at *)(sa))
58
59 #define AFA_ROUTE       0x0001
60 #define AFA_PROBING     0x0002
61 #define AFA_PHASE2      0x0004
62
63 #ifdef _KERNEL
64 extern struct at_ifaddr *at_ifaddr;
65 extern struct ifqueue   atintrq1, atintrq2;
66 #endif
67
68 #endif /* _NETATALK_AT_VAR_H_ */