| 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 | */
|
|---|
| 46 | struct 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_ */
|
|---|