diff options
Diffstat (limited to 'src/analysis/line.h')
-rw-r--r-- | src/analysis/line.h | 42 |
1 files changed, 38 insertions, 4 deletions
diff --git a/src/analysis/line.h b/src/analysis/line.h index dd0915c..cd2ec71 100644 --- a/src/analysis/line.h +++ b/src/analysis/line.h @@ -28,12 +28,16 @@ #include <gtk/gtk.h> +#include "../arch/processor.h" +#include "../format/exe_format.h" + + + /* Définitions des types de ligne */ typedef enum _RenderingLineType { - RLT_PROLOGUE /* Description de l'analyse */ - - + RLT_PROLOGUE, /* Description de l'analyse */ + RLT_CODE /* Code en langage machine */ } RenderingLineType; @@ -50,6 +54,15 @@ void add_line_to_rendering_lines(rendering_line **, rendering_line *); +/* Met à jour la nombre d'octets maximale par instruction. */ +void get_rendering_line_binary_len(rendering_line *, off_t *); + +/* Prend en compte le nombre d'octets maximal par instruction. */ +void set_rendering_line_max_binary_len(rendering_line *, off_t); + +/* Fournit les dimensions d'une ligne par rapport à d'autres. */ +void get_rendering_line_size(rendering_line *, int *, int *); + /* Procède à l'initialisation des bases d'une représentation. */ void draw_rendering_line(rendering_line *, GdkDrawable *, GdkGC *, gint, gint); @@ -58,11 +71,32 @@ void draw_rendering_line(rendering_line *, GdkDrawable *, GdkGC *, gint, gint); /* ------------------------- LIGNE EN TETE DE DESASSEMBLAGE ------------------------- */ -/* Choisit d'afficher le code brut ou non. */ +/* Crée une des lignes de description initiales. */ rendering_line *create_prologue_line(const char *); +/* ------------------------ LIGNE DE CODE EN LANGAGE MACHINE ------------------------ */ + + +/* Passage de paramètres compact */ +typedef struct _disass_options +{ + bool show_address; /* Affichage de l'adresse ? */ + bool show_code; /* Affichage du code brut ? */ + + exe_format *format; /* Format du contenu bianire */ + asm_processor *proc; /* Architecture utilisée */ + +} disass_options; + + +/* Crée une ligne de représentation de code binaire. */ +rendering_line *create_code_line(asm_instr *, const disass_options *); + + + + #endif /* _ANALYSIS_LINE_H */ |