tcp_var.h revision 7c478bd95313f5f23a4c958a745db2134aa03244
/*
* Copyright (c) 1997-1998 by Sun Microsystems, Inc.
* All rights reserved.
*/
/*
* Copyright (c) 1982, 1986 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*/
/*
* Kernel variables for tcp.
*/
#ifndef _NETINET_TCP_VAR_H
#define _NETINET_TCP_VAR_H
#pragma ident "%Z%%M% %I% %E% SMI"
/* tcp_var.h 1.11 88/08/19 SMI; from UCB 7.3 6/30/87 */
#ifdef __cplusplus
extern "C" {
#endif
/*
* Tcp control block, one per tcp; fields:
*/
struct tcpcb {
short t_state; /* state of this connection */
short t_rxtshift; /* log(2) of rexmt exp. backoff */
short t_rxtcur; /* current retransmit value */
short t_dupacks; /* consecutive dup acks recd */
char t_force; /* 1 if forcing out a byte */
/*
* The following fields are used as in the protocol specification.
* See RFC783, Dec. 1981, page 21.
*/
/* send sequence variables */
/* receive sequence variables */
/*
* Additional variables for this implementation.
*/
/* receive variables */
/* retransmit variables */
/* used to recognize retransmits */
/* congestion control (for slow start, source quench, retransmit after loss) */
/* for slow start exponential to */
/*
* transmit timing stuff.
* srtt and rttvar are stored as fixed point; for convenience in smoothing,
* srtt has 3 bits to the right of the binary point, rttvar has 2.
* "Variance" is actually smoothed difference.
*/
short t_idle; /* inactivity time */
short t_rtt; /* round trip time */
short t_srtt; /* smoothed round-trip time */
short t_rttvar; /* variance in round-trip time */
/* out-of-band data */
char t_oobflags; /* have some */
char t_iobc; /* input character */
#define TCPOOB_HAVEDATA 0x01
#define TCPOOB_HADDATA 0x02
};
/*
* TCP statistics.
* Many of these should be kept per connection,
* but that's inconvenient at the moment.
*/
struct tcpstat {
};
#define TCP_COMPAT_42
#ifdef __cplusplus
}
#endif
#endif /* _NETINET_TCP_VAR_H */