summaryrefslogtreecommitdiff
path: root/src/analysis/line.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2009-03-04 01:38:27 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2009-03-04 01:38:27 (GMT)
commit674739bedc853681be5a2657a7a4f497d6e82c9b (patch)
tree10e65041c0607d4e5a20c0a7a77fe75e1bbd7737 /src/analysis/line.h
parentbbd04bf5f23e7dca1917247cb92824805b22a2a4 (diff)
Added a line type for binary code display.
git-svn-id: svn://svn.gna.org/svn/chrysalide/trunk@51 abbe820e-26c8-41b2-8c08-b7b2b41f8b0a
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 */