|
|
|
|
@ -29,9 +29,6 @@
|
|
|
|
|
#define B2G_SCANFUNC B2gScanBNDMq
|
|
|
|
|
//#define B2G_SCANFUNC B2gScan
|
|
|
|
|
|
|
|
|
|
#define B2G_SEARCHFUNC B2gSearchBNDMq
|
|
|
|
|
//#define B2G_SEARCHFUNC B2gSearch
|
|
|
|
|
|
|
|
|
|
//#define B2G_SCAN2
|
|
|
|
|
//#define B2G_COUNTERS
|
|
|
|
|
|
|
|
|
|
@ -61,9 +58,6 @@ typedef struct B2gCtx_ {
|
|
|
|
|
/* pattern arrays */
|
|
|
|
|
B2gPattern **parray;
|
|
|
|
|
|
|
|
|
|
B2G_TYPE search_m;
|
|
|
|
|
B2G_TYPE *search_B2G;
|
|
|
|
|
|
|
|
|
|
uint16_t scan_1_pat_cnt;
|
|
|
|
|
#ifdef B2G_SCAN2
|
|
|
|
|
uint16_t scan_2_pat_cnt;
|
|
|
|
|
@ -76,31 +70,18 @@ typedef struct B2gCtx_ {
|
|
|
|
|
#ifdef B2G_SCAN2
|
|
|
|
|
B2gHashItem **scan_hash2;
|
|
|
|
|
#endif
|
|
|
|
|
uint32_t search_hash_size;
|
|
|
|
|
BloomFilter **search_bloom;
|
|
|
|
|
uint8_t *search_pminlen; /* array containing the minimal length
|
|
|
|
|
of the patters in a hash bucket. Used
|
|
|
|
|
for the BloomFilter. */
|
|
|
|
|
B2gHashItem **search_hash;
|
|
|
|
|
B2gHashItem search_hash1[256];
|
|
|
|
|
|
|
|
|
|
/* hash used during ctx initialization */
|
|
|
|
|
B2gPattern **init_hash;
|
|
|
|
|
|
|
|
|
|
uint8_t scan_s0;
|
|
|
|
|
uint8_t search_s0;
|
|
|
|
|
|
|
|
|
|
/* we store our own multi byte scan ptr here for B2gSearch1 */
|
|
|
|
|
uint32_t (*Scan)(struct MpmCtx_ *, struct MpmThreadCtx_ *, PatternMatcherQueue *, uint8_t *, uint16_t);
|
|
|
|
|
/* we store our own multi byte search ptr here for B2gSearch1 */
|
|
|
|
|
uint32_t (*Search)(struct MpmCtx_ *, struct MpmThreadCtx_ *, PatternMatcherQueue *, uint8_t *, uint16_t);
|
|
|
|
|
|
|
|
|
|
/* we store our own multi byte scan ptr here for B2gSearch1 */
|
|
|
|
|
uint32_t (*MBScan2)(struct MpmCtx_ *, struct MpmThreadCtx_ *, PatternMatcherQueue *, uint8_t *, uint16_t);
|
|
|
|
|
uint32_t (*MBScan)(struct MpmCtx_ *, struct MpmThreadCtx_ *, PatternMatcherQueue *, uint8_t *, uint16_t);
|
|
|
|
|
/* we store our own multi byte search ptr here for B2gSearch1 */
|
|
|
|
|
uint32_t (*MBSearch)(struct MpmCtx_ *, struct MpmThreadCtx_ *, PatternMatcherQueue *, uint8_t *, uint16_t);
|
|
|
|
|
|
|
|
|
|
} B2gCtx;
|
|
|
|
|
|
|
|
|
|
typedef struct B2gThreadCtx_ {
|
|
|
|
|
@ -117,12 +98,6 @@ typedef struct B2gThreadCtx_ {
|
|
|
|
|
uint32_t scan_stat_loop_no_match;
|
|
|
|
|
uint32_t scan_stat_num_shift;
|
|
|
|
|
uint32_t scan_stat_total_shift;
|
|
|
|
|
|
|
|
|
|
uint32_t search_stat_d0;
|
|
|
|
|
uint32_t search_stat_loop_match;
|
|
|
|
|
uint32_t search_stat_loop_no_match;
|
|
|
|
|
uint32_t search_stat_num_shift;
|
|
|
|
|
uint32_t search_stat_total_shift;
|
|
|
|
|
#endif /* B2G_COUNTERS */
|
|
|
|
|
} B2gThreadCtx;
|
|
|
|
|
|
|
|
|
|
|