score_db: support hash prefilter
This commit is contained in:
@@ -22,8 +22,18 @@ struct osfp_field_score_db {
|
||||
struct osfp_os_class_score *(*match)(void *, void *, unsigned int);
|
||||
};
|
||||
|
||||
struct osfp_prefilter_hash_element {
|
||||
struct osfp_fingerprint *fp;
|
||||
char *fp_json;
|
||||
unsigned int os_class;
|
||||
UT_hash_handle hh;
|
||||
};
|
||||
|
||||
struct osfp_score_db {
|
||||
unsigned int entry_count;
|
||||
|
||||
struct osfp_prefilter_hash_element *prefilter_head;
|
||||
|
||||
unsigned int perfect_score;
|
||||
unsigned int os_class_entry_count[OSFP_OS_CLASS_MAX];
|
||||
struct osfp_field_score_db field_score_dbs[OSFP_FIELD_MAX];
|
||||
@@ -33,6 +43,7 @@ char *osfp_score_db_read_file(char *fp_file);
|
||||
void osfp_score_db_debug_print(struct osfp_score_db *score_db);
|
||||
|
||||
int osfp_score_db_load(struct osfp_score_db *score_db, char *fp_file);
|
||||
int osfp_score_db_prefilter(struct osfp_score_db *score_db, struct osfp_fingerprint *fp, struct osfp_os_class_score *result_score);
|
||||
int osfp_score_db_score(struct osfp_score_db *score_db, unsigned int flags, struct osfp_fingerprint *fp, struct osfp_os_class_score *result_score);
|
||||
|
||||
struct osfp_score_db *osfp_score_db_create(void);
|
||||
|
||||
Reference in New Issue
Block a user