Commit | Line | Data |
---|---|---|
e8e08468 SL |
1 | |
2 | /* | |
3 | * NSP sequence numbers are 12 bit integers operated | |
4 | * on with modular arithmetic. These macros can be | |
5 | * used to compare and perform arithmetic on such integers. | |
6 | */ | |
7 | #define MAXSEQ (1<<12) | |
8 | #define SEQMASK (MAXSEQ-1) | |
9 | ||
10 | #define SEQ_LSS(a, b) (nsp_seqcmp(a, b) < 0) | |
11 | #define SEQ_LEQ(a, b) (nsp_seqcmp(a, b) <= 0) | |
12 | #define SEQ_GTR(a, b) (nsp_seqcmp(a, b) > 0) | |
13 | #define SEQ_GEQ(a, b) (nsp_seqcmp(a, b) >= 0) | |
14 | ||
15 | #define SEQ_ADD(a, b) (((a) + (b)) & SEQMASK) | |
16 | #define SEQ_SUB(a, b) (((a) - (b)) & SEQMASK) |