Compare commits

..

15 Commits

Author SHA1 Message Date
3524d33b6b
feat: add integration tests with snapshot for some CPS cards in kits 2024-10-07 20:57:49 +02:00
0cbc89a91a
feat: implement group2, CPS situation for SSV_LireCartePS 2024-10-07 19:24:55 +02:00
f55ac6f7df
feat: Une enums for deserializable fields in CPS Holder group (01) 2024-10-07 12:12:18 +02:00
0fd14762f4
feat: Take the size into account for Block reading, to handle missing fields 2024-10-07 12:11:08 +02:00
137e41430e
feat: use an enum instead of raw ID for CPS type 2024-10-06 14:53:53 +02:00
cb4d352f12
feat: raw (non-deserialized) implementation of the 01 group of LireCartePS 2024-10-05 11:39:51 +02:00
4e3387cef9
feat: implement a full SSV_LireConfig output parsing, using deku for a declarative bytes parsing
Co-authored-by: theo <t.lettermann@criteo.com>
2024-10-04 22:16:58 +02:00
79c16751e3
feat: implémentation partielle de la fonction get_config et de ses erreurs 2024-10-02 12:20:34 +02:00
b62e21771a
feat: implement LireCartePS with hardcoded reader and all errors 2024-10-02 12:20:28 +02:00
405f923bc6
feat: Implémentation de la gestion des erreurs numériques de la librairie C pour la fonction InitLIB2
Co-authored-by: theo <t.lettermann@criteo.com>
2024-10-02 12:17:43 +02:00
a4773e5cf4
feat: Création de la crate fsv, couche de haut niveau pour l'usage des librairies FSV 2024-10-02 12:16:05 +02:00
97b4d6c443
feat: improve the fsv-sys README, and add a PROGESS.md for implementation tracking 2024-10-02 12:13:23 +02:00
6034e7f9db
feat: Gestion des versions multiples de FSV dans le wrapper exposant les fonctions de la librairie 2024-10-02 12:13:22 +02:00
6c78db945e
feat: handle multi-version bindings generation 2024-10-02 12:13:22 +02:00
27595bd4f9
feat: Première implémentation de bindings pour FSV SESAM-Vitale
- Création de la crates/fsv-sys
- Ajout des headers de la FSV 1.40.14.13 dans crates/fsv-sys/vendor
- Génération des bindings depuis ces headers avec bindgen
- Implémentation d'une structure de loading de la librairie au runtime
- Implémentation d'une macro permettant de générer facilement la couche d'accès aux fonctions de la librairie
2024-10-02 12:13:02 +02:00
2 changed files with 9 additions and 4 deletions

View File

@ -13,6 +13,13 @@
Les détails de l'avancement de l'implémentation des bindings FSV sont donnés dans le fichier [PROGRESS.md](PROGRESS.md)
| Module | Progression |
|-------------|------------------------------------|
| [SSV](#ssv) | ![](https://geps.dev/progress/5) |
| [SGD](#sgd) | ![](https://geps.dev/progress/0) |
| [SRT](#srt) | ![](https://geps.dev/progress/0) |
| [STS](#sts) | ![](https://geps.dev/progress/0) |
## Utilisation
### Pré-requis
@ -32,5 +39,5 @@ Les détails de l'avancement de l'implémentation des bindings FSV sont donnés
### Pré-requis
- Pour la génération des bindings lors de la phase de `build` à l'aide de `bindgen`, il est nécessaire d'avoir installé `clang` ([documentation](https://rust-lang.github.io/rust-bindgen/requirements.html)).
- Pour la génération des bindings lors de la pahse de `build` à l'aide de `bindgen`, il est nécessaire d'avoir installé `clang` ([documentation](https://rust-lang.github.io/rust-bindgen/requirements.html)).

View File

@ -3,8 +3,6 @@ use thiserror::Error;
#[derive(Error, Debug, Eq, PartialEq, FromPrimitive)]
#[repr(u16)]
/// Liste des codes d'erreur retournés par la librairie C SSV
/// Documentation: Manuel de programmation SSV - Annexe A (p. 215)
pub enum SSVErrorCodes {
#[error("La Carte du Professionnel de Santé est absente du lecteur.")]
CPSMissing = 0xF001,
@ -19,7 +17,7 @@ pub enum SSVErrorCodes {
/// - Sécurisation d'une série de lots en cours.
/// - Pour les fonctions TLA (sauf Identifier TLA) : Cette erreur survient lorsque le simulateur TLA est en mode 1.50.
/// - Lire Date Lecteur, Mettre à jour Date Lecteur, Lire Droits Vitale : Cette erreur peut survenir lorsque le Logiciel Lecteur ne connaît pas la fonction sollicitée, c'est-à-dire si la version du Logiciel Lecteur est antérieure à 2.00.
/// - Décharger Données Bénéficiaires : cette erreur peut survenir pour signaler que le format des données issues du lecteur est incompatible avec cette version de SSV.
/// - Décharger Données Bénéficiaires : cette erreur peut survenir pour signaler que le
#[error("F022: Erreur commune à plusieurs fonctions.")]
F022 = 0xF022,
#[error("Message du lecteur incohérent. Débrancher et rebrancher le lecteur.")]