对外提供BOOL_MATCH头文件

This commit is contained in:
fengweihao
2020-09-02 20:16:08 +08:00
parent 7d6bc2737c
commit e9fbcfc743
2 changed files with 1 additions and 0 deletions

View File

@@ -1,56 +0,0 @@
/*
*
* Copyright (c) 2018
* String Algorithms Research Group
* Institute of Information Engineering, Chinese Academy of Sciences (IIE-CAS)
* National Engineering Laboratory for Information Security Technologies (NELIST)
* All rights reserved
*
* Written by: LIU YANBING (liuyanbing@iie.ac.cn)
* Last modification: 2018-12-31
*
* This code is the exclusive and proprietary property of IIE-CAS and NELIST.
* Usage for direct or indirect commercial advantage is not allowed without
* written permission from the authors.
*
*/
#ifndef INCLUDE_BOOL_MATCHER_H
#define INCLUDE_BOOL_MATCHER_H
#include <stddef.h>
#ifdef __cplusplus
extern "C"
{
#endif
#define MAX_ITEMS_PER_BOOL_EXPR 8
/*not_flag=0表示布尔项item_id必须出现not_flag=1表示布尔项item_id不能出现*/
struct bool_item
{
unsigned long long item_id;
unsigned char not_flag;
};
/*注意:不支持布尔项全“非”的情形*/
struct bool_expr
{
void * user_tag;
size_t item_num;
struct bool_item items[MAX_ITEMS_PER_BOOL_EXPR];
};
struct bool_matcher;
/*注意本函数调用会交换bool_exprs中元素的位置*/
struct bool_matcher * bool_matcher_new(struct bool_expr * exprs, size_t expr_num, unsigned int max_thread_num, size_t * mem_size);
int bool_matcher_match(struct bool_matcher * matcher, unsigned int thread_id, const unsigned long long * item_ids, size_t item_num, void ** result, size_t size);
void bool_matcher_free(struct bool_matcher * matcher);
#ifdef __cplusplus
}
#endif
#endif

View File

@@ -3,6 +3,7 @@ global:
extern "C" {
*MAAT_FRAME_VERSION_*;
*Maat_*;
*bool_matcher_*;
*SFH_*;
*GIE_*;
#for test