diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2014-08-05 20:19:08 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2014-08-05 20:19:08 (GMT) |
commit | 56ee4d3ecddeee05f11083fcc1595e3756b91790 (patch) | |
tree | 5ec6e5449214093280629047c36016a0de09cbeb /src/glibext/gbufferline.h | |
parent | a2eb5483fe74923e488013b2d8b94ded6340499e (diff) |
Defined the first steps for a new disassembling approach.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@387 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
Diffstat (limited to 'src/glibext/gbufferline.h')
-rw-r--r-- | src/glibext/gbufferline.h | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/glibext/gbufferline.h b/src/glibext/gbufferline.h index 7d48cf3..fa64fe1 100644 --- a/src/glibext/gbufferline.h +++ b/src/glibext/gbufferline.h @@ -31,6 +31,7 @@ #include "gbuffersegment.h" #include "../arch/archbase.h" +#include "../arch/vmpa.h" @@ -53,7 +54,8 @@ typedef struct _GBufferLineClass GBufferLineClass; /* Désignation des colonnes d'une ligne */ typedef enum _BufferLineColumn { - BLC_ADDRESS, /* Adresse virtuelle */ + BLC_PHYSICAL, /* Position physique */ + BLC_VIRTUAL, /* Adresse virtuelle */ BLC_BINARY, /* Contenu sous forme binaire */ BLC_ASSEMBLY_HEAD, /* Instruction pour assembleur */ BLC_ASSEMBLY, /* Code pour assembleur */ @@ -81,16 +83,19 @@ typedef enum _BufferLineColumn GType g_buffer_line_get_type(void); /* Crée une nouvelle représentation de fragments de texte. */ -GBufferLine *g_buffer_line_new(vmpa_t, BufferLineColumn); +GBufferLine *g_buffer_line_new(const vmpa2t *, BufferLineColumn); /* Indique l'adresse à laquelle se situe la ligne. */ vmpa_t g_buffer_line_get_address(const GBufferLine *); +/* Construit le tronc commun d'une ligne d'instruction. */ +void g_buffer_line_fill_for_instr(GBufferLine *, MemoryDataSize, MemoryDataSize, const bin_t *, off_t, bool); + /* Ajoute un fragment de texte à une colonne de ligne. */ void g_buffer_line_add_segment(GBufferLine *, BufferLineColumn, GBufferSegment *) __attribute__ ((deprecated)); /* Déplace le curseur au sein d'une vue de tampon. */ -bool g_buffer_line_move_caret(const GBufferLine *, GdkRectangle *, bool, GdkScrollDirection, bool, bool); +bool g_buffer_line_move_caret(const GBufferLine *, GdkRectangle *, bool, GdkScrollDirection, bool, bool, bool); /* Donne le segment présent à une abscisse donnée. */ GBufferSegment *g_buffer_line_get_segment_at(const GBufferLine *, const gint [BLC_COUNT], gint *, bool); @@ -108,16 +113,16 @@ char *g_buffer_line_get_text(const GBufferLine *); gint g_buffer_line_get_column_width(GBufferLine *, BufferLineColumn); /* Fournit la dernière largeur d'une ligne avec fusion. */ -gint g_buffer_line_get_merge_width(GBufferLine *, BufferLineColumn *, bool, bool); +gint g_buffer_line_get_merge_width(GBufferLine *, BufferLineColumn *, bool, bool, bool); /* Définit la colonne à partir de laquelle la fusion opère. */ void g_buffer_line_start_merge_at(GBufferLine *, BufferLineColumn); /* Imprime la ligne de texte représentée. */ -void g_buffer_line_draw(GBufferLine *, cairo_t *, const gint [BLC_COUNT], gint, gint, bool, bool); +void g_buffer_line_draw(GBufferLine *, cairo_t *, const gint [BLC_COUNT], gint, gint, bool, bool, bool); /* Exporte la ligne de texte représentée. */ -void g_buffer_line_export(GBufferLine *, int, BufferExportType, bool, bool, bool); +void g_buffer_line_export(GBufferLine *, int, BufferExportType, bool, bool, bool, bool); |