00001 #ifndef _TCP_H 00002 #define _TCP_H 00003 00004 #define TCP_INITIAL_TIMEOUT (3*TICKS_PER_SEC) 00005 #define TCP_MAX_TIMEOUT (60*TICKS_PER_SEC) 00006 #define TCP_MIN_TIMEOUT (TICKS_PER_SEC) 00007 #define TCP_MAX_RETRY 10 00008 #define TCP_MAX_HEADER ((int)sizeof(struct iphdr)+64) 00009 #define TCP_MIN_WINDOW (1500-TCP_MAX_HEADER) 00010 #define TCP_MAX_WINDOW (65535-TCP_MAX_HEADER) 00011 00012 #define FIN 1 00013 #define SYN 2 00014 #define RST 4 00015 #define PSH 8 00016 #define ACK 16 00017 #define URG 32 00018 00019 00020 struct tcphdr { 00021 uint16_t src; 00022 uint16_t dst; 00023 int32_t seq; 00024 int32_t ack; 00025 uint16_t ctrl; 00026 uint16_t window; 00027 uint16_t chksum; 00028 uint16_t urgent; 00029 }; 00030 00031 extern int tcp_transaction ( unsigned long destip, unsigned int destsock, 00032 void *ptr, 00033 int (*send)(int len, void *buf, void *ptr), 00034 int (*recv)(int len, const void *buf, void *ptr)); 00035 00036 00037 #endif /* _TCP_H */
1.5.7.1