Skip to content

Commit

Permalink
slirp: clean up conflicts with system headers
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Jan Kiszka <[email protected]>
  • Loading branch information
bonzini authored and jan-kiszka committed Mar 28, 2012
1 parent 1658dd3 commit b722105
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 13 deletions.
8 changes: 1 addition & 7 deletions slirp/slirp.h
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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"
Expand All @@ -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

Expand Down
21 changes: 15 additions & 6 deletions slirp/tcp.h
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand All @@ -58,19 +59,23 @@ 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 */
};

#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
Expand All @@ -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.
Expand All @@ -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 */

/*
Expand Down

0 comments on commit b722105

Please sign in to comment.