Initial import from FreeBSD RELENG_4:
[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  */
25
26 #ifndef _NETATALK_AT_VAR_H_
27 #define _NETATALK_AT_VAR_H_ 1
28 /*
29  * For phase2, we need to keep not only our address on an interface,
30  * but also the legal networks on the interface.
31  */
32 struct at_ifaddr {
33     struct ifaddr         aa_ifa;
34 # define aa_ifp                 aa_ifa.ifa_ifp
35     struct sockaddr_at    aa_addr;
36     struct sockaddr_at    aa_broadaddr;
37 # define aa_dstaddr             aa_broadaddr;
38     struct sockaddr_at    aa_netmask;
39     int                   aa_flags;
40     u_short               aa_firstnet, aa_lastnet;
41     int                   aa_probcnt;
42     struct callout_handle aa_ch;
43     struct at_ifaddr      *aa_next;
44 };
45
46 struct at_aliasreq {
47         char    ifra_name[IFNAMSIZ];            /* if name, e.g. "en0" */
48         struct  sockaddr_at ifra_addr;
49         struct  sockaddr_at ifra_broadaddr;
50 #define ifra_dstaddr ifra_broadaddr
51         struct  sockaddr_at ifra_mask;
52 };
53
54 #define AA_SAT(aa) \
55     (&(aa->aa_addr))
56 #define satosat(sa)     ((struct sockaddr_at *)(sa))
57
58 #define AFA_ROUTE       0x0001
59 #define AFA_PROBING     0x0002
60 #define AFA_PHASE2      0x0004
61
62 #ifdef _KERNEL
63 extern struct at_ifaddr *at_ifaddr;
64 extern struct ifqueue   atintrq1, atintrq2;
65 #endif
66
67 #endif /* _NETATALK_AT_VAR_H_ */