83 lines
5.5 KiB
Rust
83 lines
5.5 KiB
Rust
|
use num_enum::FromPrimitive;
|
|||
|
use thiserror::Error;
|
|||
|
|
|||
|
#[derive(Error, Debug, Eq, PartialEq, FromPrimitive)]
|
|||
|
#[repr(u16)]
|
|||
|
pub enum SSVErrorCodes {
|
|||
|
#[error("Le fichier `tablebin.smc` est inaccessible en lecture (inexistant ou pas de droits d'accès).")]
|
|||
|
FileMissingTablebinMsc = 0xF610, // tablebin.smc
|
|||
|
#[error("Le fichier `scripts.sms` est inaccessible en lecture (inexistant ou pas de droits d'accès).")]
|
|||
|
FileMissingScriptsSms = 0xF611, // scripts.sms
|
|||
|
#[error("Le fichier `tablebin.ssv` est inaccessible en lecture (inexistant ou pas de droits d'accès).")]
|
|||
|
FileMissingTablebinSsv = 0xF612, // tablebin.ssv
|
|||
|
#[error("Le fichier `script.ssv` est inaccessible en lecture (inexistant ou pas de droits d'accès).")]
|
|||
|
FileMissingScriptSsv = 0xF613, // script.ssv
|
|||
|
#[error("La version du fichier `tablebin.smc` est incompatible avec la bibliothèque des SSV.")]
|
|||
|
FileVersionIncompatibleTablebinMsc = 0xF620, // tablebin.smc
|
|||
|
#[error("La version du fichier `scripts.sms` est incompatible avec la bibliothèque des SSV.")]
|
|||
|
FileVersionIncompatibleScriptsSms = 0xF621, // scripts.sms
|
|||
|
#[error("La version du fichier `tablebin.ssv` est incompatible avec la bibliothèque des SSV.")]
|
|||
|
FileVersionIncompatibleTablebinSsv = 0xF622, // tablebin.ssv
|
|||
|
#[error("La version du fichier `script.ssv` est incompatible avec la bibliothèque des SSV.")]
|
|||
|
FileVersionIncompatibleScriptSsv = 0xF623, // script.ssv
|
|||
|
#[error("L'intégrité du fichier `tablebin.smc` est incorrecte.")]
|
|||
|
FileIntegrityIncorrectTablebinMsc = 0xF630, // tablebin.smc
|
|||
|
#[error("L'intégrité du fichier `scripts.sms` est incorrecte.")]
|
|||
|
FileIntegrityIncorrectScriptsSms = 0xF631, // scripts.sms
|
|||
|
#[error("L'intégrité du fichier `tablebin.ssv` est incorrecte.")]
|
|||
|
FileIntegrityIncorrectTablebinSsv = 0xF632, // tablebin.ssv
|
|||
|
#[error("L'intégrité du fichier `script.ssv` est incorrecte.")]
|
|||
|
FileIntegrityIncorrectScriptSsv = 0xF633, // script.ssv
|
|||
|
#[error("La structure interne du fichier `tablebin.smc` est invalide.")]
|
|||
|
FileStructureInvalidTablebinMsc = 0xF640, // tablebin.smc
|
|||
|
#[error("La structure interne du fichier `scripts.sms` est invalide.")]
|
|||
|
FileStructureInvalidScriptsSms = 0xF641, // scripts.sms
|
|||
|
#[error("La structure interne du fichier `tablebin.ssv` est invalide.")]
|
|||
|
FileStructureInvalidTablebinSsv = 0xF642, // tablebin.ssv
|
|||
|
#[error("La structure interne du fichier `script.ssv` est invalide.")]
|
|||
|
FileStructureInvalidScriptSsv = 0xF643, // script.ssv
|
|||
|
#[error("Le fichier `tablebin.smc` n'a pas pu être chargé en mémoire. Essayez de libérer de la mémoire.")]
|
|||
|
FileLoadFailedTablebinMsc = 0xF650, // tablebin.smc
|
|||
|
#[error("Le fichier `scripts.sms` n'a pas pu être chargé en mémoire. Essayez de libérer de la mémoire.")]
|
|||
|
FileLoadFailedScriptsSms = 0xF651, // scripts.sms
|
|||
|
#[error("Le fichier `tablebin.ssv` n'a pas pu être chargé en mémoire. Essayez de libérer de la mémoire.")]
|
|||
|
FileLoadFailedTablebinSsv = 0xF652, // tablebin.ssv
|
|||
|
#[error("Le fichier `script.ssv` n'a pas pu être chargé en mémoire. Essayez de libérer de la mémoire.")]
|
|||
|
FileLoadFailedScriptSsv = 0xF653, // script.ssv
|
|||
|
#[error("Le nom du fichier `tablebin.smc` est invalide.")]
|
|||
|
FileNameInvalidTablebinMsc = 0xF660, // tablebin.smc
|
|||
|
#[error("Le nom du fichier `scripts.sms` est invalide.")]
|
|||
|
FileNameInvalidScriptsSms = 0xF661, // scripts.sms
|
|||
|
#[error("Le nom du fichier `tablebin.ssv` est invalide.")]
|
|||
|
FileNameInvalidTablebinSsv = 0xF662, // tablebin.ssv
|
|||
|
#[error("Le nom du fichier `script.ssv` est invalide.")]
|
|||
|
FileNameInvalidScriptSsv = 0xF663, // script.ssv
|
|||
|
#[error("La fonction Initialiser Librairie est déjà appelée.")]
|
|||
|
FunctionInitLib2AlreadyCalled = 0xF670, // Warning
|
|||
|
#[error("Le fichier SESAM.INI est inaccessible en lecture (fichier ou droit d’accès manquant) ou ne contient pas le chemin des tables binaires des SSV.")]
|
|||
|
SesamIniMissingFileOrTablebinPath = 0xF680,
|
|||
|
#[error("Le chemin du répertoire de travail est absent du fichier SESAM.INI.")]
|
|||
|
SesamIniMissingWorkDir = 0xF6F1,
|
|||
|
#[error("Les fichiers d’extension adm ne sont pas accessibles en écriture.")]
|
|||
|
AdmFilesNotWritable = 0xF6F2, // Warning
|
|||
|
#[error("Aucune version de FSV du socle technique trouvé. Vérifier que la version du fichier script.sms est bonne.")]
|
|||
|
NoFsvVersionFound = 0xF6F4,
|
|||
|
#[error("Librairie SGD absente ou incomplète.")]
|
|||
|
LibraryMissingOrIncompleteSGD = 0xF6F5,
|
|||
|
#[error("Librairie SMC absente ou incomplète.")]
|
|||
|
LibraryMissingOrIncompleteSMC = 0xF6F6,
|
|||
|
#[error("Librairie SJS absente ou incomplète.")]
|
|||
|
LibraryMissingOrIncompleteSJS = 0xF6F7,
|
|||
|
#[error("Librairie SMS absente ou incomplète.")]
|
|||
|
LibraryMissingOrIncompleteSMS = 0xF6F8,
|
|||
|
#[error("Section MGC absente / clé RepertoireConfigTrace absente / fichier log4crc.xml non trouvé à l’emplacement indiqué par la clé RepertoireConfigTrace du fichier SESAM.INI.")]
|
|||
|
SesamIniTracingConfigMissing = 0xFF22, // Warning
|
|||
|
#[error("Interface Full PC/SC : problème de chargement de la librairie cryptographique ou erreur retournée par la librairie cryptographique.")]
|
|||
|
PCSCInterfaceCryptoLibraryError = 0xFF25,
|
|||
|
#[error("Valorisation incorrecte des paramètres de gestion de l'accès aux ressources dans le SESAM.INI. Vérifier les valeurs des clés tempoexclusivite, repetitionexclusivite, tempoexclusivitePCSC, repetitionexclusivitePCSC")]
|
|||
|
SesamIniResourceAccessParamsIncorrect = 0xFF2A,
|
|||
|
#[num_enum(catch_all)]
|
|||
|
#[error("Erreur inattendue de la librairie SSV (code d'erreur: {0}).")]
|
|||
|
Unexpected(u16),
|
|||
|
}
|