summaryrefslogtreecommitdiff
path: root/src/plugins/plugin-int.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2015-01-26 21:37:49 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2015-01-26 21:37:49 (GMT)
commit262c95e0b088a56e9fd919edc57ad19f85e2e40e (patch)
tree8510a15924423abb3208610f724d911f2f79b9a6 /src/plugins/plugin-int.h
parent0993276d6450919c6d178182c5fd26497b62d5fc (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.h29
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 */