source: branches/libc-0.6/src/emx/include/netinet/tcp_var.h@ 2518

Last change on this file since 2518 was 183, checked in by bird, 23 years ago

#434: Initial tcpip header merges.

  • Property cvs2svn:cvs-rev set to 1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 7.5 KB
Line 
1/* Modified for emx by hv 1996
2 *
3 * Copyright (c) 1982, 1986 Regents of the University of California.
4 * All rights reserved.
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
14 * 3. All advertising materials mentioning features or use of this software
15 * must display the following acknowledgement:
16 * This product includes software developed by the University of
17 * California, Berkeley and its contributors.
18 * 4. Neither the name of the University nor the names of its contributors
19 * may be used to endorse or promote products derived from this software
20 * without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 * SUCH DAMAGE.
33 *
34 * from: @(#)tcp_var.h 7.10 (Berkeley) 6/28/90
35 * $Id: tcp_var.h,v 1.7 1994/01/10 23:27:47 mycroft Exp $
36 */
37
38#ifndef _NETINET_TCP_VAR_H_
39#define _NETINET_TCP_VAR_H_
40
41/*
42 * TCP statistics.
43 * Many of these should be kept per connection,
44 * but that's inconvenient at the moment.
45 */
46struct tcpstat {
47 u_long tcps_connattempt; /* connections initiated */
48 u_long tcps_accepts; /* connections accepted */
49 u_long tcps_connects; /* connections established */
50 u_long tcps_drops; /* connections dropped */
51 u_long tcps_conndrops; /* embryonic connections dropped */
52 u_long tcps_closed; /* conn. closed (includes drops) */
53 u_long tcps_segstimed; /* segs where we tried to get rtt */
54 u_long tcps_rttupdated; /* times we succeeded */
55 u_long tcps_delack; /* delayed acks sent */
56 u_long tcps_timeoutdrop; /* conn. dropped in rxmt timeout */
57 u_long tcps_rexmttimeo; /* retransmit timeouts */
58 u_long tcps_persisttimeo; /* persist timeouts */
59 u_long tcps_keeptimeo; /* keepalive timeouts */
60 u_long tcps_keepprobe; /* keepalive probes sent */
61 u_long tcps_keepdrops; /* connections dropped in keepalive */
62
63 u_long tcps_sndtotal; /* total packets sent */
64 u_long tcps_sndpack; /* data packets sent */
65 u_long tcps_sndbyte; /* data bytes sent */
66 u_long tcps_sndrexmitpack; /* data packets retransmitted */
67 u_long tcps_sndrexmitbyte; /* data bytes retransmitted */
68 u_long tcps_sndacks; /* ack-only packets sent */
69 u_long tcps_sndprobe; /* window probes sent */
70 u_long tcps_sndurg; /* packets sent with URG only */
71 u_long tcps_sndwinup; /* window update-only packets sent */
72 u_long tcps_sndctrl; /* control (SYN|FIN|RST) packets sent */
73 u_long tcps_sndrst; /* RST packets sent, MIB II ... */
74
75 u_long tcps_rcvtotal; /* total packets received */
76 u_long tcps_rcvpack; /* packets received in sequence */
77 u_long tcps_rcvbyte; /* bytes received in sequence */
78 u_long tcps_rcvbadsum; /* packets received with ccksum errs */
79 u_long tcps_rcvbadoff; /* packets received with bad offset */
80 u_long tcps_rcvshort; /* packets received too short */
81 u_long tcps_rcvduppack; /* duplicate-only packets received */
82 u_long tcps_rcvdupbyte; /* duplicate-only bytes received */
83 u_long tcps_rcvpartduppack; /* packets with some duplicate data */
84 u_long tcps_rcvpartdupbyte; /* dup. bytes in part-dup. packets */
85 u_long tcps_rcvoopack; /* out-of-order packets received */
86 u_long tcps_rcvoobyte; /* out-of-order bytes received */
87 u_long tcps_rcvpackafterwin; /* packets with data after window */
88 u_long tcps_rcvbyteafterwin; /* bytes rcvd after window */
89 u_long tcps_rcvafterclose; /* packets rcvd after "close" */
90 u_long tcps_rcvwinprobe; /* rcvd window probe packets */
91 u_long tcps_rcvdupack; /* rcvd duplicate acks */
92 u_long tcps_rcvacktoomuch; /* rcvd acks for unsent data */
93 u_long tcps_rcvackpack; /* rcvd ack packets */
94 u_long tcps_rcvackbyte; /* bytes acked by rcvd acks */
95 u_long tcps_rcvwinupd; /* rcvd window update packets */
96#ifndef TCPV40HDRS
97 u_long tcps_pawsdrop; /* segments dropped due to PAWS */
98 u_long tcps_predack; /* times hdr predict ok for acks */
99 u_long tcps_preddat; /* times hdr predict ok for data pkts*/
100 u_long tcps_pcbcachemiss;
101 u_long tcps_persistdrop; /* timeout in persist state */
102 u_long tcps_badsyn; /* bogus SYN, e.g. premature ACK */
103
104 /* the fillowing 7 are for mtudisco and ttcp */
105
106 u_long tcps_mturesent; /* resends due to MTU discovery */
107 u_long tcps_cachedrtt; /* times cached RTT in route updated */
108 u_long tcps_cachedrttvar; /* times cached rttvar updated */
109 u_long tcps_cachedssthresh; /* times cached ssthresh updated */
110 u_long tcps_usedrtt; /* times RTT initialized from route */
111 u_long tcps_usedrttvar; /* times RTTVAR initialized from rt */
112 u_long tcps_usedssthresh; /* times ssthresh initialized from rt*/
113#endif
114};
115
116#ifndef TCPV40HDRS
117/*
118 * Names for TCP sysctl objects
119 */
120#define TCPCTL_MSSDFLT 1 /* MSS default */
121#define TCPCTL_STATS 2 /* statistics (read-only) */
122#define TCPCTL_RTTDFLT 3 /* default RTT estimate */
123#define TCPCTL_MSL 4 /* No Of Keepalive probes */
124#define TCPCTL_INETCFG 6 /* Generic TCP Inetcfg switching */
125#define TCPCTL_LINGERTIME 7 /* Linger On close timer */
126#define TCPCTL_KEEPCNT 8 /* No Of Keepalive probes */
127#define TCPCTL_TCPSWIN 9 /* TCP Send Window Size */
128#define TCPCTL_TCPRWIN 10 /* TCP Recieve Window Size */
129#define TCPCTL_TTL 11 /* TTL for TCP packets */
130#define TCPCTL_MTU 12 /* Path MTU Discovery ON/OFF flg */
131#define TCPCTL_WINSCALE 13 /* Winow Scale (Fat Pipe) ON/OFF flg */
132#define TCPCTL_TIMESTMP 14 /* TCP TimeStamp ON/OFF flg */
133#define TCPCTL_CC 15 /* Cc, CCnew & Echo ON/OFF flg */
134#define TCPCTL_REALSLOW 16 /* Real Slow Timer for Time Wait Q */
135#define TCPCTL_REUSETW 17 /* Reuse TW inetcfg */
136#define TCPCTL_SYNCOOKIE 18 /* Syncookie inetcfg */
137#define TCPCTL_PERFHTTP 19 /* Fast Path HTTP */
138
139
140/*Inetcfg ioctl constants */
141#define ICFG_SETKEEPALIVE 20 /* sysctl code:Set the KeepAlive timer */
142#define ICFG_GETKEEPALIVE 21 /* sysctl code:Get the KeepAlive timer defaults */
143
144#define TCPCTL_NAMES { \
145 { 0, 0 }, \
146 { "mssdflt", CTLTYPE_INT }, \
147 { "stats", CTLTYPE_STRUCT }, \
148 { "rttdflt", CTLTYPE_INT }, \
149 { "inetcfg", CTLTYPE_INETCFG },\
150}
151#endif /* !TCPV40HDRS */
152
153#endif /* !_NETINET_TCP_VAR_H_ */
Note: See TracBrowser for help on using the repository browser.