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 */ | 
