]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
Use netinet/tcp.h (with correction) rather than kernel headers
authorStephen Hemminger <stephen.hemminger@vyatta.com>
Mon, 31 Dec 2007 18:41:18 +0000 (10:41 -0800)
committerStephen Hemminger <stephen.hemminger@vyatta.com>
Mon, 31 Dec 2007 18:41:18 +0000 (10:41 -0800)
Fix the userspace header file rather than importing more
kernel headers.

Signed-off-by: Stephen Hemminger <stephen.hemminger@vyatta.com>
include/linux/tcp.h [deleted file]
include/net/tcp_states.h [deleted file]
misc/ss.c

diff --git a/include/linux/tcp.h b/include/linux/tcp.h
deleted file mode 100644 (file)
index dd2985e..0000000
+++ /dev/null
@@ -1,174 +0,0 @@
-/*
- * INET                An implementation of the TCP/IP protocol suite for the LINUX
- *             operating system.  INET is implemented using the  BSD Socket
- *             interface as the means of communication with the user level.
- *
- *             Definitions for the TCP protocol.
- *
- * Version:    @(#)tcp.h       1.0.2   04/28/93
- *
- * Author:     Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- *             This program is free software; you can redistribute it and/or
- *             modify it under the terms of the GNU General Public License
- *             as published by the Free Software Foundation; either version
- *             2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_TCP_H
-#define _LINUX_TCP_H
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-#include <linux/socket.h>
-
-struct tcphdr {
-       __be16  source;
-       __be16  dest;
-       __be32  seq;
-       __be32  ack_seq;
-#if defined(__LITTLE_ENDIAN_BITFIELD)
-       __u16   res1:4,
-               doff:4,
-               fin:1,
-               syn:1,
-               rst:1,
-               psh:1,
-               ack:1,
-               urg:1,
-               ece:1,
-               cwr:1;
-#elif defined(__BIG_ENDIAN_BITFIELD)
-       __u16   doff:4,
-               res1:4,
-               cwr:1,
-               ece:1,
-               urg:1,
-               ack:1,
-               psh:1,
-               rst:1,
-               syn:1,
-               fin:1;
-#else
-#error "Adjust your <asm/byteorder.h> defines"
-#endif 
-       __be16  window;
-       __sum16 check;
-       __be16  urg_ptr;
-};
-
-/*
- *     The union cast uses a gcc extension to avoid aliasing problems
- *  (union is compatible to any of its members)
- *  This means this part of the code is -fstrict-aliasing safe now.
- */
-union tcp_word_hdr { 
-       struct tcphdr hdr;
-       __be32            words[5];
-}; 
-
-#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3]) 
-
-enum { 
-       TCP_FLAG_CWR = __constant_htonl(0x00800000), 
-       TCP_FLAG_ECE = __constant_htonl(0x00400000), 
-       TCP_FLAG_URG = __constant_htonl(0x00200000), 
-       TCP_FLAG_ACK = __constant_htonl(0x00100000), 
-       TCP_FLAG_PSH = __constant_htonl(0x00080000), 
-       TCP_FLAG_RST = __constant_htonl(0x00040000), 
-       TCP_FLAG_SYN = __constant_htonl(0x00020000), 
-       TCP_FLAG_FIN = __constant_htonl(0x00010000),
-       TCP_RESERVED_BITS = __constant_htonl(0x0F000000),
-       TCP_DATA_OFFSET = __constant_htonl(0xF0000000)
-}; 
-
-/* TCP socket options */
-#define TCP_NODELAY            1       /* Turn off Nagle's algorithm. */
-#define TCP_MAXSEG             2       /* Limit MSS */
-#define TCP_CORK               3       /* Never send partially complete segments */
-#define TCP_KEEPIDLE           4       /* Start keeplives after this period */
-#define TCP_KEEPINTVL          5       /* Interval between keepalives */
-#define TCP_KEEPCNT            6       /* Number of keepalives before death */
-#define TCP_SYNCNT             7       /* Number of SYN retransmits */
-#define TCP_LINGER2            8       /* Life time of orphaned FIN-WAIT-2 state */
-#define TCP_DEFER_ACCEPT       9       /* Wake up listener only when data arrive */
-#define TCP_WINDOW_CLAMP       10      /* Bound advertised window */
-#define TCP_INFO               11      /* Information about this connection. */
-#define TCP_QUICKACK           12      /* Block/reenable quick acks */
-#define TCP_CONGESTION         13      /* Congestion control algorithm */
-#define TCP_MD5SIG             14      /* TCP MD5 Signature (RFC2385) */
-
-#define TCPI_OPT_TIMESTAMPS    1
-#define TCPI_OPT_SACK          2
-#define TCPI_OPT_WSCALE                4
-#define TCPI_OPT_ECN           8
-
-enum tcp_ca_state
-{
-       TCP_CA_Open = 0,
-#define TCPF_CA_Open   (1<<TCP_CA_Open)
-       TCP_CA_Disorder = 1,
-#define TCPF_CA_Disorder (1<<TCP_CA_Disorder)
-       TCP_CA_CWR = 2,
-#define TCPF_CA_CWR    (1<<TCP_CA_CWR)
-       TCP_CA_Recovery = 3,
-#define TCPF_CA_Recovery (1<<TCP_CA_Recovery)
-       TCP_CA_Loss = 4
-#define TCPF_CA_Loss   (1<<TCP_CA_Loss)
-};
-
-struct tcp_info
-{
-       __u8    tcpi_state;
-       __u8    tcpi_ca_state;
-       __u8    tcpi_retransmits;
-       __u8    tcpi_probes;
-       __u8    tcpi_backoff;
-       __u8    tcpi_options;
-       __u8    tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
-
-       __u32   tcpi_rto;
-       __u32   tcpi_ato;
-       __u32   tcpi_snd_mss;
-       __u32   tcpi_rcv_mss;
-
-       __u32   tcpi_unacked;
-       __u32   tcpi_sacked;
-       __u32   tcpi_lost;
-       __u32   tcpi_retrans;
-       __u32   tcpi_fackets;
-
-       /* Times. */
-       __u32   tcpi_last_data_sent;
-       __u32   tcpi_last_ack_sent;     /* Not remembered, sorry. */
-       __u32   tcpi_last_data_recv;
-       __u32   tcpi_last_ack_recv;
-
-       /* Metrics. */
-       __u32   tcpi_pmtu;
-       __u32   tcpi_rcv_ssthresh;
-       __u32   tcpi_rtt;
-       __u32   tcpi_rttvar;
-       __u32   tcpi_snd_ssthresh;
-       __u32   tcpi_snd_cwnd;
-       __u32   tcpi_advmss;
-       __u32   tcpi_reordering;
-
-       __u32   tcpi_rcv_rtt;
-       __u32   tcpi_rcv_space;
-
-       __u32   tcpi_total_retrans;
-};
-
-/* for TCP_MD5SIG socket option */
-#define TCP_MD5SIG_MAXKEYLEN   80
-
-struct tcp_md5sig {
-       struct __kernel_sockaddr_storage tcpm_addr;     /* address associated */
-       __u16   __tcpm_pad1;                            /* zero */
-       __u16   tcpm_keylen;                            /* key length */
-       __u32   __tcpm_pad2;                            /* zero */
-       __u8    tcpm_key[TCP_MD5SIG_MAXKEYLEN];         /* key (binary) */
-};
-
-
-#endif /* _LINUX_TCP_H */
diff --git a/include/net/tcp_states.h b/include/net/tcp_states.h
deleted file mode 100644 (file)
index b0b6459..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * INET                An implementation of the TCP/IP protocol suite for the LINUX
- *             operating system.  INET is implemented using the  BSD Socket
- *             interface as the means of communication with the user level.
- *
- *             Definitions for the TCP protocol sk_state field.
- *
- *             This program is free software; you can redistribute it and/or
- *             modify it under the terms of the GNU General Public License
- *             as published by the Free Software Foundation; either version
- *             2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_TCP_STATES_H
-#define _LINUX_TCP_STATES_H
-
-enum {
-       TCP_ESTABLISHED = 1,
-       TCP_SYN_SENT,
-       TCP_SYN_RECV,
-       TCP_FIN_WAIT1,
-       TCP_FIN_WAIT2,
-       TCP_TIME_WAIT,
-       TCP_CLOSE,
-       TCP_CLOSE_WAIT,
-       TCP_LAST_ACK,
-       TCP_LISTEN,
-       TCP_CLOSING,    /* Now a valid state */
-
-       TCP_MAX_STATES  /* Leave at the end! */
-};
-
-#define TCP_STATE_MASK 0xF
-
-#define TCP_ACTION_FIN (1 << 7)
-
-enum {
-       TCPF_ESTABLISHED = (1 << 1),
-       TCPF_SYN_SENT    = (1 << 2),
-       TCPF_SYN_RECV    = (1 << 3),
-       TCPF_FIN_WAIT1   = (1 << 4),
-       TCPF_FIN_WAIT2   = (1 << 5),
-       TCPF_TIME_WAIT   = (1 << 6),
-       TCPF_CLOSE       = (1 << 7),
-       TCPF_CLOSE_WAIT  = (1 << 8),
-       TCPF_LAST_ACK    = (1 << 9),
-       TCPF_LISTEN      = (1 << 10),
-       TCPF_CLOSING     = (1 << 11) 
-};
-
-#endif /* _LINUX_TCP_STATES_H */
index 5d14f13295afeb21da9561b8088e2a2b59bb9a96..53558515240401064dea7cb0ece067b917323404 100644 (file)
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -33,9 +33,8 @@
 #include "libnetlink.h"
 #include "SNAPSHOT.h"
 
+#include <netinet/tcp.h>
 #include <linux/inet_diag.h>
-#include <linux/tcp.h>
-#include <net/tcp_states.h>
 
 int resolve_hosts = 0;
 int resolve_services = 1;