]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Slirp cleanups.
authorToni Wilen <twilen@winuae.net>
Sat, 1 Apr 2017 17:11:26 +0000 (20:11 +0300)
committerToni Wilen <twilen@winuae.net>
Sat, 1 Apr 2017 17:11:26 +0000 (20:11 +0300)
slirp/ip_input.cpp
slirp/slirp.cpp
slirp/slirp.h
slirp/tcp_input.cpp
slirp/udp.cpp

index 9705c7e7d47957be12e903fe94fd2c7d90e1477a..9f06064c93af6f674970aafc8fb0a6ee26271ac2 100644 (file)
@@ -81,7 +81,7 @@ void ip_input(struct mbuf *m)
        
        DEBUG_CALL("ip_input");
        DEBUG_ARG("m = %p", m);
-       DEBUG_ARG("m_len = %d", m->m_len);
+       DEBUG_ARG("m_len = %zu", m->m_len);
 
        ipstat.ips_total++;
        
index 55059b35afd9ea38c8ab9aa10a655db3180f2d2e..b5b5583505a7c8d30cc46aaa742afcf46a09d3ec 100644 (file)
@@ -121,13 +121,13 @@ static int get_dns_addr(struct in_addr *pdns_addr)
 
 #endif
 
-static int inited;
-
 int slirp_init(void)
 {
     //    debug_init("/tmp/slirp.log", DEBUG_DEFAULT);
     
 #ifdef _WIN32
+       static int inited;
+
        if (!inited) {
         WSADATA Data;
         WSAStartup(MAKEWORD(2,0), &Data);
index 945e0d7a891748c131236df629d998bed2ec06a1..77b2e3180122caa2c58abb458cf67a8e139bbd51 100644 (file)
@@ -50,8 +50,20 @@ typedef unsigned long ioctlsockopt_t;
 # define write_udp slirp_write_udp
 # define init_udp slirp_init_udp
 # define final_udp slirp_final_udp
-#else
+#else //!_WIN32
 typedef int ioctlsockopt_t;
+
+# define WSAGetLastError() (int)(errno)
+# define WSASetLastError(e) (void)(errno = (e))
+# define WSAEWOULDBLOCK EWOULDBLOCK
+# define WSAEINPROGRESS EINPROGRESS
+# define WSAENOTCONN ENOTCONN
+# define WSAEHOSTUNREACH EHOSTUNREACH
+# define WSAENETUNREACH ENETUNREACH
+# define WSAECONNREFUSED ECONNREFUSED
+
+# define SLIRP_SOCKET int
+
 # define ioctlsocket ioctl
 # define closesocket(s) close(s)
 # define O_BINARY 0
index ae5331bb3d29cdcc106deda9aef5c5c06a1d14c3..6973ffb48a2afaa4c0e7ce28e20265e9b803deb1 100644 (file)
@@ -1072,7 +1072,7 @@ findso:
                        if (ti->ti_len == 0 && tiwin == tp->snd_wnd) {
                                tcpstat.tcps_rcvdupack++;
                                DEBUG_MISC((" dup ack  m = %p  so = %p \n",
-                                       (long)m, (long)so));
+                                       m, so));
                                /*
                                 * If we have outstanding data (other than
                                 * a window probe), this is a completely
index fc30fb9558ddb5e16df4242a83b450264230f69d..b82c13ae753e03fdd6baf312d835a06229f64ddc 100644 (file)
@@ -341,7 +341,7 @@ SLIRP_SOCKET udp_attach(struct socket *so)
                if(bind(so->s, (struct sockaddr *)&addr, sizeof(addr))<0) {
                        int error = WSAGetLastError();
                        closesocket(so->s);
-                       so->s =1;
+                       so->s = -1;
                        WSASetLastError(error);
                } else {
                        /* success, insert in queue */