Home | History | Annotate | Line # | Download | only in netatalk
at_var.h revision 1.2
      1 /*	$NetBSD: at_var.h,v 1.2 2000/03/23 07:03:27 thorpej 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  * This product includes software developed by the University of
     18  * California, Berkeley and its contributors.
     19  *
     20  *	Research Systems Unix Group
     21  *	The University of Michigan
     22  *	c/o Wesley Craig
     23  *	535 W. William Street
     24  *	Ann Arbor, Michigan
     25  *	+1-313-764-2278
     26  *	netatalk (at) umich.edu
     27  */
     28 
     29 #ifndef _NETATALK_AT_VAR_H_
     30 #define _NETATALK_AT_VAR_H_ 1
     31 
     32 #include <sys/callout.h>
     33 
     34 /*
     35  * For phase2, we need to keep not only our address on an interface,
     36  * but also the legal networks on the interface.
     37  */
     38 struct at_ifaddr {
     39 	struct ifaddr   aa_ifa;
     40 #define aa_ifp		aa_ifa.ifa_ifp
     41 	struct sockaddr_at aa_addr;
     42 	struct sockaddr_at aa_broadaddr;
     43 #define aa_dstaddr	aa_broadaddr;
     44 	struct sockaddr_at aa_netmask;
     45 	int             aa_flags;
     46 	u_short         aa_firstnet, aa_lastnet;
     47 	int             aa_probcnt;
     48 	TAILQ_ENTRY(at_ifaddr) aa_list;	/* list of appletalk addresses */
     49 	struct callout	aa_probe_ch;	/* for aarpprobe() */
     50 };
     51 
     52 struct at_aliasreq {
     53 	char			ifra_name[IFNAMSIZ];
     54 	struct sockaddr_at	ifra_addr;
     55 	struct sockaddr_at	ifra_broadaddr;
     56 #define ifra_dstaddr		ifra_broadaddr
     57 	struct sockaddr_at	ifra_mask;
     58 };
     59 
     60 #define AA_SAT(aa) \
     61     (&(aa->aa_addr))
     62 #define satosat(sa)	((struct sockaddr_at *)(sa))
     63 
     64 #define AFA_ROUTE	0x0001
     65 #define AFA_PROBING	0x0002
     66 #define AFA_PHASE2	0x0004
     67 
     68 #ifdef _KERNEL
     69 TAILQ_HEAD(at_ifaddrhead, at_ifaddr);
     70 extern struct at_ifaddrhead at_ifaddr;
     71 struct ifqueue  atintrq1, atintrq2;
     72 int atdebug;
     73 #endif
     74 
     75 #endif /* _NETATALK_AT_VAR_H_ */
     76