|
|
1.1 ! root 1: /* tcp_seq.h 6.1 83/07/29 */ ! 2: ! 3: /* ! 4: * TCP sequence numbers are 32 bit integers operated ! 5: * on with modular arithmetic. These macros can be ! 6: * used to compare such integers. ! 7: */ ! 8: #define SEQ_LT(a,b) ((int)((a)-(b)) < 0) ! 9: #define SEQ_LEQ(a,b) ((int)((a)-(b)) <= 0) ! 10: #define SEQ_GT(a,b) ((int)((a)-(b)) > 0) ! 11: #define SEQ_GEQ(a,b) ((int)((a)-(b)) >= 0) ! 12: ! 13: /* ! 14: * Macros to initialize tcp sequence numbers for ! 15: * send and receive from initial send and receive ! 16: * sequence numbers. ! 17: */ ! 18: #define tcp_rcvseqinit(tp) \ ! 19: (tp)->rcv_nxt = (tp)->irs + 1 ! 20: ! 21: #define tcp_sendseqinit(tp) \ ! 22: (tp)->snd_una = (tp)->snd_nxt = (tp)->snd_max = (tp)->snd_up = \ ! 23: (tp)->iss ! 24: ! 25: #define TCP_ISSINCR 128 /* increment for tcp_iss each second */ ! 26: ! 27: #ifdef KERNEL ! 28: tcp_seq tcp_iss; /* tcp initial send seq # */ ! 29: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.