diff --git a/sys/netatalk/at_extern.h b/sys/netatalk/at_extern.h index bed1022c4a1d..7e9478f13af8 100644 --- a/sys/netatalk/at_extern.h +++ b/sys/netatalk/at_extern.h @@ -27,7 +27,9 @@ extern void ddp_init __P((void )); extern struct ifaddr *at_ifawithnet __P((struct sockaddr_at *, struct ifaddrhead *)); #ifdef _NETATALK_DDP_VAR_H_ -extern int ddp_output __P(( struct ddpcb *ddp, struct mbuf *m)); +extern int ddp_output __P((struct mbuf *m, struct socket *so)); + +/*extern int ddp_output __P(( struct ddpcb *ddp, struct mbuf *m));*/ #endif #if defined (_NETATALK_DDP_VAR_H_) && defined(_NETATALK_AT_VAR_H_) extern struct ddpcb *ddp_search __P((struct sockaddr_at *, diff --git a/sys/netatalk/ddp_output.c b/sys/netatalk/ddp_output.c index c5df8457086e..34f010b8720d 100644 --- a/sys/netatalk/ddp_output.c +++ b/sys/netatalk/ddp_output.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include @@ -46,9 +47,11 @@ int ddp_cksum = 1; int -ddp_output( struct ddpcb *ddp, struct mbuf *m) +/*ddp_output( struct ddpcb *ddp, struct mbuf *m)*/ +ddp_output( struct mbuf *m, struct socket *so) { struct ddpehdr *deh; + struct ddpcb *ddp = sotoddpcb( so ); M_PREPEND( m, sizeof( struct ddpehdr ), M_WAIT ); diff --git a/sys/netatalk/ddp_pcb.c b/sys/netatalk/ddp_pcb.c index 7a89a9481e57..3f03a306343c 100644 --- a/sys/netatalk/ddp_pcb.c +++ b/sys/netatalk/ddp_pcb.c @@ -133,7 +133,7 @@ ddp_usrreq( struct socket *so, int req, struct mbuf *m, } } - error = ddp_output( ddp, m ); + error = ddp_output( m, so ); m = NULL; if ( addr ) { at_pcbdisconnect( ddp ); diff --git a/sys/netatalk/ddp_usrreq.c b/sys/netatalk/ddp_usrreq.c index 7a89a9481e57..3f03a306343c 100644 --- a/sys/netatalk/ddp_usrreq.c +++ b/sys/netatalk/ddp_usrreq.c @@ -133,7 +133,7 @@ ddp_usrreq( struct socket *so, int req, struct mbuf *m, } } - error = ddp_output( ddp, m ); + error = ddp_output( m, so ); m = NULL; if ( addr ) { at_pcbdisconnect( ddp );