| #ifndef _TCP_H |
| #define _TCP_H |
| |
| #define TCP_INITIAL_TIMEOUT (3*TICKS_PER_SEC) |
| #define TCP_MAX_TIMEOUT (60*TICKS_PER_SEC) |
| #define TCP_MIN_TIMEOUT (TICKS_PER_SEC) |
| #define TCP_MAX_RETRY 10 |
| #define TCP_MAX_HEADER ((int)sizeof(struct iphdr)+64) |
| #define TCP_MIN_WINDOW (1500-TCP_MAX_HEADER) |
| #define TCP_MAX_WINDOW (65535-TCP_MAX_HEADER) |
| |
| #define FIN 1 |
| #define SYN 2 |
| #define RST 4 |
| #define PSH 8 |
| #define ACK 16 |
| #define URG 32 |
| |
| |
| struct tcphdr { |
| uint16_t src; |
| uint16_t dst; |
| int32_t seq; |
| int32_t ack; |
| uint16_t ctrl; |
| uint16_t window; |
| uint16_t chksum; |
| uint16_t urgent; |
| }; |
| |
| extern int tcp_transaction ( unsigned long destip, unsigned int destsock, |
| void *ptr, |
| int (*send)(int len, void *buf, void *ptr), |
| int (*recv)(int len, const void *buf, void *ptr)); |
| |
| |
| #endif /* _TCP_H */ |