diff options
Diffstat (limited to 'src/arch/processor.c')
-rw-r--r-- | src/arch/processor.c | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/arch/processor.c b/src/arch/processor.c index 317e893..c8630d7 100644 --- a/src/arch/processor.c +++ b/src/arch/processor.c @@ -132,6 +132,25 @@ SourceEndian g_arch_processor_get_endianness(const GArchProcessor *proc) /****************************************************************************** * * +* Paramètres : proc = processeur d'architecture à consulter. * +* * +* Description : Fournit la taille de l'espace mémoire d'une architecture. * +* * +* Retour : Taille de l'espace mémoire. * +* * +* Remarques : - * +* * +******************************************************************************/ + +MemoryDataSize g_arch_processor_get_memory_size(const GArchProcessor *proc) +{ + return proc->memsize; + +} + + +/****************************************************************************** +* * * Paramètres : proc = architecture visée par la procédure. * * data = flux de données à analyser. * * pos = position courante dans ce flux. [OUT] * @@ -216,3 +235,44 @@ GArchProcessor *get_arch_processor_for_type(ArchProcessorType type) return _processors_list[type]; } + + +/****************************************************************************** +* * +* Paramètres : format = exécutable d'origine. * +* * +* Description : Fournit le processeur d'architecture lié à un format. * +* * +* Retour : Processeur d'architecture trouvé. * +* * +* Remarques : - * +* * +******************************************************************************/ + +GArchProcessor *get_arch_processor_from_format(const exe_format *format) +{ + GArchProcessor *result; /* Conversion à retourner */ + + switch (get_exe_target_machine(format)) + { + case FTM_JVM: + result = get_arch_processor_for_type(APT_JVM); + break; + + case FTM_MIPS: + result = get_arch_processor_for_type(APT_MIPS); + break; + + case FTM_386: + result = get_arch_processor_for_type(APT_386); + break; + + default: + result = NULL; + break; + + } + + return result; + +} |