diff options
author | Stefan Weil <sw@weilnetz.de> | 2013-03-08 19:58:32 +0100 |
---|---|---|
committer | Stefan Hajnoczi <stefanha@redhat.com> | 2013-03-22 13:14:48 +0100 |
commit | 513737b82a7fd9fcf49b82872ff75134746041e7 (patch) | |
tree | d29c26d1d837cef16d94ab8f5a5b8e18e78dad92 | |
parent | 2f52555e93636116c41de9732e114b17f82b8ee9 (diff) | |
download | slirp-513737b82a7fd9fcf49b82872ff75134746041e7.zip slirp-513737b82a7fd9fcf49b82872ff75134746041e7.tar.gz slirp-513737b82a7fd9fcf49b82872ff75134746041e7.tar.bz2 |
MinGW: Replace setsockopt by qemu_setsocketopt
Instead of adding missing type casts which are needed by MinGW for the
4th argument, the patch uses qemu_setsockopt which was invented for this
purpose.
Signed-off-by: Stefan Weil <sw@weilnetz.de>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
-rw-r--r-- | misc.c | 4 | ||||
-rw-r--r-- | socket.c | 5 | ||||
-rw-r--r-- | tcp_subr.c | 8 | ||||
-rw-r--r-- | udp.c | 2 |
4 files changed, 9 insertions, 10 deletions
@@ -207,9 +207,9 @@ int fork_exec(struct socket *so, const char *ex, int do_pty) } while (so->s < 0 && errno == EINTR); closesocket(s); opt = 1; - setsockopt(so->s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int)); + qemu_setsockopt(so->s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int)); opt = 1; - setsockopt(so->s, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(int)); + qemu_setsockopt(so->s, SOL_SOCKET, SO_OOBINLINE, &opt, sizeof(int)); socket_set_nonblock(so->s); /* Append the telnet options now */ @@ -633,8 +633,7 @@ struct socket *tcp_listen(Slirp *slirp, uint32_t haddr, u_int hport, addr.sin_port = hport; if (((s = qemu_socket(AF_INET, SOCK_STREAM, 0)) < 0) || - (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int)) < - 0) || + (qemu_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int)) < 0) || (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) || (listen(s, 1) < 0)) { int tmperrno = errno; /* Don't clobber the real reason we failed */ @@ -649,7 +648,7 @@ struct socket *tcp_listen(Slirp *slirp, uint32_t haddr, u_int hport, #endif return NULL; } - setsockopt(s, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(int)); + qemu_setsockopt(s, SOL_SOCKET, SO_OOBINLINE, &opt, sizeof(int)); getsockname(s, (struct sockaddr *)&addr, &addrlen); so->so_fport = addr.sin_port; @@ -336,9 +336,9 @@ int tcp_fconnect(struct socket *so) socket_set_nonblock(s); opt = 1; - setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(opt)); + qemu_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt)); opt = 1; - setsockopt(s, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(opt)); + qemu_setsockopt(s, SOL_SOCKET, SO_OOBINLINE, &opt, sizeof(opt)); addr.sin_family = AF_INET; if ((so->so_faddr.s_addr & slirp->vnetwork_mask.s_addr) == @@ -426,9 +426,9 @@ void tcp_connect(struct socket *inso) } socket_set_nonblock(s); opt = 1; - setsockopt(s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int)); + qemu_setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int)); opt = 1; - setsockopt(s, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, sizeof(int)); + qemu_setsockopt(s, SOL_SOCKET, SO_OOBINLINE, &opt, sizeof(int)); socket_set_nodelay(s); so->so_fport = addr.sin_port; @@ -362,7 +362,7 @@ struct socket *udp_listen(Slirp *slirp, uint32_t haddr, u_int hport, udp_detach(so); return NULL; } - setsockopt(so->s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(int)); + qemu_setsockopt(so->s, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(int)); getsockname(so->s, (struct sockaddr *)&addr, &addrlen); so->so_fport = addr.sin_port; |