|
@@ -803,6 +803,21 @@ typedef struct
|
|
|
uint8_t mask;
|
|
|
} ipv4;
|
|
|
|
|
|
+ /**
|
|
|
+ * Integer range match in packet payload
|
|
|
+ *
|
|
|
+ * This allows matching of ranges of integers up to 64 bits wide where
|
|
|
+ * the range is +/- INT32_MAX. It's packed this way so it fits in 16
|
|
|
+ * bytes and doesn't enlarge the overall size of this union.
|
|
|
+ */
|
|
|
+ struct {
|
|
|
+ uint64_t start; // integer range start
|
|
|
+ int32_t delta; // +/- offset from start of integer range end
|
|
|
+ uint16_t idx; // index in packet of integer
|
|
|
+ uint8_t bits; // number of bits in integer (range: 1-64)
|
|
|
+ uint8_t endian; // endianness of integer in packet (0 == big, 1 == little)
|
|
|
+ } intRange;
|
|
|
+
|
|
|
/**
|
|
|
* Packet characteristic flags being matched
|
|
|
*/
|