diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/core/processors.c | 32 | ||||
-rw-r--r-- | src/core/processors.h | 4 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/core/processors.c b/src/core/processors.c index 48e2cd2..81f7494 100644 --- a/src/core/processors.c +++ b/src/core/processors.c @@ -171,6 +171,38 @@ void unload_processors_definitions(void) /****************************************************************************** * * +* Paramètres : count = taille de la liste retournée. [OUT] * +* * +* Description : Fournit la liste des processeurs d'architecture disponibles. * +* * +* Retour : Liste de nom technique des processeurs enregistrés. * +* * +* Remarques : - * +* * +******************************************************************************/ + +char **get_all_processor_keys(size_t *count) +{ + char **result; /* Liste à retourner */ + size_t i; /* Boucle de parcours */ + + G_LOCK(_pdef_access); + + result = malloc(_processors_definitions_count * sizeof(char *)); + *count = _processors_definitions_count; + + for (i = 0; i < _processors_definitions_count; i++) + result[i] = strdup(_processors_definitions[i].key); + + G_UNLOCK(_pdef_access); + + return result; + +} + + +/****************************************************************************** +* * * Paramètres : key = nom technique du processeur recherché. * * * * Description : Retrouve l'enregistrement correspondant à une architecture. * diff --git a/src/core/processors.h b/src/core/processors.h index d07ceb0..f95c6c2 100644 --- a/src/core/processors.h +++ b/src/core/processors.h @@ -32,6 +32,7 @@ #include "../arch/processor.h" + /* Assure l'enregistrement de types pour les caches à charger. */ void register_arch_gtypes(void); @@ -41,6 +42,9 @@ bool register_processor_type(GType); /* Décharge toutes les définitions de processeurs. */ void unload_processors_definitions(void); +/* Fournit la liste des processeurs d'architecture disponibles. */ +char **get_all_processor_keys(size_t *); + /* Fournit le processeur d'architecture correspondant à un nom. */ GArchProcessor *get_arch_processor_for_key(const char *); |