diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2021-08-21 15:07:38 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2021-08-21 15:07:38 (GMT) |
commit | bae8c01323703d467ed2cce07c8bf8fd70f7816a (patch) | |
tree | a4e180f9d82ed3f7312dcf52b4517cb7580b83e5 /src/arch/instruction-int.h | |
parent | 9ed9405f37244832570f48b42dced1c92704ba3d (diff) |
Define all architecture instructions as serializable.
Diffstat (limited to 'src/arch/instruction-int.h')
-rw-r--r-- | src/arch/instruction-int.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/arch/instruction-int.h b/src/arch/instruction-int.h index 9a23bf2..f8998a1 100644 --- a/src/arch/instruction-int.h +++ b/src/arch/instruction-int.h @@ -26,6 +26,7 @@ #include "instruction.h" +#include "../analysis/storage/storage.h" #include "../common/array.h" #include "../glibext/objhole.h" @@ -58,6 +59,13 @@ typedef GBufferLine * (* print_instruction_fc) (const GArchInstruction *, GBuffe /* Liste les registres lus et écrits par l'instruction. */ typedef void (* get_instruction_rw_regs_fc) (const GArchInstruction *, GArchRegister ***, size_t *, GArchRegister ***, size_t *); +/* Charge un contenu depuis une mémoire tampon. */ +typedef bool (* load_instruction_fc) (GArchInstruction *, GObjectStorage *, packed_buffer_t *); + +/* Sauvegarde un contenu dans une mémoire tampon. */ +typedef bool (* store_instruction_fc) (GArchInstruction *, GObjectStorage *, packed_buffer_t *); + + /* Informations glissées dans la structure GObject de GArchOperand */ typedef struct _instr_extra_data_t @@ -142,6 +150,9 @@ struct _GArchInstructionClass print_instruction_fc print; /* Imprime l'ensemble */ + load_instruction_fc load; /* Chargement depuis un tampon */ + store_instruction_fc store; /* Conservation dans un tampon */ + //get_instruction_rw_regs_fc get_rw_regs; /* Liste des registres liés */ }; |