summaryrefslogtreecommitdiffstats
path: root/sys/netatalk/at_extern.h
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2009-06-24 10:32:44 +0000
committerrwatson <rwatson@FreeBSD.org>2009-06-24 10:32:44 +0000
commit16b92db4cdd4f185b371177716f4b58594612d20 (patch)
tree60dc81a23ac68fc8613f2da7a97b2b2686ff4459 /sys/netatalk/at_extern.h
parent8a1869e3472bc512675d15b029ba4987b23aff87 (diff)
downloadFreeBSD-src-16b92db4cdd4f185b371177716f4b58594612d20.zip
FreeBSD-src-16b92db4cdd4f185b371177716f4b58594612d20.tar.gz
Break at_ifawithnet() into two variants:
- at_ifawithnet(), which acquires an locks it needs and returns an at_ifaddr reference. - at_ifawithnet_locked(), which relies on the caller locking at_ifaddr_list, and returns a pointer rather than a reference. Update various consumers to prefer one or the other, including ether and fddi output, to properly release at_ifaddr references. Rework at_control() to manage locking and references in a manner identical to in_control(). MFC after: 6 weeks
Diffstat (limited to 'sys/netatalk/at_extern.h')
-rw-r--r--sys/netatalk/at_extern.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/netatalk/at_extern.h b/sys/netatalk/at_extern.h
index cf11017..c00e526 100644
--- a/sys/netatalk/at_extern.h
+++ b/sys/netatalk/at_extern.h
@@ -55,6 +55,8 @@ u_short at_cksum(struct mbuf *m, int skip);
int at_control(struct socket *so, u_long cmd, caddr_t data,
struct ifnet *ifp, struct thread *td);
struct at_ifaddr *at_ifawithnet(struct sockaddr_at *);
+struct at_ifaddr *at_ifawithnet_locked(struct sockaddr_at *sat);
+
int at_inithead(void**, int);
void ddp_init(void);
int ddp_output(struct mbuf *m, struct socket *so);
OpenPOWER on IntegriCloud