minix/servers/inet/generic/tcp.h
2005-04-21 14:53:53 +00:00

80 lines
1.9 KiB
C

/*
tcp.h
Copyright 1995 Philip Homburg
*/
#ifndef TCP_H
#define TCP_H
#define ISS_INC_FREQ 250000L
#define TCP_MAX_DATAGRAM 8192
#ifndef TCP_MAX_SND_WND_SIZE
#define TCP_MAX_SND_WND_SIZE ((CRAMPED ? 4 : 16) * 1024)
#endif
#ifndef TCP_MIN_RCV_WND_SIZE
#define TCP_MIN_RCV_WND_SIZE (4 * 1024)
#endif
#ifndef TCP_MAX_RCV_WND_SIZE
#define TCP_MAX_RCV_WND_SIZE ((CRAMPED ? 4 : 8) * 1024)
#endif
#define TCP_DEF_TOS 0
#define TCP_DEF_TTL 5 /* hops/seconds */
#define TCP_DEF_TTL_NEXT 30 /* hops/seconds */
/* An established TCP connection times out if no communication is possible
* for TCP_DEF_RT_DEAD clock ticks
*/
#ifndef TCP_DEF_RT_DEAD
#define TCP_DEF_RT_DEAD (20L*60*HZ)
#endif
#define TCP_DEF_RT_MAX_CONNECT (5L*60*HZ) /* 5 minutes in ticks */
#define TCP_DEF_RT_MAX_LISTEN (1L*60*HZ) /* 1 minute in ticks */
#define TCP_DEF_RT_MAX_CLOSING (1L*60*HZ) /* 1 minute in ticks */
/* Minimum and maximum intervals for zero window probes. */
#define TCP_0WND_MIN (HZ)
#define TCP_0WND_MAX (5*60*HZ)
#define TCP_DEF_RTT 15 /* initial retransmission time in
* ticks
*/
#define TCP_RTT_GRAN 5 /* minimal value of the rtt is
* TCP_RTT_GRAN * CLOCK_GRAN
*/
#define TCP_RTT_MAX (10*HZ) /* The maximum retransmission interval
* is TCP_RTT_MAX ticks
*/
#ifndef TCP_DEF_MSS
#define TCP_DEF_MSS 1400
#endif
#define TCP_DEF_CONF (NWTC_COPY | NWTC_LP_UNSET | NWTC_UNSET_RA | \
NWTC_UNSET_RP)
#define TCP_DEF_OPT (NWTO_NOFLAG)
struct acc;
void tcp_prep ARGS(( void ));
void tcp_init ARGS(( void ));
int tcp_open ARGS(( int port, int srfd,
get_userdata_t get_userdata, put_userdata_t put_userdata,
put_pkt_t put_pkt ));
int tcp_read ARGS(( int fd, size_t count));
int tcp_write ARGS(( int fd, size_t count));
int tcp_ioctl ARGS(( int fd, ioreq_t req));
int tcp_cancel ARGS(( int fd, int which_operation ));
void tcp_close ARGS(( int fd));
#endif /* TCP_H */
/*
* $PchId: tcp.h,v 1.8 1996/05/07 20:51:37 philip Exp $
*/