slirp: clean up conflicts with system headers
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 22 Mar 2012 00:02:51 +0000 (01:02 +0100)
committerJan Kiszka <jan.kiszka@siemens.com>
Wed, 28 Mar 2012 18:33:16 +0000 (20:33 +0200)
Right now, slirp/slirp.h cannot include some system headers and,
indirectly, qemu_socket.h.  Clean this up, and remove a duplicate
prototype that was introduced because of that.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
slirp/slirp.h
slirp/tcp.h

index 5033ee3118ac7702c6f1484ec0bfc3b795ddfb97..2098b20e39fd9504e2de7076c0d32899b341dfb8 100644 (file)
@@ -88,10 +88,6 @@ void *malloc(size_t arg);
 void free(void *ptr);
 #endif
 
-#ifndef HAVE_INET_ATON
-int inet_aton(const char *cp, struct in_addr *ia);
-#endif
-
 #include <fcntl.h>
 #ifndef NO_UNIX_SOCKETS
 #include <sys/un.h>
@@ -144,6 +140,7 @@ int inet_aton(const char *cp, struct in_addr *ia);
 #include "debug.h"
 
 #include "qemu-queue.h"
+#include "qemu_socket.h"
 
 #include "libslirp.h"
 #include "ip.h"
@@ -167,9 +164,6 @@ int inet_aton(const char *cp, struct in_addr *ia);
 #include "bootp.h"
 #include "tftp.h"
 
-/* osdep.c */
-int qemu_socket(int domain, int type, int protocol);
-
 #define ETH_ALEN 6
 #define ETH_HLEN 14
 
index b3817cb13c7a4c350fc24be15afd1a1743feba16..82996031e0f894b99843d9592f5c4517cb6ac7f0 100644 (file)
@@ -45,6 +45,7 @@ typedef       uint32_t tcp_seq;
  * TCP header.
  * Per RFC 793, September, 1981.
  */
+#define tcphdr slirp_tcphdr
 struct tcphdr {
        uint16_t th_sport;              /* source port */
        uint16_t th_dport;              /* destination port */
@@ -58,12 +59,6 @@ struct tcphdr {
                th_off:4;               /* data offset */
 #endif
        uint8_t th_flags;
-#define        TH_FIN  0x01
-#define        TH_SYN  0x02
-#define        TH_RST  0x04
-#define        TH_PUSH 0x08
-#define        TH_ACK  0x10
-#define        TH_URG  0x20
        uint16_t th_win;                /* window */
        uint16_t th_sum;                /* checksum */
        uint16_t th_urp;                /* urgent pointer */
@@ -71,6 +66,16 @@ struct tcphdr {
 
 #include "tcp_var.h"
 
+#ifndef TH_FIN
+#define        TH_FIN  0x01
+#define        TH_SYN  0x02
+#define        TH_RST  0x04
+#define        TH_PUSH 0x08
+#define        TH_ACK  0x10
+#define        TH_URG  0x20
+#endif
+
+#ifndef TCPOPT_EOL
 #define        TCPOPT_EOL              0
 #define        TCPOPT_NOP              1
 #define        TCPOPT_MAXSEG           2
@@ -86,6 +91,7 @@ struct tcphdr {
 
 #define TCPOPT_TSTAMP_HDR      \
     (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP)
+#endif
 
 /*
  * Default maximum segment size for TCP.
@@ -95,10 +101,13 @@ struct tcphdr {
  *
  * We make this 1460 because we only care about Ethernet in the qemu context.
  */
+#undef TCP_MSS
 #define        TCP_MSS 1460
 
+#undef TCP_MAXWIN
 #define        TCP_MAXWIN      65535   /* largest value for (unscaled) window */
 
+#undef TCP_MAX_WINSHIFT
 #define TCP_MAX_WINSHIFT       14      /* maximum window shift */
 
 /*