diff options
Diffstat (limited to 'src/arch/instruction.h')
-rw-r--r-- | src/arch/instruction.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/arch/instruction.h b/src/arch/instruction.h index 7b9fe66..5657f73 100644 --- a/src/arch/instruction.h +++ b/src/arch/instruction.h @@ -28,6 +28,7 @@ #include <sys/types.h> +#include "context.h" #include "immediate.h" #include "register.h" #include "vmpa.h" @@ -60,16 +61,24 @@ GType g_arch_instruction_get_type(void); /* Etend la désignation d'un nom d'instruction. */ void g_arch_instruction_append_suffix(GArchInstruction *, const char *); -/* Complète un désassemblage accompli pour une instruction. */ -typedef void (* instr_post_prod_fc)(GArchInstruction *, void *); +/* Types de crochet de traitement */ +typedef enum _InstrProcessHook +{ + IPH_LINK, /* Edition des liens */ + IPH_POST, /* Résolution des symboles */ -/* Définit une fonction de post-traitement après désassemblage. */ -void g_arch_instruction_set_post_prod_function(GArchInstruction *, instr_post_prod_fc); + IPH_COUNT + +} InstrProcessHook; /* Complète un désassemblage accompli pour une instruction. */ -void g_arch_instruction_call_post_prod_function(GArchInstruction *, void *); +typedef void (* instr_hook_fc) (GArchInstruction *, GProcContext *, GBinFormat *); +/* Définit un traitement complémentare au désassemblage. */ +void g_arch_instruction_set_hook(GArchInstruction *, InstrProcessHook, instr_hook_fc); +/* Complète un désassemblage accompli pour une instruction. */ +void g_arch_instruction_call_hook(GArchInstruction *, InstrProcessHook, GProcContext *, GBinFormat *); /* Définit la localisation d'une instruction. */ void g_arch_instruction_set_range(GArchInstruction *, const mrange_t *); |