summaryrefslogtreecommitdiff
path: root/src/arch/instruction.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2010-12-20 00:28:36 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2010-12-20 00:28:36 (GMT)
commit56deaf395c65658102ef0111cfc072d65335331a (patch)
treeba6d6fd0dbc781e9ad3b3cf6b2eb529a7d7a6aa3 /src/arch/instruction.h
parentd9fdfcf887a7a596a68db2500bb5e4d0b692abb6 (diff)
Begun to clean the code by moving the disassembling process into disass/.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@202 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/arch/instruction.h')
-rw-r--r--src/arch/instruction.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/arch/instruction.h b/src/arch/instruction.h
index 4dcba44..7932fdc 100644
--- a/src/arch/instruction.h
+++ b/src/arch/instruction.h
@@ -90,12 +90,34 @@ void g_arch_instruction_detach_operand(GArchInstruction *, GArchOperand *);
/* Traduit une instruction en version humainement lisible. */
char *g_arch_instruction_get_text(const GArchInstruction *, const GExeFormat *, AsmSyntax);
+
+
+/* ------------------- DEFINITION DES LIAISONS ENTRE INSTRUCTIONS ------------------- */
+
+
/* Informe sur une éventuelle référence à une autre instruction. */
InstructionLinkType g_arch_instruction_get_link(const GArchInstruction *, vmpa_t *);
/* Indique si l'instruction correspond à un retour de fonction. */
bool g_arch_instruction_is_return(const GArchInstruction *instr);
+/* Etablit un lien entre deux instructions. */
+void g_arch_instruction_link_with(GArchInstruction *, GArchInstruction *, InstructionLinkType);
+
+/* Indique si l'instruction a une ou plusieurs origines. */
+bool g_arch_instruction_has_sources(const GArchInstruction *);
+
+/* Indique si l'instruction a une suite autre que la suivante. */
+bool g_arch_instruction_has_destinations(const GArchInstruction *);
+
+/* Fournit les destinations d'une instruction donnée. */
+size_t g_arch_instruction_get_destinations(const GArchInstruction *, GArchInstruction ***, InstructionLinkType **);
+
+
+
+/* --------------------- CONVERSIONS DU FORMAT DES INSTRUCTIONS --------------------- */
+
+
/* Décompile une instruction de façon générique. */
GDecInstruction *g_arch_instruction_decompile(const GArchInstruction *, GDecContext *);