|
|
1.1 root 1: /*
2: * Copyright (c) 1982, 1986 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution is only permitted until one year after the first shipment
6: * of 4.4BSD by the Regents. Otherwise, redistribution and use in source and
7: * binary forms are permitted provided that: (1) source distributions retain
8: * this entire copyright notice and comment, and (2) distributions including
9: * binaries display the following acknowledgement: This product includes
10: * software developed by the University of California, Berkeley and its
11: * contributors'' in the documentation or other materials provided with the
12: * distribution and in all advertising materials mentioning features or use
13: * of this software. Neither the name of the University nor the names of
14: * its contributors may be used to endorse or promote products derived from
15: * this software without specific prior written permission.
16: * THIS SOFTWARE IS PROVIDED AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
17: * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
18: * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19: *
20: * @(#)tcp_seq.h 7.4 (Berkeley) 6/28/90
21: */
22:
23: /*
24: * TCP sequence numbers are 32 bit integers operated
25: * on with modular arithmetic. These macros can be
26: * used to compare such integers.
27: */
28: #define SEQ_LT(a,b) ((int)((a)-(b)) < 0)
29: #define SEQ_LEQ(a,b) ((int)((a)-(b)) <= 0)
30: #define SEQ_GT(a,b) ((int)((a)-(b)) > 0)
31: #define SEQ_GEQ(a,b) ((int)((a)-(b)) >= 0)
32:
33: /*
34: * Macros to initialize tcp sequence numbers for
35: * send and receive from initial send and receive
36: * sequence numbers.
37: */
38: #define tcp_rcvseqinit(tp) \
39: (tp)->rcv_adv = (tp)->rcv_nxt = (tp)->irs + 1
40:
41: #define tcp_sendseqinit(tp) \
42: (tp)->snd_una = (tp)->snd_nxt = (tp)->snd_max = (tp)->snd_up = \
43: (tp)->iss
44:
45: #define TCP_ISSINCR (125*1024) /* increment for tcp_iss each second */
46:
47: #ifdef KERNEL
48: tcp_seq tcp_iss; /* tcp initial send seq # */
49: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.