1/*- 2 * Copyright (c) 1990,1994 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 * This product includes software developed by the University of 16 * California, Berkeley and its contributors. 17 * 18 * Research Systems Unix Group 19 * The University of Michigan 20 * c/o Wesley Craig 21 * 535 W. William Street 22 * Ann Arbor, Michigan 23 * +1-313-764-2278 24 * netatalk@umich.edu 25 * 26 * $FreeBSD$ 27 */ 28 29#ifndef _NETATALK_AT_EXTERN_H_ 30#define _NETATALK_AT_EXTERN_H_ 31 32extern struct mtx aarptab_mtx; 33 34#define AARPTAB_LOCK() mtx_lock(&aarptab_mtx) 35#define AARPTAB_UNLOCK() mtx_unlock(&aarptab_mtx) 36#define AARPTAB_LOCK_ASSERT() mtx_assert(&aarptab_mtx, MA_OWNED) 37#define AARPTAB_UNLOCK_ASSERT() mtx_assert(&aarptab_mtx, MA_NOTOWNED) 38 39struct at_ifaddr; 40struct ifnet; 41struct mbuf; 42struct route; 43struct thread; 44struct sockaddr_at; 45struct socket; 46void aarpintr(struct mbuf *); 47void aarpprobe(void *arg); 48int aarpresolve(struct ifnet *, struct mbuf *, 49 const struct sockaddr_at *, u_char *); 50void aarp_clean(void); 51void at1intr(struct mbuf *); 52void at2intr(struct mbuf *); 53int at_broadcast(const struct sockaddr_at *); 54u_short at_cksum(struct mbuf *m, int skip); 55int at_control(struct socket *so, u_long cmd, caddr_t data, 56 struct ifnet *ifp, struct thread *td); 57struct at_ifaddr *at_ifawithnet(const struct sockaddr_at *); 58struct at_ifaddr *at_ifawithnet_locked(const struct sockaddr_at *sat); 59 60int at_inithead(void**, int); 61void ddp_init(void); 62int ddp_output(struct mbuf *m, struct socket *so); 63int ddp_route(struct mbuf *m, struct route *ro); 64struct ddpcb *ddp_search(struct sockaddr_at *, struct sockaddr_at *, 65 struct at_ifaddr *); 66 67#endif /* !_NETATALK_AT_EXTERN_H_ */ 68