This is so patterns can reply on mpm match meaning a full match.
Not yet used.
#ifdef UNITTESTS
mpm_table[MPM_AC_KS].RegisterUnittests = SCACTileRegisterTests;
#endif
+ mpm_table[MPM_AC_KS].feature_flags = MPM_FEATURE_FLAG_DEPTH | MPM_FEATURE_FLAG_OFFSET;
}
#ifdef UNITTESTS
mpm_table[MPM_AC].RegisterUnittests = SCACRegisterTests;
#endif
+ mpm_table[MPM_AC].feature_flags = MPM_FEATURE_FLAG_DEPTH | MPM_FEATURE_FLAG_OFFSET;
return;
}
#ifdef UNITTESTS
mpm_table[MPM_HS].RegisterUnittests = SCHSRegisterTests;
#endif
+ mpm_table[MPM_HS].feature_flags = MPM_FEATURE_FLAG_DEPTH | MPM_FEATURE_FLAG_OFFSET;
/* Set Hyperscan memory allocators */
SCHSSetAllocators();
}
* what is passed through the API */
#define MPM_PATTERN_CTX_OWNS_ID 0x20
+#define MPM_FEATURE_FLAG_DEPTH BIT_U8(0)
+#define MPM_FEATURE_FLAG_OFFSET BIT_U8(1)
+
typedef struct MpmTableElmt_ {
const char *name;
void (*InitCtx)(struct MpmCtx_ *);
#ifdef UNITTESTS
void (*RegisterUnittests)(void);
#endif
+ uint8_t feature_flags;
} MpmTableElmt;
extern MpmTableElmt mpm_table[MPM_TABLE_SIZE];