1139827Simp/*- 2139827Simp * Copyright (c) 1990,1994 Regents of The University of Michigan. 3139827Simp * All Rights Reserved. 4139827Simp * 5139827Simp * Permission to use, copy, modify, and distribute this software and 6139827Simp * its documentation for any purpose and without fee is hereby granted, 7139827Simp * provided that the above copyright notice appears in all copies and 8139827Simp * that both that copyright notice and this permission notice appear 9139827Simp * in supporting documentation, and that the name of The University 10139827Simp * of Michigan not be used in advertising or publicity pertaining to 11139827Simp * distribution of the software without specific, written prior 12139827Simp * permission. This software is supplied as is without expressed or 13139827Simp * implied warranties of any kind. 14139827Simp * 15139827Simp * This product includes software developed by the University of 16139827Simp * California, Berkeley and its contributors. 17139827Simp * 18139827Simp * Research Systems Unix Group 19139827Simp * The University of Michigan 20139827Simp * c/o Wesley Craig 21139827Simp * 535 W. William Street 22139827Simp * Ann Arbor, Michigan 23139827Simp * +1-313-764-2278 24139827Simp * netatalk@umich.edu 25139827Simp * 2683366Sjulian * $FreeBSD$ 2783366Sjulian */ 2815885Sjulian 29165972Srwatson#ifndef _NETATALK_AT_EXTERN_H_ 30165972Srwatson#define _NETATALK_AT_EXTERN_H_ 31142226Srwatson 32165972Srwatsonextern struct mtx aarptab_mtx; 33142226Srwatson 34142226Srwatson#define AARPTAB_LOCK() mtx_lock(&aarptab_mtx) 35142226Srwatson#define AARPTAB_UNLOCK() mtx_unlock(&aarptab_mtx) 36142226Srwatson#define AARPTAB_LOCK_ASSERT() mtx_assert(&aarptab_mtx, MA_OWNED) 37142226Srwatson#define AARPTAB_UNLOCK_ASSERT() mtx_assert(&aarptab_mtx, MA_NOTOWNED) 3815885Sjulian 39165972Srwatsonstruct at_ifaddr; 4033054Sbdestruct ifnet; 41165972Srwatsonstruct mbuf; 42165972Srwatsonstruct route; 4383366Sjulianstruct thread; 44165972Srwatsonstruct sockaddr_at; 4533054Sbdestruct socket; 46165972Srwatsonvoid aarpintr(struct mbuf *); 47165972Srwatsonvoid aarpprobe(void *arg); 48165972Srwatsonint aarpresolve(struct ifnet *, struct mbuf *, 49249925Sglebius const struct sockaddr_at *, u_char *); 50165972Srwatsonvoid aarp_clean(void); 51165972Srwatsonvoid at1intr(struct mbuf *); 52165972Srwatsonvoid at2intr(struct mbuf *); 53249925Sglebiusint at_broadcast(const struct sockaddr_at *); 54165972Srwatsonu_short at_cksum(struct mbuf *m, int skip); 55165972Srwatsonint at_control(struct socket *so, u_long cmd, caddr_t data, 56165972Srwatson struct ifnet *ifp, struct thread *td); 57249925Sglebiusstruct at_ifaddr *at_ifawithnet(const struct sockaddr_at *); 58249925Sglebiusstruct at_ifaddr *at_ifawithnet_locked(const struct sockaddr_at *sat); 59194819Srwatson 60178888Sjulianint at_inithead(void**, int); 61165972Srwatsonvoid ddp_init(void); 62165972Srwatsonint ddp_output(struct mbuf *m, struct socket *so); 63165972Srwatsonint ddp_route(struct mbuf *m, struct route *ro); 64165972Srwatsonstruct ddpcb *ddp_search(struct sockaddr_at *, struct sockaddr_at *, 65165972Srwatson struct at_ifaddr *); 6633054Sbde 67165972Srwatson#endif /* !_NETATALK_AT_EXTERN_H_ */ 68