Home | History | Annotate | Line # | Download | only in netatalk
at_var.h revision 1.1
      1 /*	$NetBSD: at_var.h,v 1.1 1997/04/02 21:31:08 christos 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  * For phase2, we need to keep not only our address on an interface,
     33  * but also the legal networks on the interface.
     34  */
     35 struct at_ifaddr {
     36 	struct ifaddr   aa_ifa;
     37 #define aa_ifp		aa_ifa.ifa_ifp
     38 	struct sockaddr_at aa_addr;
     39 	struct sockaddr_at aa_broadaddr;
     40 #define aa_dstaddr	aa_broadaddr;
     41 	struct sockaddr_at aa_netmask;
     42 	int             aa_flags;
     43 	u_short         aa_firstnet, aa_lastnet;
     44 	int             aa_probcnt;
     45 	TAILQ_ENTRY(at_ifaddr) aa_list;	/* list of appletalk addresses */
     46 };
     47 
     48 struct at_aliasreq {
     49 	char			ifra_name[IFNAMSIZ];
     50 	struct sockaddr_at	ifra_addr;
     51 	struct sockaddr_at	ifra_broadaddr;
     52 #define ifra_dstaddr		ifra_broadaddr
     53 	struct sockaddr_at	ifra_mask;
     54 };
     55 
     56 #define AA_SAT(aa) \
     57     (&(aa->aa_addr))
     58 #define satosat(sa)	((struct sockaddr_at *)(sa))
     59 
     60 #define AFA_ROUTE	0x0001
     61 #define AFA_PROBING	0x0002
     62 #define AFA_PHASE2	0x0004
     63 
     64 #ifdef _KERNEL
     65 TAILQ_HEAD(at_ifaddrhead, at_ifaddr);
     66 extern struct at_ifaddrhead at_ifaddr;
     67 struct ifqueue  atintrq1, atintrq2;
     68 int atdebug;
     69 #endif
     70 
     71 #endif /* _NETATALK_AT_VAR_H_ */
     72