|
|
1.1 ! root 1: #ifndef _TCP_H ! 2: #define _TCP_H ! 3: ! 4: #define TCP_INITIAL_TIMEOUT (3*TICKS_PER_SEC) ! 5: #define TCP_MAX_TIMEOUT (60*TICKS_PER_SEC) ! 6: #define TCP_MIN_TIMEOUT (TICKS_PER_SEC) ! 7: #define TCP_MAX_RETRY 10 ! 8: #define TCP_MAX_HEADER ((int)sizeof(struct iphdr)+64) ! 9: #define TCP_MIN_WINDOW (1500-TCP_MAX_HEADER) ! 10: #define TCP_MAX_WINDOW (65535-TCP_MAX_HEADER) ! 11: ! 12: #define FIN 1 ! 13: #define SYN 2 ! 14: #define RST 4 ! 15: #define PSH 8 ! 16: #define ACK 16 ! 17: #define URG 32 ! 18: ! 19: ! 20: struct tcphdr { ! 21: uint16_t src; ! 22: uint16_t dst; ! 23: int32_t seq; ! 24: int32_t ack; ! 25: uint16_t ctrl; ! 26: uint16_t window; ! 27: uint16_t chksum; ! 28: uint16_t urgent; ! 29: }; ! 30: ! 31: extern int tcp_transaction ( unsigned long destip, unsigned int destsock, ! 32: void *ptr, ! 33: int (*send)(int len, void *buf, void *ptr), ! 34: int (*recv)(int len, const void *buf, void *ptr)); ! 35: ! 36: ! 37: #endif /* _TCP_H */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.