add AF_ISO
[unix-history] / usr / src / sys / netinet / tcp_var.h
index 6ef78e0..61c672e 100644 (file)
@@ -3,13 +3,18 @@
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms are permitted
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of California at Berkeley. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
+ * provided that the above copyright notice and this paragraph are
+ * duplicated in all such forms and that any documentation,
+ * advertising materials, and other materials related to such
+ * distribution and use acknowledge that the software was developed
+ * by the University of California, Berkeley.  The name of the
+ * University may not be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
  *
- *     @(#)tcp_var.h   7.6.1.1 (Berkeley) %G%
+ *     @(#)tcp_var.h   7.8 (Berkeley) %G%
  */
 
 /*
  */
 
 /*
 
 #ifndef BSD
 #define BSD 42 /* if we're not 4.3, pretend we're 4.2 */
 
 #ifndef BSD
 #define BSD 42 /* if we're not 4.3, pretend we're 4.2 */
+#define OLDSTAT        /* set if we have to use old netstat binaries */
 #endif
 
 #endif
 
+/* #define OLDSTAT     /* set if we have to use old netstat binaries */
+
+#if sun || BSD < 43
+#define TCP_COMPAT_42  /* set if we have to interop w/4.2 systems */
+#endif
+
+#ifndef SB_MAX
+#ifdef SB_MAXCOUNT
+#define        SB_MAX  SB_MAXCOUNT     /* Sun has to be a little bit different... */
+#else
+#define SB_MAX 32767           /* XXX */
+#endif SB_MAXCOUNT
+#endif SB_MAX
+
+#ifndef IP_MAXPACKET
+#define        IP_MAXPACKET    65535           /* maximum packet size */
+#endif
+
+/*
+ * Bill Nowicki pointed out that the page size (CLBYTES) has
+ * nothing to do with the mbuf cluster size.  So, we followed
+ * Sun's lead and made the new define MCLBYTES stand for the mbuf
+ * cluster size.  The following define makes up backwards compatible
+ * with 4.3 and 4.2.  If CLBYTES is >1024 on your machine, check
+ * this against the mbuf cluster definitions in /usr/include/sys/mbuf.h.
+ */
+#ifndef MCLBYTES
+#define        MCLBYTES CLBYTES        /* XXX */
+#endif
+
+/*
+ * The routine in_localaddr is broken in Sun's 3.4.  We redefine ours
+ * (in tcp_input.c) so we use can it but won't have a name conflict.
+ */
+#ifdef sun
+#define in_localaddr tcp_in_localaddr
+#endif
+
+/* --------------- end of TCP config ---------------- */
+
+/*
+ * TCP configuration:  This is a half-assed attempt to make TCP
+ * self-configure for a few varieties of 4.2 and 4.3-based unixes.
+ * If you don't have a) a 4.3bsd vax or b) a 3.x Sun (x<6), check
+ * this carefully (it's probably not right).  Please send me mail
+ * if you run into configuration problems.
+ *  - Van Jacobson (van@lbl-csam.arpa)
+ */
+
+#ifndef BSD
+#define BSD 42 /* if we're not 4.3, pretend we're 4.2 */
+#define OLDSTAT        /* set if we have to use old netstat binaries */
+#endif
+
+/* #define OLDSTAT     /* set if we have to use old netstat binaries */
+
 #if sun || BSD < 43
 #define TCP_COMPAT_42  /* set if we have to interop w/4.2 systems */
 #endif
 #if sun || BSD < 43
 #define TCP_COMPAT_42  /* set if we have to interop w/4.2 systems */
 #endif
@@ -144,6 +206,38 @@ struct tcpcb {
  * but that's inconvenient at the moment.
  */
 struct tcpstat {
  * but that's inconvenient at the moment.
  */
 struct tcpstat {
+#ifdef OLDSTAT
+       /*
+        * Declare statistics the same as in 4.3
+        * at the start of tcpstat (same size and
+        * position) for netstat.
+        */
+       int     tcps_rcvbadsum;
+       int     tcps_rcvbadoff;
+       int     tcps_rcvshort;
+       int     tcps_badsegs;
+       int     tcps_unack;
+#define        tcps_badsum     tcps_rcvbadsum
+#define        tcps_badoff     tcps_rcvbadoff
+#define        tcps_hdrops     tcps_rcvshort
+
+#endif OLDSTAT
+#ifdef OLDSTAT
+       /*
+        * Declare statistics the same as in 4.3
+        * at the start of tcpstat (same size and
+        * position) for netstat.
+        */
+       int     tcps_rcvbadsum;
+       int     tcps_rcvbadoff;
+       int     tcps_rcvshort;
+       int     tcps_badsegs;
+       int     tcps_unack;
+#define        tcps_badsum     tcps_rcvbadsum
+#define        tcps_badoff     tcps_rcvbadoff
+#define        tcps_hdrops     tcps_rcvshort
+
+#endif OLDSTAT
        u_long  tcps_connattempt;       /* connections initiated */
        u_long  tcps_accepts;           /* connections accepted */
        u_long  tcps_connects;          /* connections established */
        u_long  tcps_connattempt;       /* connections initiated */
        u_long  tcps_accepts;           /* connections accepted */
        u_long  tcps_connects;          /* connections established */
@@ -174,9 +268,13 @@ struct     tcpstat {
        u_long  tcps_rcvtotal;          /* total packets received */
        u_long  tcps_rcvpack;           /* packets received in sequence */
        u_long  tcps_rcvbyte;           /* bytes received in sequence */
        u_long  tcps_rcvtotal;          /* total packets received */
        u_long  tcps_rcvpack;           /* packets received in sequence */
        u_long  tcps_rcvbyte;           /* bytes received in sequence */
+#ifndef OLDSTAT
+#ifndef OLDSTAT
        u_long  tcps_rcvbadsum;         /* packets received with ccksum errs */
        u_long  tcps_rcvbadoff;         /* packets received with bad offset */
        u_long  tcps_rcvshort;          /* packets received too short */
        u_long  tcps_rcvbadsum;         /* packets received with ccksum errs */
        u_long  tcps_rcvbadoff;         /* packets received with bad offset */
        u_long  tcps_rcvshort;          /* packets received too short */
+#endif
+#endif
        u_long  tcps_rcvduppack;        /* duplicate-only packets received */
        u_long  tcps_rcvdupbyte;        /* duplicate-only bytes received */
        u_long  tcps_rcvpartduppack;    /* packets with some duplicate data */
        u_long  tcps_rcvduppack;        /* duplicate-only packets received */
        u_long  tcps_rcvdupbyte;        /* duplicate-only bytes received */
        u_long  tcps_rcvpartduppack;    /* packets with some duplicate data */