-struct tcpiphdr {
- struct tcpiphdr *t_next; /* -> next tcp on rcv chain */
- struct tcpiphdr *t_prev; /* -> prev tcp on rcv chain */
- u_char t_x1; /* (unused) */
- u_char t_pr; /* protocol */
-/* by rights, t_len should be a u_short, but this makes operations */
-/* on it very dangerous as comparisons become unsigned and comparing */
-/* against negative numbers then fails... we don't expect any > 32767 */
-/* byte segments, so pragmatically delcare it to be a short */
- short t_len; /* seg length */
- struct ip_addr t_s; /* source internet address */
- struct ip_addr t_d; /* destination internet address */
- u_short t_src; /* source port */
- u_short t_dst; /* destination port */
- seq_t t_seq; /* sequence number */
- seq_t t_ackno; /* acknowledgement number */
-#define t_end(x) (x->t_seq + x->t_len - 1)
+struct tcphdr {
+ u_short th_sport; /* source port */
+ u_short th_dport; /* destination port */
+ tcp_seq th_seq; /* sequence number */
+ tcp_seq th_ack; /* acknowledgement number */