1 /* $OpenBSD: at_var.h,v 1.2 2007/05/26 12:09:40 claudio Exp $ */
2
3 /*
4 * Copyright (c) 1990,1991 Regents of The University of Michigan.
5 * All Rights Reserved.
6 *
7 * Permission to use, copy, modify, and distribute this software and
8 * its documentation for any purpose and without fee is hereby granted,
9 * provided that the above copyright notice appears in all copies and
10 * that both that copyright notice and this permission notice appear
11 * in supporting documentation, and that the name of The University
12 * of Michigan not be used in advertising or publicity pertaining to
13 * distribution of the software without specific, written prior
14 * permission. This software is supplied as is without expressed or
15 * implied warranties of any kind.
16 *
17 * Research Systems Unix Group
18 * The University of Michigan
19 * c/o Mike Clark
20 * 535 W. William Street
21 * Ann Arbor, Michigan
22 * +1-313-763-0525
23 * netatalk@itd.umich.edu
24 */
25
26 /*
27 * The following is the contents of the COPYRIGHT file from the
28 * netatalk-1.4a2 distribution, from which this file is derived.
29 */
30 /*
31 * Copyright (c) 1990,1996 Regents of The University of Michigan.
32 *
33 * All Rights Reserved.
34 *
35 * Permission to use, copy, modify, and distribute this software and
36 * its documentation for any purpose and without fee is hereby granted,
37 * provided that the above copyright notice appears in all copies and
38 * that both that copyright notice and this permission notice appear
39 * in supporting documentation, and that the name of The University
40 * of Michigan not be used in advertising or publicity pertaining to
41 * distribution of the software without specific, written prior
42 * permission. This software is supplied as is without expressed or
43 * implied warranties of any kind.
44 *
45 * This product includes software developed by the University of
46 * California, Berkeley and its contributors.
47 *
48 * Solaris code is encumbered by the following:
49 *
50 * Copyright (C) 1996 by Sun Microsystems Computer Co.
51 *
52 * Permission to use, copy, modify, and distribute this software and
53 * its documentation for any purpose and without fee is hereby
54 * granted, provided that the above copyright notice appear in all
55 * copies and that both that copyright notice and this permission
56 * notice appear in supporting documentation. This software is
57 * provided "as is" without express or implied warranty.
58 *
59 * Research Systems Unix Group
60 * The University of Michigan
61 * c/o Wesley Craig
62 * 535 W. William Street
63 * Ann Arbor, Michigan
64 * +1-313-764-2278
65 * netatalk@umich.edu
66 */
67 /*
68 * None of the Solaris code mentioned is included in OpenBSD.
69 * This code also relies heavily on previous effort in FreeBSD and NetBSD.
70 */
71
72 #ifndef _NETATALK_AT_VAR_H_
73 #define _NETATALK_AT_VAR_H_ 1
74
75 /*
76 * For phase2, we need to keep not only our address on an interface,
77 * but also the legal networks on the interface.
78 */
79 struct at_ifaddr {
80 struct ifaddr aa_ifa;
81 # define aa_ifp aa_ifa.ifa_ifp
82 struct sockaddr_at aa_addr;
83 struct sockaddr_at aa_broadaddr;
84 struct sockaddr_at aa_netmask;
85 int aa_flags;
86 u_short aa_firstnet, aa_lastnet;
87 int aa_probcnt;
88 struct at_ifaddr *aa_next;
89 };
90
91 struct at_aliasreq {
92 char ifra_name[IFNAMSIZ]; /* if name, e.g. "en0" */
93 struct sockaddr_at ifra_addr;
94 struct sockaddr_at ifra_broadaddr;
95 #define ifra_dstaddr ifra_broadaddr
96 struct sockaddr_at ifra_mask;
97 };
98
99 #define AA_SAT(aa) \
100 ((struct sockaddr_at *)&((struct at_ifaddr *)(aa))->aa_addr)
101 #define satosat(sa) ((struct sockaddr_at *)(sa))
102
103 #define AFA_ROUTE 0x0001
104 #define AFA_PROBING 0x0002
105 #define AFA_PHASE2 0x0004
106
107 #ifdef _KERNEL
108 extern struct at_ifaddr *at_ifaddr;
109 extern struct ifqueue atintrq1, atintrq2;
110 extern int atdebug;
111 #endif
112
113 #endif /* _NETATALK_AT_VAR_H_ */