iPXE
old_tcp.h
Go to the documentation of this file.
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 */