blob: 93e1485e8c262b8bc4780235f796d34902d21387 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#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 */
|