Please wait until the page is fully downloaded and then press the "Expand" button or the blue line numbers.

0053001 /*
0053002 tcp.h
0053003 
0053004 Copyright 1995 Philip Homburg
0053005 */
0053006 
0053007 #ifndef TCP_H
0053008 #define TCP_H
0053009 
0053010 #define ISS_INC_FREQ       250000L
0053011 #define TCP_MAX_DATAGRAM       8192
0053012 
0053013 #ifndef TCP_MAX_SND_WND_SIZE
0053014 #define TCP_MAX_SND_WND_SIZE       ((CRAMPED ? 4 : 16) * 1024)
0053015 #endif
0053016 
0053017 #ifndef TCP_MIN_RCV_WND_SIZE
0053018 #define TCP_MIN_RCV_WND_SIZE       (4 * 1024)
0053019 #endif
0053020 
0053021 #ifndef TCP_MAX_RCV_WND_SIZE
0053022 #define TCP_MAX_RCV_WND_SIZE       ((CRAMPED ? 4 : 8) * 1024)
0053023 #endif
0053024 
0053025 #define TCP_DEF_TOS              0
0053026 #define TCP_DEF_TTL              5       /* hops/seconds */
0053027 #define TCP_DEF_TTL_NEXT       30       /* hops/seconds */
0053028 
0053029 /* An established TCP connection times out if no communication is possible
0053030  * for TCP_DEF_RT_DEAD clock ticks
0053031  */
0053032 #ifndef TCP_DEF_RT_DEAD
0053033 #define TCP_DEF_RT_DEAD              (20L*60*HZ)
0053034 #endif
0053035 
0053036 #define TCP_DEF_RT_MAX_CONNECT       (5L*60*HZ) /* 5 minutes in ticks */
0053037 #define TCP_DEF_RT_MAX_LISTEN       (1L*60*HZ) /* 1 minute in ticks */
0053038 #define TCP_DEF_RT_MAX_CLOSING       (1L*60*HZ) /* 1 minute in ticks */
0053039 
0053040 /* Minimum and maximum intervals for zero window probes. */
0053041 #define TCP_0WND_MIN              (HZ)
0053042 #define TCP_0WND_MAX              (5*60*HZ)
0053043 
0053044 #define TCP_DEF_RTT              15       /* initial retransmission time in
0053045                                               * ticks
0053046                                               */
0053047 #define TCP_RTT_GRAN              5       /* minimal value of the rtt is
0053048                                               * TCP_RTT_GRAN * CLOCK_GRAN
0053049                                               */
0053050 #define TCP_RTT_MAX              (10*HZ)       /* The maximum retransmission interval
0053051                                               * is TCP_RTT_MAX ticks
0053052                                               */
0053053 
0053054 #ifndef TCP_DEF_MSS
0053055 #define TCP_DEF_MSS              1400
0053056 #endif
0053057 
0053058 #define TCP_DEF_CONF              (NWTC_COPY | NWTC_LP_UNSET | NWTC_UNSET_RA | \
0053059                                              NWTC_UNSET_RP)
0053060 #define TCP_DEF_OPT              (NWTO_NOFLAG)
0053061 
0053062 struct acc;
0053063 
0053064 void tcp_prep ARGS(( void ));
0053065 void tcp_init ARGS(( void ));
0053066 int tcp_open ARGS(( int port, int srfd,
0053067          get_userdata_t get_userdata, put_userdata_t put_userdata,
0053068          put_pkt_t put_pkt ));
0053069 int tcp_read ARGS(( int fd, size_t count));
0053070 int tcp_write ARGS(( int fd, size_t count));
0053071 int tcp_ioctl ARGS(( int fd, ioreq_t req));
0053072 int tcp_cancel ARGS(( int fd, int which_operation ));
0053073 void tcp_close ARGS(( int fd));
0053074 
0053075 #endif /* TCP_H */
0053076 
0053077 /*
0053078  * $PchId: tcp.h,v 1.8 1996/05/07 20:51:37 philip Exp $
0053079  */