]> git.proxmox.com Git - qemu.git/blobdiff - slirp/tcp.h
qdev-properties-system.c: Allow vlan or netdev for -device, not both
[qemu.git] / slirp / tcp.h
index c7e3457b7a6187550e7b4475cb6e0ce8ee383ed0..2e2b4033a6c9a2bc8b6e21cc0d58a398dc32ae92 100644 (file)
@@ -33,7 +33,7 @@
 #ifndef _TCP_H_
 #define _TCP_H_
 
-typedef        u_int32_t       tcp_seq;
+typedef        uint32_t tcp_seq;
 
 #define      PR_SLOWHZ       2               /* 2 slow timeouts per second (approx) */
 #define      PR_FASTHZ       5               /* 5 fast timeouts per second (not important) */
@@ -45,47 +45,56 @@ typedef     u_int32_t       tcp_seq;
  * TCP header.
  * Per RFC 793, September, 1981.
  */
+#define tcphdr slirp_tcphdr
 struct tcphdr {
-       u_int16_t       th_sport;               /* source port */
-       u_int16_t       th_dport;               /* destination port */
+       uint16_t th_sport;              /* source port */
+       uint16_t th_dport;              /* destination port */
        tcp_seq th_seq;                 /* sequence number */
        tcp_seq th_ack;                 /* acknowledgement number */
 #ifdef HOST_WORDS_BIGENDIAN
-       u_int   th_off:4,               /* data offset */
+       uint8_t th_off:4,               /* data offset */
                th_x2:4;                /* (unused) */
 #else
-       u_int   th_x2:4,                /* (unused) */
+       uint8_t th_x2:4,                /* (unused) */
                th_off:4;               /* data offset */
 #endif
-       u_int8_t        th_flags;
+       uint8_t th_flags;
+       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
-       u_int16_t       th_win;                 /* window */
-       u_int16_t       th_sum;                 /* checksum */
-       u_int16_t       th_urp;                 /* urgent pointer */
-};
-
-#include "tcp_var.h"
+#endif
 
+#ifndef TCPOPT_EOL
 #define        TCPOPT_EOL              0
 #define        TCPOPT_NOP              1
 #define        TCPOPT_MAXSEG           2
-#define    TCPOLEN_MAXSEG              4
 #define TCPOPT_WINDOW          3
-#define    TCPOLEN_WINDOW              3
 #define TCPOPT_SACK_PERMITTED  4               /* Experimental */
-#define    TCPOLEN_SACK_PERMITTED      2
 #define TCPOPT_SACK            5               /* Experimental */
 #define TCPOPT_TIMESTAMP       8
-#define    TCPOLEN_TIMESTAMP           10
-#define    TCPOLEN_TSTAMP_APPA         (TCPOLEN_TIMESTAMP+2) /* appendix A */
 
 #define TCPOPT_TSTAMP_HDR      \
     (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP)
+#endif
+
+#ifndef TCPOLEN_MAXSEG
+#define    TCPOLEN_MAXSEG              4
+#define    TCPOLEN_WINDOW              3
+#define    TCPOLEN_SACK_PERMITTED      2
+#define    TCPOLEN_TIMESTAMP           10
+#define    TCPOLEN_TSTAMP_APPA         (TCPOLEN_TIMESTAMP+2) /* appendix A */
+#endif
 
 /*
  * Default maximum segment size for TCP.
@@ -95,10 +104,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 */
 
 /*