diff options
author | Cyrille Bagard <nocbos@gmail.com> | 2024-11-23 15:59:19 (GMT) |
---|---|---|
committer | Cyrille Bagard <nocbos@gmail.com> | 2024-11-23 15:59:19 (GMT) |
commit | 411f03130cf45194689bc344f19a3b77c33a31ae (patch) | |
tree | f047b62015eb37e30629398f9adcb977a5a6c6f6 /src/format/program.c | |
parent | 80d779749adf228078b61f268bf952ba91a277f0 (diff) |
Restore more features for formats.
Diffstat (limited to 'src/format/program.c')
-rw-r--r-- | src/format/program.c | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/format/program.c b/src/format/program.c index 3624496..d44f988 100644 --- a/src/format/program.c +++ b/src/format/program.c @@ -285,8 +285,28 @@ static void g_program_format_finalize(GProgramFormat *format) } +/****************************************************************************** +* * +* Paramètres : format = description du format à initialiser pleinement. * +* content = contenu binaire à parcourir. * +* * +* Description : Met en place un nouveau contenu binaire à analyser. * +* * +* Retour : Bilan de l'opération. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_program_format_create(GProgramFormat *format, GBinContent *content) +{ + bool result; /* Bilan à retourner */ + result = g_known_format_create(G_KNOWN_FORMAT(format), content); + return result; + +} #if 0 @@ -446,6 +466,38 @@ SourceEndian g_program_format_get_endianness(const GProgramFormat *format) } +/****************************************************************************** +* * +* Paramètres : format = description du programme à consulter. * +* name = nom de la section recherchée. * +* range = emplacement en mémoire à renseigner. [OUT] * +* * +* Description : Fournit l'emplacement d'une section donnée. * +* * +* Retour : Bilan de l'opération. * +* * +* Remarques : - * +* * +******************************************************************************/ + +bool g_program_format_get_section_range_by_name(const GProgramFormat *format, const char *name, mrange_t *range) +{ + bool result; /* Bilan à retourner */ + GProgramFormatClass *class; /* Classe de l'instance */ + + class = G_PROGRAM_FORMAT_GET_CLASS(format); + + if (class->get_range_by_name == NULL) + result = false; + + else + result = class->get_range_by_name(format, name, range); + + return result; + +} + + #if 0 /****************************************************************************** |