summaryrefslogtreecommitdiff
path: root/src/analysis/scan/context-int.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/scan/context-int.h')
-rw-r--r--src/analysis/scan/context-int.h31
1 files changed, 3 insertions, 28 deletions
diff --git a/src/analysis/scan/context-int.h b/src/analysis/scan/context-int.h
index 613ca73..efbd24e 100644
--- a/src/analysis/scan/context-int.h
+++ b/src/analysis/scan/context-int.h
@@ -33,28 +33,6 @@
-#define ALLOCATION_STEP 10
-
-/* Mémorisation des correspondances partielles */
-typedef struct _atom_match_tracker_t
-{
- phys_t *matches; /* Correspondances à confirmer */
- size_t allocated; /* Taille du talbeau préparé */
- size_t used; /* Nombre d'éléments présents */
-
-} atom_match_tracker_t;
-
-/* Mémorisation des correspondances complètes, par motif */
-typedef struct _full_match_tracker_t
-{
- GSearchPattern *pattern; /* Motif commun aux trouvailles*/
-
- GScanMatch **matches; /* Correspondances confirmées */
- size_t allocated; /* Taille du talbeau préparé */
- size_t used; /* Nombre d'éléments présents */
-
-} full_match_tracker_t;
-
/* Condition définissant une règle de correspondance */
typedef struct _rule_condition_t
{
@@ -76,13 +54,10 @@ struct _GScanContext
GBinContent *content; /* Contenu binaire traité */
bool scan_done; /* Phase d'analyse terminée ? */
- patid_t next_patid; /* Prochain indice utilisable */
-
- atom_match_tracker_t *atom_trackers; /* Correspondances partielles */
+ GUMemSlice **match_storages; /* Suivi de correspondances */
+ size_t storages_count; /* Quantité de ces suivis */
- full_match_tracker_t **full_trackers; /* Correspondances confirmées */
- size_t full_count; /* Quantité de correspondances */
- full_match_tracker_t *current_tracker; /* Dernier gestionnaire visé */
+ GHashTable *full_trackers; /* Correspondances confirmées */
bool global; /* Validation globale */