Commit 7234ead2 authored by Kevin Bracey's avatar Kevin Bracey
Browse files

Header changes required by Internet 5.27. Note that these changes affect the...

Header changes required by Internet 5.27. Note that these changes affect the layout of several structures peeked by such tools as InetStat. These will need recompiling for Internet 5.27.

Version 5.20. Tagged as 'TCPIPLibs-5_20'
parent 148b782a
/* (5.19)
/* (5.20)
*
* This file is automatically maintained by srccommit, do not edit manually.
*
*/
#define Module_MajorVersion_CMHG 5.19
#define Module_MajorVersion_CMHG 5.20
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 25 Jun 1999
#define Module_Date_CMHG 30 Jun 1999
#define Module_MajorVersion "5.19"
#define Module_Version 519
#define Module_MajorVersion "5.20"
#define Module_Version 520
#define Module_MinorVersion ""
#define Module_Date "25 Jun 1999"
#define Module_Date "30 Jun 1999"
#define Module_FullVersion "5.19"
#define Module_FullVersion "5.20"
......@@ -36,6 +36,8 @@
#ifndef _NETINET_IN_PCB_H_
#define _NETINET_IN_PCB_H_
#include <sys/queue.h>
/*
* Common structure pcb for internet protocol implementation.
* Here are stored pointers to local and foreign host table
......@@ -46,19 +48,22 @@
LIST_HEAD(inpcbhead, inpcb);
struct inpcb {
LIST_ENTRY(inpcb) inp_list; /* list for all PCBs of this proto */
LIST_ENTRY(inpcb) inp_hash; /* hash list */
struct inpcbinfo *inp_pcbinfo;
LIST_ENTRY(inpcb) inp_hash; /* hash list */
struct in_addr inp_faddr; /* foreign host table entry */
u_short inp_fport; /* foreign port */
struct in_addr inp_laddr; /* local host table entry */
u_short inp_fport; /* foreign port */
u_short inp_lport; /* local port */
struct socket *inp_socket; /* back pointer to socket */
LIST_ENTRY(inpcb) inp_list; /* list for all PCBs of this proto */
caddr_t inp_ppcb; /* pointer to per-protocol pcb */
struct inpcbinfo *inp_pcbinfo; /* PCB list info */
struct socket *inp_socket; /* back pointer to socket */
struct mbuf *inp_options; /* IP options */
struct route inp_route; /* placeholder for routing entry */
int inp_flags; /* generic IP/datagram flags */
struct ip inp_ip; /* header prototype; should have more */
struct mbuf *inp_options; /* IP options */
u_char inp_ip_tos; /* type of service proto */
u_char inp_ip_ttl; /* time to live proto */
u_char inp_ip_p; /* protocol proto */
u_char pad[1]; /* alignment */
struct ip_moptions *inp_moptions; /* IP multicast options */
};
......
......@@ -36,8 +36,8 @@
#ifndef _NETINET_TCP_H_
#define _NETINET_TCP_H_
typedef u_long tcp_seq;
typedef u_long tcp_cc; /* connection count per rfc1644 */
typedef u_int32_t tcp_seq;
typedef u_int32_t tcp_cc; /* connection count per rfc1644 */
/*
* TCP header.
......@@ -51,6 +51,10 @@ struct tcphdr {
#if BYTE_ORDER == LITTLE_ENDIAN
u_int th_x2 :4; /* (unused) */
u_int th_off :4; /* data offset */
#endif
#if BYTE_ORDER == BIG_ENDIAN
u_int th_off:4, /* data offset */
th_x2:4; /* (unused) */
#endif
u_int th_flags:8;
#define TH_FIN 0x01
......
......@@ -54,22 +54,23 @@ struct tcpcb {
u_int t_maxopd; /* mss plus options */
int t_force; /* 1 if forcing out a byte */
u_int t_flags;
#define TF_ACKNOW 0x0001 /* ack peer immediately */
#define TF_DELACK 0x0002 /* ack, but try to delay it */
#define TF_NODELAY 0x0004 /* don't delay packets to coalesce */
#define TF_NOOPT 0x0008 /* don't use tcp options */
#define TF_SENTFIN 0x0010 /* have sent FIN */
#define TF_REQ_SCALE 0x0020 /* have/will request window scaling */
#define TF_RCVD_SCALE 0x0040 /* other side has requested scaling */
#define TF_REQ_TSTMP 0x0080 /* have/will request timestamps */
#define TF_RCVD_TSTMP 0x0100 /* a timestamp was received in SYN */
#define TF_SACK_PERMIT 0x0200 /* other side said I could SACK */
#define TF_NEEDSYN 0x0400 /* send SYN (implicit state) */
#define TF_NEEDFIN 0x0800 /* send FIN (implicit state) */
#define TF_NOPUSH 0x1000 /* don't push */
#define TF_REQ_CC 0x2000 /* have/will request CC */
#define TF_RCVD_CC 0x4000 /* a CC was received in SYN */
#define TF_SENDCCNEW 0x8000 /* send CCnew instead of CC in SYN */
#define TF_ACKNOW 0x00001 /* ack peer immediately */
#define TF_DELACK 0x00002 /* ack, but try to delay it */
#define TF_NODELAY 0x00004 /* don't delay packets to coalesce */
#define TF_NOOPT 0x00008 /* don't use tcp options */
#define TF_SENTFIN 0x00010 /* have sent FIN */
#define TF_REQ_SCALE 0x00020 /* have/will request window scaling */
#define TF_RCVD_SCALE 0x00040 /* other side has requested scaling */
#define TF_REQ_TSTMP 0x00080 /* have/will request timestamps */
#define TF_RCVD_TSTMP 0x00100 /* a timestamp was received in SYN */
#define TF_SACK_PERMIT 0x00200 /* other side said I could SACK */
#define TF_NEEDSYN 0x00400 /* send SYN (implicit state) */
#define TF_NEEDFIN 0x00800 /* send FIN (implicit state) */
#define TF_NOPUSH 0x01000 /* don't push */
#define TF_REQ_CC 0x02000 /* have/will request CC */
#define TF_RCVD_CC 0x04000 /* a CC was received in SYN */
#define TF_SENDCCNEW 0x08000 /* send CCnew instead of CC in SYN */
#define TF_MORETOCOME 0x10000 /* More data to be appended to sock */
struct tcpiphdr *t_template; /* skeletal packet for transmit */
struct inpcb *t_inpcb; /* back pointer to internet pcb */
......@@ -137,8 +138,6 @@ struct tcpcb {
tcp_cc cc_recv; /* receive connection count */
u_long t_duration; /* connection duration */
/* TUBA stuff */
caddr_t t_tuba_pcb; /* next level down pcb for TCP over z */
/* More RTT stuff */
u_long t_rttupdated; /* number of times rtt sampled */
};
......@@ -213,7 +212,7 @@ struct rmxp_tao {
* fast networks.
*/
#define TCP_REXMTVAL(tp) \
((((tp)->t_srtt >> (TCP_RTT_SHIFT - TCP_DELTA_SHIFT)) \
max((tp)->t_rttmin, (((tp)->t_srtt >> (TCP_RTT_SHIFT - TCP_DELTA_SHIFT)) \
+ (tp)->t_rttvar) >> TCP_DELTA_SHIFT)
/* XXX
......@@ -308,7 +307,10 @@ struct tcpstat {
#define TCPCTL_KEEPINTVL 7 /* interval to send keepalives */
#define TCPCTL_SENDSPACE 8 /* send buffer space */
#define TCPCTL_RECVSPACE 9 /* receive buffer space */
#define TCPCTL_MAXID 10
#define TCPCTL_KEEPINIT 10 /* receive buffer space */
#define TCPCTL_PCBLIST 11 /* list of all outstanding PCBs */
#define TCPCTL_PATH_MTU_DISC 12 /* do path MTU discovery */
#define TCPCTL_MAXID 13
#define TCPCTL_NAMES { \
{ 0, 0 }, \
......@@ -321,6 +323,9 @@ struct tcpstat {
{ "keepintvl", CTLTYPE_INT }, \
{ "sendspace", CTLTYPE_INT }, \
{ "recvspace", CTLTYPE_INT }, \
{ "keepinit", CTLTYPE_INT }, \
{ "pcblist", CTLTYPE_STRUCT }, \
{ "path_mtu_discovery", CTLTYPE_INT }, \
}
#ifdef KERNEL
......@@ -358,7 +363,7 @@ struct tcpcb *
int tcp_output(struct tcpcb *);
void tcp_quench(struct inpcb *, int);
void tcp_respond(struct tcpcb *,
struct tcpiphdr *, struct mbuf *, u_long, u_long, int);
struct tcpiphdr *, struct mbuf *, tcp_seq, tcp_seq, int);
struct rtentry *
tcp_rtlookup(struct inpcb *);
void tcp_setpersist(struct tcpcb *);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment