diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2015-01-26 21:37:49 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2015-01-26 21:37:49 (GMT) |
commit | 262c95e0b088a56e9fd919edc57ad19f85e2e40e (patch) | |
tree | 8510a15924423abb3208610f724d911f2f79b9a6 /src/plugins/plugin-int.h | |
parent | 0993276d6450919c6d178182c5fd26497b62d5fc (diff) |
Begun to rewrite the whole plugins system.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@461 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/plugins/plugin-int.h')
-rw-r--r-- | src/plugins/plugin-int.h | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/src/plugins/plugin-int.h b/src/plugins/plugin-int.h index abe3995..de43a5c 100644 --- a/src/plugins/plugin-int.h +++ b/src/plugins/plugin-int.h @@ -33,6 +33,13 @@ +/* Exécute une action pendant un désassemblage de binaire. */ +typedef void (* pg_process_disassembly) (const GPluginModule *, PluginAction, GLoadedBinary *); + + + + + /* Précise le nom associé au greffon. */ typedef char * (* get_plugin_name_fc) (void); @@ -53,19 +60,24 @@ typedef MatchingFormatAction (* is_matching_fc) (const GPluginModule *, char **, typedef bool (* execute_action_on_binary_fc) (const GPluginModule *, GLoadedBinary *, PluginAction); /* Exécute une action relative à un débogueur. */ -typedef bool (* execute_on_debugger_fc) (const GPluginModule *, GBinaryDebugger *, PluginAction); +//typedef bool (* execute_on_debugger_fc) (const GPluginModule *, GBinaryDebugger *, PluginAction); -/* Greffon pour OpenIDA (instance) */ +/* Greffon pour Chrysalide (instance) */ struct _GPluginModule { GObject parent; /* A laisser en premier */ + char *filename; /* Fichier associé au greffon */ GModule *module; /* Abstration de manipulation */ - char *name; /* Nom associé au greffon */ - char *filename; /* Fichier associé au greffon */ - PluginType type; /* Type(s) du greffon */ + const plugin_interface *interface; /* Déclaration d'interfaçage */ + + + + + //char *name; /* Nom associé au greffon */ + //PluginType type; /* Type(s) du greffon */ init_plugin_fc init; /* Procédure d'initialisation */ exit_plugin_fc exit; /* Procédure d'extinction */ @@ -74,12 +86,15 @@ struct _GPluginModule is_matching_fc is_matching; /* Recherche de correspondance */ execute_action_on_binary_fc exec_on_bin;/* Action sur un binaire */ - execute_on_debugger_fc handle_debugger; /* Action liée à un débogueur */ + //execute_on_debugger_fc handle_debugger; /* Action liée à un débogueur */ + + + pg_process_disassembly proc_disass; /* Catégorie 'désassemblage' */ }; -/* Greffon pour OpenIDA (classe) */ +/* Greffon pour Chrysalide (classe) */ struct _GPluginModuleClass { GObjectClass parent; /* A laisser en premier */ |