summaryrefslogtreecommitdiff
path: root/src/arch/instruction.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2019-05-30 10:45:31 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2019-05-30 10:45:31 (GMT)
commitb9811a151ebeca6b64cdfc0a07df697ecfe84d7e (patch)
treeea187bccb424a934a1daef3b9ccffa29c6cb54dd /src/arch/instruction.h
parentdde622ccf567e3ac01b471ea5d35cca4acf81277 (diff)
Introduced a new flag for instruction calls.
Diffstat (limited to 'src/arch/instruction.h')
-rw-r--r--src/arch/instruction.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/arch/instruction.h b/src/arch/instruction.h
index cf9189b..d1bfbe2 100644
--- a/src/arch/instruction.h
+++ b/src/arch/instruction.h
@@ -58,7 +58,8 @@ typedef enum _ArchInstrFlag
{
AIF_NONE = (0 << 0), /* Aucune information */
AIF_ROUTINE_START = (1 << 0), /* Début de routine */
- AIF_RETURN_POINT = (1 << 1) /* Retour de fonction appelée */
+ AIF_RETURN_POINT = (1 << 1), /* Retour de fonction appelée */
+ AIF_CALL = (1 << 2) /* Instruction d'appel */
} ArchInstrFlag;
@@ -86,6 +87,9 @@ const char *g_arch_instruction_get_encoding(const GArchInstruction *);
/* Ajoute une information complémentaire à une instruction. */
bool g_arch_instruction_set_flag(GArchInstruction *, ArchInstrFlag);
+/* Détermine si une instruction possède un fanion particulier. */
+bool g_arch_instruction_has_flag(const GArchInstruction *, ArchInstrFlag);
+
/* Fournit les informations complémentaires d'une instruction. */
ArchInstrFlag g_arch_instruction_get_flags(const GArchInstruction *);
@@ -228,6 +232,9 @@ typedef struct _instr_link_t
/* Met à disposition un encadrement des accès aux liens. */
void g_arch_instruction_lock_unlock_links(GArchInstruction *, bool, bool);
+/* Détermine si un type de lien existe dans une instruction. */
+bool g_arch_instruction_has_link(GArchInstruction *, InstructionLinkType);
+
/* Détermine si un lien est déjà établi entre deux instructions. */
bool g_arch_instruction_has_link_to(GArchInstruction *, const GArchInstruction *);