summaryrefslogtreecommitdiff
path: root/src/format/executable-int.h
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-05-24 07:43:32 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-05-24 07:43:32 (GMT)
commit08c45a8c7970403c3d658b1b0af9ac09f66b4a7e (patch)
tree25a8108e36b7328c266ba6e71647243dfd6b7cac /src/format/executable-int.h
parent7135e7944c91d2e8b787c8782375423b9a90ed5b (diff)
Translated offsets and addresses with more accuracy.
Diffstat (limited to 'src/format/executable-int.h')
-rw-r--r--src/format/executable-int.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/format/executable-int.h b/src/format/executable-int.h
index ed2c7c1..58eba25 100644
--- a/src/format/executable-int.h
+++ b/src/format/executable-int.h
@@ -42,10 +42,10 @@ typedef bool (* get_main_addr_fc) (GExeFormat *, vmpa2t *);
typedef void (* refine_portions_fc) (GExeFormat *);
/* Fournit l'emplacement correspondant à une position physique. */
-typedef bool (* translate_phys_fc) (const GExeFormat *, phys_t, vmpa2t *);
+typedef bool (* translate_phys_fc) (GExeFormat *, phys_t, vmpa2t *);
/* Fournit l'emplacement correspondant à une adresse virtuelle. */
-typedef bool (* translate_virt_fc) (const GExeFormat *, virt_t, vmpa2t *);
+typedef bool (* translate_virt_fc) (GExeFormat *, virt_t, vmpa2t *);
/* Fournit l'emplacement d'une section donnée. */
typedef bool (* get_range_by_name_fc) (const GExeFormat *, const char *, mrange_t *);
@@ -82,6 +82,9 @@ struct _GExeFormatClass
};
+/* Crée les portions potentiellement utiles aux traductions. */
+void g_executable_format_setup_portions(GExeFormat *, GtkStatusStack *);
+
/* Effectue les ultimes opérations de chargement d'un binaire. */
bool g_executable_format_complete_loading(GExeFormat *, GtkStatusStack *);
@@ -91,6 +94,12 @@ bool g_exe_format_without_virt_translate_offset_into_vmpa(const GExeFormat *, ph
/* Fournit l'emplacement correspondant à une adresse virtuelle. */
bool g_exe_format_without_virt_translate_address_into_vmpa(const GExeFormat *, virt_t, vmpa2t *);
+/* Fournit l'emplacement correspondant à une position physique. */
+bool g_exe_format_translate_offset_into_vmpa_using_portions(GExeFormat *, phys_t, vmpa2t *);
+
+/* Fournit l'emplacement correspondant à une adresse virtuelle. */
+bool g_exe_format_translate_address_into_vmpa_using_portions(GExeFormat *, virt_t, vmpa2t *);
+
#endif /* _FORMAT_EXECUTABLE_INT_H */