#include <netinet/tcp_seq.h>
netinet/tcp_seq.h
macroSEQ_LT
TCP sequence numbers are 32 bit integers operated
on with modular arithmetic. These macros can be
used to compare such integers.
#define SEQ_LT(a, b) ((int)((a)-(b)) < 0)
macroSEQ_LEQ
#define SEQ_LEQ(a, b) ((int)((a)-(b)) <= 0)
macroSEQ_GT
#define SEQ_GT(a, b) ((int)((a)-(b)) > 0)
macroSEQ_GEQ
#define SEQ_GEQ(a, b) ((int)((a)-(b)) >= 0)
macroTSTMP_GT
#define TSTMP_GT(a, b) ((int)((a)-(b)) > 0)
macroTSTMP_LEQ
#define TSTMP_LEQ(a, b) ((int)((a)-(b)) <= 0)
macroTSTMP_GEQ
#define TSTMP_GEQ(a, b) ((int)((a)-(b)) >= 0)
macroCC_LT
TCP connection counts are 32 bit integers operated
on with modular arithmetic. These macros can be
used to compare such integers.
#define CC_LT(a, b) ((int)((a)-(b)) < 0)
macroCC_LEQ
#define CC_LEQ(a, b) ((int)((a)-(b)) <= 0)
macroCC_GT
#define CC_GT(a, b) ((int)((a)-(b)) > 0)
macroCC_GEQ
#define CC_GEQ(a, b) ((int)((a)-(b)) >= 0)
macroCC_INC
Macro to increment a CC: skip 0 which has a special meaning
#define CC_INC(c) (++(c) == 0 ? ++(c) : (c))