summaryrefslogtreecommitdiffstats
path: root/slirp/udp.c
diff options
context:
space:
mode:
Diffstat (limited to 'slirp/udp.c')
-rw-r--r--slirp/udp.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/slirp/udp.c b/slirp/udp.c
index 309feb9aae..29a31e9400 100644
--- a/slirp/udp.c
+++ b/slirp/udp.c
@@ -38,7 +38,6 @@
* terms and conditions of the copyright.
*/
-#include "qemu/osdep.h"
#include "slirp.h"
#include "ip_icmp.h"
@@ -93,7 +92,7 @@ udp_input(register struct mbuf *m, int iphlen)
* Get IP and UDP header together in first mbuf.
*/
ip = mtod(m, struct ip *);
- uh = (struct udphdr *)((caddr_t)ip + iphlen);
+ uh = (struct udphdr *)((char *)ip + iphlen);
/*
* Make mbuf data length reflect UDP length.
@@ -281,7 +280,7 @@ int udp_output(struct socket *so, struct mbuf *m,
int
udp_attach(struct socket *so, unsigned short af)
{
- so->s = qemu_socket(af, SOCK_DGRAM, 0);
+ so->s = slirp_socket(af, SOCK_DGRAM, 0);
if (so->s != -1) {
so->so_expire = curtime + SO_EXPIRE;
insque(so, &so->slirp->udb);
@@ -292,7 +291,8 @@ udp_attach(struct socket *so, unsigned short af)
void
udp_detach(struct socket *so)
{
- closesocket(so->s);
+ so->slirp->cb->unregister_poll_fd(so->s, so->slirp->opaque);
+ slirp_closesocket(so->s);
sofree(so);
}
@@ -319,15 +319,15 @@ udp_tos(struct socket *so)
}
struct socket *
-udp_listen(Slirp *slirp, uint32_t haddr, u_int hport, uint32_t laddr,
- u_int lport, int flags)
+udp_listen(Slirp *slirp, uint32_t haddr, unsigned hport, uint32_t laddr,
+ unsigned lport, int flags)
{
struct sockaddr_in addr;
struct socket *so;
socklen_t addrlen = sizeof(struct sockaddr_in);
so = socreate(slirp);
- so->s = qemu_socket(AF_INET,SOCK_DGRAM,0);
+ so->s = slirp_socket(AF_INET,SOCK_DGRAM,0);
if (so->s < 0) {
sofree(so);
return NULL;
@@ -343,7 +343,7 @@ udp_listen(Slirp *slirp, uint32_t haddr, u_int hport, uint32_t laddr,
udp_detach(so);
return NULL;
}
- socket_set_fast_reuse(so->s);
+ slirp_socket_set_fast_reuse(so->s);
getsockname(so->s,(struct sockaddr *)&addr,&addrlen);
so->fhost.sin = addr;