/* DCtcp.h */ /* EMACS_MODES: c !fill */ /* Definitions for Alto TCP translation */ #define MAXTCPBUF 512 /* max. buffer size for now */ typedef long seq_t; /* sequence numbers */ struct tcp { /* a tcp header */ unshort tc_srcp; /* source port */ unshort tc_dstp; /* dest port */ seq_t tc_seq; /* sequence number */ seq_t tc_ack; /* acknowledgement number */ int tc_fin : 1; /* fin bit */ int tc_syn : 1; /* syn bit */ int tc_rst : 1; /* reset bit */ int tc_psh : 1; /* push bit */ int tc_fack : 1; /* ack valid */ int tc_furg : 1; /* urgent ptr. valid */ int tc_uu2 : 2; /* unused */ int tc_uu1 : 4; /* unused */ int tc_thl : 4; /* tcp header length */ short tc_win; /* window */ unshort tc_cksum; /* checksum */ unshort tc_urg; /* urgent pointer */ }; struct tcpph { /* psuedo-header */ in_name tp_src; /* source addr */ in_name tp_dst; /* dest addr */ char tp_zero; /* always 0 */ char tp_pro; /* protocol */ int tp_len; /* length */ }; #define SEQ_GT(a, b) (((a) - (b)) > 0) #define SEQ_GE(a, b) (((a) - (b) >= 0) #define SEQ_EQ(a, b) ((a) == (b)) #define SEQ_NE(a, b) ((a) != (b)) #define SEQ_LE(a, b) (((a) - (b)) <= 0) #define SEQ_LT(a, b) (((a) - (b)) < 0) #define TCPPROT 6 /* tcp protocol number */