summaryrefslogtreecommitdiff
path: root/src/arch/processor.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/processor.c')
-rw-r--r--src/arch/processor.c60
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;
+
+}