at_extern.h revision 142226
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: head/sys/netatalk/at_extern.h 142226 2005-02-22 14:20:29Z rwatson $
2783366Sjulian */
2833054Sbdestruct mbuf;
2933054Sbdestruct sockaddr_at;
3015885Sjulian
3132350Seivind#ifdef _NET_IF_ARP_H_
3225047Sbdeextern timeout_t	aarpprobe;
33128636Sluigiextern int	aarpresolve	(struct ifnet *,
3415885Sjulian					struct mbuf *,
3515885Sjulian					struct sockaddr_at *,
3692745Salfred					u_char *);
3792745Salfredextern int	at_broadcast	(struct sockaddr_at  *);
38142226Srwatson
39142226Srwatsonextern struct mtx aarptab_mtx;
40142226Srwatson
41142226Srwatson#define	AARPTAB_LOCK()		mtx_lock(&aarptab_mtx)
42142226Srwatson#define	AARPTAB_UNLOCK()	mtx_unlock(&aarptab_mtx)
43142226Srwatson#define	AARPTAB_LOCK_ASSERT()	mtx_assert(&aarptab_mtx, MA_OWNED)
44142226Srwatson#define	AARPTAB_UNLOCK_ASSERT()	mtx_assert(&aarptab_mtx, MA_NOTOWNED)
4515885Sjulian#endif
4615885Sjulian
4715885Sjulian#ifdef _NETATALK_AARP_H_
4892745Salfredextern void	aarptfree	(struct aarptab *);
4915885Sjulian#endif
5015885Sjulian
5133054Sbdestruct ifnet;
5283366Sjulianstruct thread;
5333054Sbdestruct socket;
5433054Sbde
55111888Sjlemonextern void	aarpintr	(struct mbuf *);
56111888Sjlemonextern void	at1intr		(struct mbuf *);
57111888Sjlemonextern void	at2intr		(struct mbuf *);
5892745Salfredextern void	aarp_clean	(void);
5992745Salfredextern int	at_control	(struct socket *so,
6036735Sdfr					u_long cmd,
6115885Sjulian					caddr_t data,
6215885Sjulian					struct ifnet *ifp,
6392745Salfred					struct thread *td);
6492745Salfredextern u_short	at_cksum	(struct mbuf *m, int skip);
6592745Salfredextern void	ddp_init	(void);
6692745Salfredextern struct at_ifaddr *at_ifawithnet	(struct sockaddr_at *);
6715885Sjulian#ifdef	_NETATALK_DDP_VAR_H_
6892745Salfredextern int	ddp_output	(struct mbuf *m, struct socket *so);
6923396Sjulian
7015885Sjulian#endif
7115885Sjulian#if	defined (_NETATALK_DDP_VAR_H_) && defined(_NETATALK_AT_VAR_H_)
7292745Salfredextern struct ddpcb  *ddp_search(struct sockaddr_at *,
7315885Sjulian                                		struct sockaddr_at *,
7492745Salfred						struct at_ifaddr *);
7515885Sjulian#endif
7615885Sjulian#ifdef _NET_ROUTE_H_
7792745Salfredint     ddp_route(struct mbuf *m, struct route *ro);
7815885Sjulian#endif
7915885Sjulian
8015885Sjulian
81