]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/netinet/tcp_timer.h
xnu-517.7.7.tar.gz
[apple/xnu.git] / bsd / netinet / tcp_timer.h
index 03d29b83c42c89f306c3a8bc958c1072a81f320e..e3f5282d539417b044c8b3de49fae2558a9f1a92 100644 (file)
  * SUCH DAMAGE.
  *
  *     @(#)tcp_timer.h 8.1 (Berkeley) 6/10/93
+ * $FreeBSD: src/sys/netinet/tcp_timer.h,v 1.18 1999/12/29 04:41:03 peter Exp $
  */
 
 #ifndef _NETINET_TCP_TIMER_H_
 #define _NETINET_TCP_TIMER_H_
+#include <sys/appleapiopts.h>
 
 /*
  * Definitions of the TCP timers.  These timers are counted
 /*
  * Time constants.
  */
+#ifdef __APPLE_API_PRIVATE
 #define        TCPTV_MSL       ( 30*PR_SLOWHZ)         /* max seg lifetime (hah!) */
 #define        TCPTV_SRTTBASE  0                       /* base roundtrip time;
                                                   if 0, no idea yet */
 
 #define        TCP_MAXRXTSHIFT 12                      /* maximum retransmits */
 
+#define        TCPTV_DELACK    PR_FASTHZ               /* 125ms timeout */
+
 #ifdef TCPTIMERS
 static char *tcptimers[] =
     { "REXMT", "PERSIST", "KEEP", "2MSL" };
@@ -138,20 +143,37 @@ static char *tcptimers[] =
 /*
  * Force a time value to be in a certain range.
  */
-#define        TCPT_RANGESET(tv, value, tvmin, tvmax) { \
+#define        TCPT_RANGESET(tv, value, tvmin, tvmax) do { \
        (tv) = (value); \
        if ((u_long)(tv) < (u_long)(tvmin)) \
                (tv) = (tvmin); \
        else if ((u_long)(tv) > (u_long)(tvmax)) \
                (tv) = (tvmax); \
-}
+} while(0)
 
 #ifdef KERNEL
+
+#define TCP_KEEPIDLE(tp) \
+       (tp->t_keepidle && (tp->t_inpcb->inp_socket->so_options & SO_KEEPALIVE) ? \
+               tp->t_keepidle : tcp_keepidle)
+
 extern int tcp_keepinit;               /* time to establish connection */
 extern int tcp_keepidle;               /* time before keepalive probes begin */
+extern int tcp_keepintvl;              /* time between keepalive probes */
 extern int tcp_maxidle;                        /* time to drop after starting probes */
+extern int tcp_delacktime;             /* time before sending a delayed ACK */
+extern int tcp_maxpersistidle;
+extern int tcp_msl;
 extern int tcp_ttl;                    /* time to live for TCP segs */
 extern int tcp_backoff[];
-#endif
 
-#endif
+void   tcp_timer_2msl __P((void *xtp));
+void   tcp_timer_keep __P((void *xtp));
+void   tcp_timer_persist __P((void *xtp));
+void   tcp_timer_rexmt __P((void *xtp));
+void   tcp_timer_delack __P((void *xtp));
+
+#endif /* KERNEL */
+#endif /* __APPLE_API_PRIVATE */
+
+#endif /* !_NETINET_TCP_TIMER_H_ */