summaryrefslogtreecommitdiff
path: root/src/arch/instruction-int.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-05-14 19:40:07 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-05-14 19:40:07 (GMT)
commit0286b53bad21abf91cbe17c4772ca9cde6a89cbc (patch)
tree3bec9dc7e118c00ce9c748576b01606a71880ad7 /src/arch/instruction-int.h
parent267b1ae8608ed4bf52de743798e8647c903ee1b4 (diff)
Created an instruction database for Chrysalide.
Diffstat (limited to 'src/arch/instruction-int.h')
-rw-r--r--src/arch/instruction-int.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/arch/instruction-int.h b/src/arch/instruction-int.h
index 2adeed0..365c7e9 100644
--- a/src/arch/instruction-int.h
+++ b/src/arch/instruction-int.h
@@ -46,6 +46,12 @@ typedef char * (* build_instruction_tooltip_fc) (const GArchInstruction *);
/* Fournit une description pour l'instruction manipulée. */
typedef const char * (* get_instruction_desc_fc) (const GArchInstruction *);
+/* Charge une instruction depuis une mémoire tampon. */
+typedef bool (* unserialize_instruction_fc) (GArchInstruction *, GAsmStorage *, GBinFormat *, packed_buffer *);
+
+/* Sauvegarde une instruction dans une mémoire tampon. */
+typedef bool (* serialize_instruction_fc) (GArchInstruction *, GAsmStorage *, packed_buffer *);
+
/* Ajoute à un tampon GLib le contenu de l'instance spécifiée. */
typedef GBufferLine * (* print_instruction_fc) (const GArchInstruction *, GBufferLine *, size_t, size_t, const GBinContent *);
@@ -106,6 +112,9 @@ struct _GArchInstructionClass
build_instruction_tooltip_fc build_tooltip; /* Construction d'une bulle*/
get_instruction_desc_fc get_desc; /* Description assez complète */
+ unserialize_instruction_fc unserialize; /* Chargement depuis un tampon */
+ serialize_instruction_fc serialize; /* Conservation dans un tampon */
+
print_instruction_fc print; /* Imprime l'ensemble */
//get_instruction_rw_regs_fc get_rw_regs; /* Liste des registres liés */