summaryrefslogtreecommitdiffstats
path: root/sys/netinet/in_pcb.h
diff options
context:
space:
mode:
authorhsu <hsu@FreeBSD.org>2002-06-14 08:35:21 +0000
committerhsu <hsu@FreeBSD.org>2002-06-14 08:35:21 +0000
commitabda76de0b81d58e1eb0e275c4e384fe97cca491 (patch)
tree4544f6f0f46695f374bc2a22ee6af0eecc9a671f /sys/netinet/in_pcb.h
parent0c8a9db6f99a60d7dd69784a1c0e0f6d254fdcc3 (diff)
downloadFreeBSD-src-abda76de0b81d58e1eb0e275c4e384fe97cca491.zip
FreeBSD-src-abda76de0b81d58e1eb0e275c4e384fe97cca491.tar.gz
Notify functions can destroy the pcb, so they have to return an
indication of whether this happenned so the calling function knows whether or not to unlock the pcb. Submitted by: Jennifer Yang (yangjihui@yahoo.com) Bug reported by: Sid Carter (sidcarter@symonds.net)
Diffstat (limited to 'sys/netinet/in_pcb.h')
-rw-r--r--sys/netinet/in_pcb.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/netinet/in_pcb.h b/sys/netinet/in_pcb.h
index fa3f29e..1d9a21d 100644
--- a/sys/netinet/in_pcb.h
+++ b/sys/netinet/in_pcb.h
@@ -324,7 +324,8 @@ extern int ipport_hilastauto;
void in_pcbpurgeif0(struct inpcbinfo *, struct ifnet *);
void in_losing(struct inpcb *);
-void in_rtchange(struct inpcb *, int);
+struct inpcb *
+ in_rtchange(struct inpcb *, int);
int in_pcballoc(struct socket *, struct inpcbinfo *, struct thread *);
int in_pcbbind(struct inpcb *, struct sockaddr *, struct thread *);
int in_pcbconnect(struct inpcb *, struct sockaddr *, struct thread *);
@@ -340,7 +341,7 @@ struct inpcb *
in_pcblookup_hash(struct inpcbinfo *, struct in_addr, u_int,
struct in_addr, u_int, int, struct ifnet *);
void in_pcbnotifyall(struct inpcbinfo *pcbinfo, struct in_addr,
- int, void (*)(struct inpcb *, int));
+ int, struct inpcb *(*)(struct inpcb *, int));
void in_pcbrehash(struct inpcb *);
int in_setpeeraddr(struct socket *so, struct sockaddr **nam, struct inpcbinfo *pcbinfo);
int in_setsockaddr(struct socket *so, struct sockaddr **nam, struct inpcbinfo *pcbinfo);;
OpenPOWER on IntegriCloud