summaryrefslogtreecommitdiff
path: root/src/analysis/line.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/analysis/line.h')
-rw-r--r--src/analysis/line.h42
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 */