diff options
Diffstat (limited to 'src/arch/processor.h')
-rw-r--r-- | src/arch/processor.h | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/arch/processor.h b/src/arch/processor.h index 2a8a8c1..87c0738 100644 --- a/src/arch/processor.h +++ b/src/arch/processor.h @@ -98,6 +98,35 @@ GArchInstruction *g_arch_processor_get_instruction(const GArchProcessor *, size_ +/* ------------------ CONSERVATION DES SOUCIS DURANT LE CHARGEMENT ------------------ */ + + +/* Types d'erreurs détectées */ +typedef enum _ArchProcessingError +{ + APE_DISASSEMBLY = ((0 << 2) | (1 << 0)),/* Code non reconnu */ + APE_LABEL = ((1 << 2) | (1 << 0)) /* Etiquette non référencée */ + +} ArchProcessingError; + + +/* Protège ou lève la protection de l'accès aux erreurs. */ +void g_arch_processor_lock_unlock_errors(GArchProcessor *, bool); + +#define g_arch_processor_lock_errors(p) g_arch_processor_lock_unlock_errors(p, true) +#define g_arch_processor_unlock_errors(p) g_arch_processor_lock_unlock_errors(p, false) + +/* Etend la liste des soucis détectés avec de nouvelles infos. */ +void g_arch_processor_add_error(GArchProcessor *, ArchProcessingError, const vmpa2t *, const char *); + +/* Indique le nombre d'erreurs relevées au niveau assembleur. */ +size_t g_arch_processor_count_errors(GArchProcessor *); + +/* Fournit les éléments concernant un soucis détecté. */ +bool g_arch_processor_get_error(GArchProcessor *, size_t, ArchProcessingError *, vmpa2t *, char **); + + + /* ------------------ MANIPULATIONS DES INSTRUCTIONS DESASSEMBLEES ------------------ */ |