From 7ac82153823b07c6ec1b17f63ba139e8bdb3069b Mon Sep 17 00:00:00 2001 From: Florian Briand Date: Sun, 29 Sep 2024 12:44:57 +0200 Subject: [PATCH] =?UTF-8?q?feat:=20Premi=C3=A8re=20impl=C3=A9mentation=20d?= =?UTF-8?q?e=20bindings=20pour=20FSV=20SESAM-Vitale?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 --- Cargo.lock | 199 +++++++-- Cargo.toml | 1 + README.md | 5 +- crates/fsv-sys/Cargo.toml | 17 + crates/fsv-sys/README.md | 23 + crates/fsv-sys/build.rs | 62 +++ crates/fsv-sys/src/lib.rs | 130 ++++++ .../vendor/fsv/1.40.14.13/includes/SGD/sgd.h | 123 ++++++ .../vendor/fsv/1.40.14.13/includes/SRT/srt.h | 176 ++++++++ .../includes/SSV/pourFSV1.40.13/ssv.h | 327 ++++++++++++++ .../includes/SSV/pourFSV1.40.14/ssv.h | 412 ++++++++++++++++++ .../vendor/fsv/1.40.14.13/includes/STS/sts.h | 353 +++++++++++++++ .../includes/SYS_DEF/linux/linuxdef.h | 189 ++++++++ .../includes/SYS_DEF/linux/mc_sys_def.h | 85 ++++ .../includes/SYS_DEF/macosx/mc_sys_def.h | 92 ++++ .../includes/SYS_DEF/macosx/osxdef.h | 150 +++++++ .../includes/SYS_DEF/win/mc_sys_def.h | 69 +++ .../fsv/1.40.14.13/includes/wrapper.linux.h | 7 + .../fsv/1.40.14.13/includes/wrapper.macosx.h | 7 + .../fsv/1.40.14.13/includes/wrapper.win.h | 7 + 20 files changed, 2386 insertions(+), 48 deletions(-) create mode 100644 crates/fsv-sys/Cargo.toml create mode 100644 crates/fsv-sys/README.md create mode 100644 crates/fsv-sys/build.rs create mode 100644 crates/fsv-sys/src/lib.rs create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SGD/sgd.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SRT/srt.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SSV/pourFSV1.40.13/ssv.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SSV/pourFSV1.40.14/ssv.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/STS/sts.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/linux/linuxdef.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/linux/mc_sys_def.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/macosx/mc_sys_def.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/macosx/osxdef.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/win/mc_sys_def.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.linux.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.macosx.h create mode 100644 crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.win.h diff --git a/Cargo.lock b/Cargo.lock index 39b5b13..efc5962 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -191,7 +191,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -226,7 +226,7 @@ checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -369,6 +369,26 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "bindgen" +version = "0.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f49d8fed880d473ea71efb9bf597651e77201bdd4893efe54c9e5d65ae04ce6f" +dependencies = [ + "bitflags 2.6.0", + "cexpr", + "clang-sys", + "itertools", + "log", + "prettyplease", + "proc-macro2", + "quote", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.79", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -588,6 +608,15 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c" +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom 7.1.3", +] + [[package]] name = "cfb" version = "0.7.3" @@ -642,6 +671,17 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "clang-sys" +version = "1.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b023947811758c97c59bf9d1c188fd619ad4718dcaa767947df1cadb14f39f4" +dependencies = [ + "glob", + "libc", + "libloading 0.8.5", +] + [[package]] name = "clap" version = "2.34.0" @@ -945,7 +985,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331" dependencies = [ "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -955,7 +995,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f" dependencies = [ "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -1003,7 +1043,7 @@ dependencies = [ "proc-macro2", "quote", "strsim 0.11.1", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -1025,7 +1065,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" dependencies = [ "darling_core 0.20.10", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -1079,7 +1119,7 @@ dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -1200,7 +1240,7 @@ checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -1316,7 +1356,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -1446,7 +1486,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -1483,6 +1523,16 @@ dependencies = [ "libc", ] +[[package]] +name = "fsv-sys" +version = "0.1.0" +dependencies = [ + "bindgen", + "libc", + "libloading 0.8.5", + "thiserror", +] + [[package]] name = "fuchsia-zircon" version = "0.3.3" @@ -1562,7 +1612,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -1819,7 +1869,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -1911,7 +1961,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -2217,6 +2267,15 @@ dependencies = [ "once_cell", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "0.4.8" @@ -2372,15 +2431,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf" dependencies = [ "gtk-sys", - "libloading", + "libloading 0.7.4", "once_cell", ] [[package]] name = "libc" -version = "0.2.155" +version = "0.2.159" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" +checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5" [[package]] name = "libloading" @@ -2392,6 +2451,16 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "libloading" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4979f22fdb869068da03c9f7528f8297c6fd2606bc3a4affe42e6a823fdb8da4" +dependencies = [ + "cfg-if 1.0.0", + "windows-targets 0.52.6", +] + [[package]] name = "libredox" version = "0.1.3" @@ -2553,6 +2622,12 @@ version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" +[[package]] +name = "minimal-lexical" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" + [[package]] name = "miniz_oxide" version = "0.7.4" @@ -2749,6 +2824,16 @@ dependencies = [ "version_check", ] +[[package]] +name = "nom" +version = "7.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d273983c5a657a70a3e8f2a01329822f3b8c8172b73826411a55751e404a0a4a" +dependencies = [ + "memchr", + "minimal-lexical", +] + [[package]] name = "notify" version = "4.0.18" @@ -2823,7 +2908,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3203,7 +3288,7 @@ dependencies = [ "phf_shared 0.11.2", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3250,7 +3335,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3341,6 +3426,16 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c" +[[package]] +name = "prettyplease" +version = "0.2.22" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479cf940fbbb3426c32c5d5176f62ad57549a0bb84773423ba8be9d089f5faba" +dependencies = [ + "proc-macro2", + "syn 2.0.79", +] + [[package]] name = "proc-macro-crate" version = "1.3.1" @@ -3629,6 +3724,12 @@ version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + [[package]] name = "rustc_version" version = "0.4.0" @@ -3695,7 +3796,7 @@ dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3767,7 +3868,7 @@ checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3778,7 +3879,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3810,7 +3911,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3861,7 +3962,7 @@ dependencies = [ "darling 0.20.10", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -3954,6 +4055,12 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f" +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook-registry" version = "1.4.2" @@ -4151,9 +4258,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.72" +version = "2.0.79" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af" +checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590" dependencies = [ "proc-macro2", "quote", @@ -4350,7 +4457,7 @@ dependencies = [ "serde", "serde_json", "sha2", - "syn 2.0.72", + "syn 2.0.79", "tauri-utils", "thiserror", "time", @@ -4368,7 +4475,7 @@ dependencies = [ "heck 0.5.0", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", "tauri-codegen", "tauri-utils", ] @@ -4563,7 +4670,7 @@ checksum = "da31aef70da0f6352dbcb462683eb4dd2bfad01cf3fc96cf204547b9a839a585" dependencies = [ "dirs 4.0.0", "fnv", - "nom", + "nom 5.1.3", "phf 0.11.2", "phf_codegen 0.11.2", ] @@ -4585,22 +4692,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c" [[package]] name = "thiserror" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" +checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.63" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" +checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -4683,7 +4790,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -4843,7 +4950,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -5153,7 +5260,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", "wasm-bindgen-shared", ] @@ -5187,7 +5294,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -5306,7 +5413,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -5459,7 +5566,7 @@ checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -5470,7 +5577,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -5481,7 +5588,7 @@ checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -5492,7 +5599,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] [[package]] @@ -5902,7 +6009,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", "zvariant_utils", ] @@ -5939,7 +6046,7 @@ dependencies = [ "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", "zvariant_utils", ] @@ -5951,5 +6058,5 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340" dependencies = [ "proc-macro2", "quote", - "syn 2.0.72", + "syn 2.0.79", ] diff --git a/Cargo.toml b/Cargo.toml index a4ff5d4..4c5d469 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,5 +4,6 @@ members = [ "crates/backend", "crates/desktop", "crates/sesam-vitale", + "crates/fsv-sys", "crates/utils", ] diff --git a/README.md b/README.md index eb2ad78..8788108 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,7 @@ Logiciel de Pharmacie libre et open-source. - `crates/desktop`: Client desktop propulsé par Tauri, exposant le `frontend` - `crates/sesam-vitale`: Bibliothèque de gestion des services SESAM-Vitale (Lecture des cartes CPS et Vitale, téléservices ...) - `crates/utils`: Bibliothèque de fonctions utilitaires + - `crates/fsv-sys`: Bindings Rust pour les librairies dynamiques FSV (SESAM-Vitale) - `frontend`: Interface web du logiciel, propulsée par Nuxt.js ## Installation @@ -43,9 +44,9 @@ La CLI Tauri est nécessaire au lancement du client `desktop`. Elle peut être i cargo install tauri-cli --version "^2.0.0-rc" ``` -#### SESAM-Vitale +#### FSV-sys -La crate `sesam-vitale` nécessite la présence des librairies dynamiques fournies par le package FSV et la CryptolibCPS. Les instructions d'installation sont disponibles dans le [README](crates/sesam-vitale/README.md) de la crate `sesam-vitale`. +La crate `fsv-sys` nécessite la présence des librairies fournies par le package FSV et la CryptolibCPS. Les instructions d'installation sont disponibles dans le [README](crates/sesam-vitale/README.md) de la crate `fsv-sys`. #### Backend Hot-reload diff --git a/crates/fsv-sys/Cargo.toml b/crates/fsv-sys/Cargo.toml new file mode 100644 index 0000000..f0028e8 --- /dev/null +++ b/crates/fsv-sys/Cargo.toml @@ -0,0 +1,17 @@ +[package] +name = "fsv-sys" +version = "0.1.0" +edition = "2021" + +links = "ssvlux64,ssvosx,Ssvw64" +# Linux: Libssvlux64.so +# Windows: Ssvw64.dll +# macOS: ssvosx.framework + +[dependencies] +libc = "0.2.159" +libloading = "0.8.5" +thiserror = "1.0.64" + +[build-dependencies] +bindgen = "0.70.1" diff --git a/crates/fsv-sys/README.md b/crates/fsv-sys/README.md new file mode 100644 index 0000000..85278bc --- /dev/null +++ b/crates/fsv-sys/README.md @@ -0,0 +1,23 @@ +# FSV-sys, bindings Rust pour le package FSV SESAM-Vitale + +## Utilisation + +### Pré-requis + +- Installer le [package FSV](https://industriels.sesam-vitale.fr/group/fournitures-sesam-vitale) + - Les librairies dynamiques (.lib, .dll, ...) fournies ne sont pas installés dans les emplacements standard du système, il faudra donc configurer leur chemin d'installation dans le fichier de configuration `.env.build` (voir ci-dessous) + - Le détail des chemins d'installation est donné dans la documentation du package FSV `fsv-mi-004_pack-FSV1.40.14_V2.3.pdf` + - Linux - par défaut : `/opt/santesocial/fsv/1.40.13/lib` + - Windows - par défaut : `C:\Program Files\santesocial\santesocial\fsv\1.40.14\lib` (ou dans Program Files (x86) si c'est le package 32bits qui a été installé) + +- Installer la [CryptolibCPS](https://industriels.sesam-vitale.fr/group/galss-cryptolib-cps) + - Ce package fourni également l'utilitaire "CPS Gestion" pour obtenir des informations sur le lecteur de carte, etc. + - Linux : `cpgeslux` + - Windows : `...` + +## Développement + +### Pré-requis + +- 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)). + diff --git a/crates/fsv-sys/build.rs b/crates/fsv-sys/build.rs new file mode 100644 index 0000000..d65bc6c --- /dev/null +++ b/crates/fsv-sys/build.rs @@ -0,0 +1,62 @@ +use std::{env, path::PathBuf}; + +fn main() { + // // TODO: make the path dynamic + // println!("cargo:rustc-link-search=native=/home/florianbriand/TMP/SESAM-VITALE/FSV_1.40.1317_Linux/x86_64/Release/installeur/opt/santesocial/fsv/1.40.13/lib"); + + // Configure for various targets + let target_code; + + // Use CARGO configuration env Variable, because !cfg(target_os) is not available in build.rs + // Source: https://kazlauskas.me/entries/writing-proper-buildrs-scripts + let target = env::var("TARGET").expect("TARGET not set"); + let target_os = env::var("CARGO_CFG_TARGET_OS"); + + println!("Target: {:?}", target); + + match target_os.as_ref().map(|x| &**x) { + Ok("linux") => { + println!("Building for Linux"); + // lib_name = "ssvlux64"; + target_code = "linux"; + }, + Ok("windows") => { + println!("Building for Windows"); + // lib_name = "Ssvw64"; + target_code = "win"; + }, + Ok("macos") => { + println!("Building for MacOS"); + // lib_name = "ssvosx"; + target_code = "macosx"; + }, + tos => panic!("Unsupported target_os {:?}", tos), + } + + // Link the library + // println!("cargo:rustc-link-lib={}", lib_name); + + // Build the bindings + let wrapper_path = format!("vendor/fsv/1.40.14.13/includes/wrapper.{}.h", target_code); + let bindings = bindgen::Builder::default() + // The input header we would like to generate + // bindings for. + .header(wrapper_path) + // To generate the bindings for specific target + .clang_arg(format!("--target={}", target)) + // Limit the bindings generation to the SSV_ prefix + .allowlist_item("SSV_.*") + // Tell cargo to invalidate the built crate whenever any of the + // included header files changed. + .parse_callbacks(Box::new(bindgen::CargoCallbacks::new())) + // Finish the builder and generate the bindings. + .generate() + // Unwrap the Result and panic on failure. + .expect("Unable to generate bindings"); + + // Write the bindings to the $OUT_DIR/bindings.rs file. + let out_path = PathBuf::from(env::var("OUT_DIR").unwrap()); + bindings + .write_to_file(out_path.join("bindings.rs")) + .expect("Couldn't write bindings!"); +} \ No newline at end of file diff --git a/crates/fsv-sys/src/lib.rs b/crates/fsv-sys/src/lib.rs new file mode 100644 index 0000000..6e2d341 --- /dev/null +++ b/crates/fsv-sys/src/lib.rs @@ -0,0 +1,130 @@ +#![allow(non_upper_case_globals)] +#![allow(non_camel_case_types)] +#![allow(non_snake_case)] + +pub mod BINDINGS { + include!(concat!(env!("OUT_DIR"), "/bindings.rs")); +} + +// We need to keep the this use statement to get `ssv_function` macro working well +use BINDINGS::*; + +/// Macro to generate a function that implements a call to an external function in BINDINGS +macro_rules! ssv_function { + ($binding:ty, $func_name:ident, {$($arg_name:ident: $arg_type:ty),*}) => { + /// # Safety + /// This function is unsafe because it calls an external function through FFI. + /// The caller must ensure that the provided arguments are valid and that the + /// external function is safe to call. + pub unsafe fn $func_name(&self, $($arg_name: $arg_type),*) -> Result { + let func_struct: libloading::Symbol<'_, $binding> = + unsafe { self.library.get(stringify!($binding).as_bytes())? }; + let func = match *func_struct { + Some(func) => func, + None => return Err(Error::SymbolMissing(stringify!($binding))), + }; + Ok(func($($arg_name),*)) + } + }; +} + +#[derive(thiserror::Error, Debug)] +pub enum Error { + #[error(transparent)] + LibLoading(#[from] libloading::Error), + #[error("Symbol missing: {0}")] + SymbolMissing(&'static str), +} + +/// Wrapper around the SESAM-VITALE library +/// This struct is responsible for loading the library and providing an interface to call its functions. +/// The library is loaded at creation and kept in memory until the struct is dropped. +#[derive(Debug)] +pub struct SSVLibrary { + library: libloading::Library, +} + +pub fn get_library_path() -> String { + // TODO : Use libloading::library_filename to get platform-specific filename ? + "/opt/santesocial/fsv/1.40.13/lib/libssvlux64.so".to_string() +} + +impl SSVLibrary { + pub fn new(library_path: &str) -> Result { + let library = unsafe { libloading::Library::new(library_path)? }; + Ok(SSVLibrary { library }) + } + + pub fn library(&self) -> &libloading::Library { + &self.library + } + + ssv_function!(SSV_InitLIB2, ssv_init_lib2, { + pcFichierSesam: *const i8 + }); + + ssv_function!(SSV_LireConfig, ssv_lire_config, { + pZDataOut: *mut *mut libc::c_void, + psTailleDataOut: *mut usize + }); + + ssv_function!(SSV_LireCartePS, ssv_lire_carte_ps, { + NomRessourcePS: *const i8, + NomRessourceLecteur: *const i8, + CodePorteurPS: *const i8, + pZDataOut: *mut *mut libc::c_void, + pTailleZone: *mut usize + }); +} + +#[cfg(test)] +mod test { + use std::{ffi::CString, ptr}; + + use super::*; + + #[test] + fn test_initlib2() { + let library_path = get_library_path(); + let ssv_library = SSVLibrary::new(&library_path).expect("SSVLibrary::new failed"); + + let sesam_ini_str = CString::new("/etc/opt/santesocial/fsv/1.40.13/conf/sesam.ini") + .expect("CString::new failed"); + let result = unsafe { ssv_library.ssv_init_lib2(sesam_ini_str.as_ptr()) }.unwrap(); + assert_eq!(result, 0); + } + + #[test] + fn test_lire_config_and_carte_ps() { + let library_path = get_library_path(); + let ssv_library = SSVLibrary::new(&library_path).expect("SSVLibrary::new failed"); + + let sesam_ini_str = CString::new("/etc/opt/santesocial/fsv/1.40.13/conf/sesam.ini") + .expect("CString::new failed"); + let result = unsafe { ssv_library.ssv_init_lib2(sesam_ini_str.as_ptr()) }.unwrap(); + assert_eq!(result, 0); + + let mut buffer_ptr: *mut libc::c_void = ptr::null_mut(); + let mut size: libc::size_t = 0; + let result = unsafe { ssv_library.ssv_lire_config(&mut buffer_ptr, &mut size) }.unwrap(); + assert_eq!(result, 0); + + let nom_ressource_ps = CString::new("Gemalto PC Twin Reader (645D94C3) 00 00") + .expect("CString::new failed"); + let nom_ressource_lecteur = CString::new("Gemalto PC Twin Reader (645D94C3) 00 00") + .expect("CString::new failed"); + let code_porteur_ps = CString::new("1234").expect("CString::new failed"); + let mut buffer_ptr: *mut libc::c_void = ptr::null_mut(); + let mut size: libc::size_t = 0; + let result = unsafe { + ssv_library.ssv_lire_carte_ps( + nom_ressource_ps.as_ptr(), + nom_ressource_lecteur.as_ptr(), + code_porteur_ps.as_ptr(), + &mut buffer_ptr, + &mut size, + ) + }.unwrap(); + assert_eq!(result, 0); + } +} diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SGD/sgd.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SGD/sgd.h new file mode 100644 index 0000000..d7b9520 --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SGD/sgd.h @@ -0,0 +1,123 @@ +/* + * ------------------------------------------------------------------- + * (c) 2001 GIE SESAM-VITALE + * + * PROJET : Services de Gestion de Donnees + * + * FICHIER : sgd.h (v4) + * + * Declaration des prototypes des fonctions SGD pour les progiciels. + * ------------------------------------------------------------------- + */ + +#ifndef __SGD_H__ +#define __SGD_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Inclusions + */ +#include +#include "mc_sys_def.h" + +/* Reservation d'un session d'echange. */ +extern unsigned short API_ENTRY SGD_ReserverSession (size_t Taille, unsigned short* NumeroSession); + +/* Redimensionnement d'une zone d'entree interne. */ +extern unsigned short API_ENTRY +SGD_RedimensionnerBuffer (unsigned short NumeroSession, + size_t NouvelleTaille); + +/* Liberation d'une session d'echange. */ +extern unsigned short API_ENTRY +SGD_LibererSession (unsigned short NumeroSession); + +/* Ajout d'un groupe. */ +extern unsigned short API_ENTRY +SGD_AjouterGroupe (unsigned short NumeroSession, + unsigned short IdGroupe); + +/* Ajout d'un champ. */ +extern unsigned short API_ENTRY +SGD_AjouterChamp (unsigned short NumeroSession, + const char* ValeurChamp); + +/* Ajout d'un champ d'octets. */ +extern unsigned short API_ENTRY +SGD_AjouterChampBin (unsigned short NumeroSession, + const char* ValeurChamp, + size_t TailleChamp); + +/* Ajout d'un champ d'octets d'un Fichier. */ +extern unsigned short API_ENTRY +SGD_AjouterChampFichier (unsigned short NumeroSession, + const char* NomFichier); + +/* Lecture du numero du groupe suivant. */ +extern unsigned short API_ENTRY +SGD_LireGroupeSuivant (unsigned short NumeroSession, + unsigned short IdGroupeCourant, + unsigned short OccurrenceGroupeCourant, + unsigned short* IdGroupeSuivant, + unsigned short* OccurrenceGroupeSuivant); + +/* Lecture d'un champ. */ +extern unsigned short API_ENTRY +SGD_LireChamp (unsigned short NumeroSession, + unsigned short IdGroupe, + unsigned short OccurrenceGroupe, + unsigned short NumeroChamp, + char* ValeurChamp, + size_t* TailleMax); + +/* Lecture d'un champ d'octets. */ +extern unsigned short API_ENTRY +SGD_LireChampBin (unsigned short NumeroSession, + unsigned short IdGroupe, + unsigned short OccurrenceGroupe, + unsigned short NumeroChamp, + char* ValeurChamp, + size_t* TailleMax); + +/* Lecture d'un champ vers un fichier. */ +extern unsigned short API_ENTRY +SGD_LireChampFichier (unsigned short NumeroSession, + unsigned short IdGroupe, + unsigned short OccurrenceGroupe, + unsigned short NumeroChamp, + const char* NomFichier); + +/* Activation de la trace. */ +extern unsigned short API_ENTRY +SGD_InitTrace (const char* NomFichier, + const char* ModeOuverture, + unsigned short Module, + unsigned char Niveau); + +/*Initialisation de SGD*/ +unsigned short API_ENTRY SGD_Init(const char *fichierSesam); + +/* Transmission de la zone d'entrée. */ +extern unsigned short API_ENTRY SGD_LireZoneIn(unsigned short NumeroSession, + void** ZDonneesEntree, + size_t* TailleDonneesEntree); + +/* Transmission de la zone de sortie. */ +typedef void (API_ENTRY *LibererZoneMem) (void* Zone); + + +extern unsigned short API_ENTRY SGD_EcrireZoneOut(unsigned short NumeroSession, + void* ZDonneesSortie, + size_t TailleDonneesSortie, + LibererZoneMem Fonction); + + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SRT/srt.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SRT/srt.h new file mode 100644 index 0000000..0e30d7b --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SRT/srt.h @@ -0,0 +1,176 @@ +/* + * ------------------------------------------------------------------- + * (c) 2001-2003 GIE SESAM-VITALE + * + * PROJET : Services Reglementation et Tarification + * + * FICHIER : srt.h (v5) + * + * Declaration des prototypes des fonctions SRT + * ------------------------------------------------------------------- + */ + +#ifndef __SRT_H__ +#define __SRT_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + + /* + * Inclusions + */ +#include +/* Inclure le fichier de déclarations spécifiques système : win32def.h, macosdef.h, unixdef.h, etc. */ + + +/* +* Declarations des fonctions publiques "standards" +*/ + +/* Recherche de codes CCAM par mot cle. */ +typedef unsigned short (API_ENTRY FARPTR SRT_RechercherParMotCle) + (const char* MotCle, + unsigned long CadreRecherche, + void** ZDonneesSortie, + size_t* TailleDonneesSortie); + +/* Recherche de codes CCAM par filtre. */ +typedef unsigned short (API_ENTRY FARPTR SRT_RechercherParFiltre) + (const char* Filtre, + void** ZDonneesSortie, + size_t* TailleDonneesSortie); + +/* Consultation de donnees CCAM. */ +typedef unsigned short (API_ENTRY FARPTR SRT_ConsulterDonnee) + (const char* Identifiant, + const char* DateReference, + void* ZDonneesEntree, + size_t TailleDonneesEntree, + void** ZDonneesSortie, + size_t* TailleDonneesSortie); + +/* Modification d'un champ mono-occurrent. */ +typedef unsigned short (API_ENTRY FARPTR SRT_ModifierDonnee) + (const char* Identifiant, + const char* DateEffet, + void* ZDonneesEntree, + size_t TailleDonneesEntree); + +/* Annulation d'une modification */ +typedef unsigned short (API_ENTRY FARPTR SRT_AnnulerModification) + (const char* Identifiant, + void* ZDonneesEntree, + size_t TailleDonneesEntree); + +/* Controle de la validite d'une ou plusieurs donnees. */ +typedef unsigned short (API_ENTRY FARPTR SRT_ControlerDonnees) + (const char* Identifiant, + const char* DateReference, + void* ZDonneesEntree, + size_t TailleDonneesEntree, + unsigned char* Resultat); + +/* Regle de gestion ou de tarification. */ +typedef unsigned short (API_ENTRY FARPTR SRT_AppliquerRegle) + (const char* Identifiant, + void* ZDonneesEntree, + size_t TailleDonneesEntree, + void** ZDonneesSortie, + size_t* TailleDonneesSortie); + +/* Controle complet. */ +typedef unsigned short (API_ENTRY FARPTR SRT_ControleComplet) + (void* ZDonneesEntree, + size_t TailleDonneesEntree, + void** ZDonneesSortie, + size_t* TailleDonneesSortie); + +/* Chargement du referentiel. */ +typedef unsigned short (API_ENTRY FARPTR SRT_InitLIB2)(const char* SesamIni); + +/* Dechargement du referentiel. */ +typedef unsigned short (API_ENTRY FARPTR SRT_TermLIB)(void); + +/* Sauvegarde des modifications. */ +typedef unsigned short (API_ENTRY FARPTR SRT_SauvegarderReferentiel)(const char* Commentaire); + +/* Version du referentiel. */ +typedef unsigned short (API_ENTRY FARPTR SRT_LireVersion) + (void** ZDonneesSortie, + size_t* TailleDonneesSortie); + +/* Activation de la trace. */ +typedef unsigned short (API_ENTRY FARPTR SRT_InitTrace) + (const char* pathConf, + const char* ModeOuverture, + unsigned short Module, + unsigned char Niveau); + +/* Allocation d'une zone memoire. */ +typedef unsigned short (API_ENTRY FARPTR SRT_AllouerZoneMem) + (void** Zone, + size_t Taille); + +/* Allocation d'une zone memoire. */ +typedef void (API_ENTRY FARPTR SRT_LibererZoneMem) (void* Zone); + +/* +* Declarations des fonctions publiques "simplifiees" +*/ + +/* Recherche de codes CCAM par mot cle. */ +typedef unsigned short (API_ENTRY FARPTR SRT_RechercherParMotCle_S) + (const char* MotCle, + unsigned long CadreRecherche, + unsigned short NumeroSession); + +/* Recherche de codes CCAM par filtre. */ +typedef unsigned short (API_ENTRY FARPTR SRT_RechercherParFiltre_S) + (const char* Filtre, + unsigned short NumeroSession); + +/* Consultation de donnees CCAM. */ +typedef unsigned short (API_ENTRY FARPTR SRT_ConsulterDonnee_S) + (const char* Identifiant, + const char* DateReference, + unsigned short NumeroSession); + +/* Modification d'un champ mono-occurrent. */ +typedef unsigned short (API_ENTRY FARPTR SRT_ModifierDonnee_S) + (const char* Identifiant, + const char* DateEffet, + unsigned short NumeroSession); + +/* Annulation des modifications d'une donnee. */ +typedef unsigned short (API_ENTRY FARPTR SRT_AnnulerModification_S) + (const char* Identifiant, + unsigned short NumeroSession); + +/* Controle de la validite d'une ou plusieurs donnees. */ +typedef unsigned short (API_ENTRY FARPTR SRT_ControlerDonnees_S) + (const char* Identifiant, + const char* DateReference, + unsigned short NumeroSession, + unsigned char* Resultat); + +/* Regle de gestion ou de tarification. */ +typedef unsigned short (API_ENTRY FARPTR SRT_AppliquerRegle_S) + (const char* Identifiant, + unsigned short NumeroSession); + +/* Controle complet. */ +typedef unsigned short (API_ENTRY FARPTR SRT_ControleComplet_S) + (unsigned short NumeroSession); + +/* Version du referentiel. */ +typedef unsigned short (API_ENTRY FARPTR SRT_LireVersion_S) + (unsigned short NumeroSession); + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SSV/pourFSV1.40.13/ssv.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SSV/pourFSV1.40.13/ssv.h new file mode 100644 index 0000000..2a46c9d --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SSV/pourFSV1.40.13/ssv.h @@ -0,0 +1,327 @@ +/* + * ------------------------------------------------------------------- + * (c) 2001-2003 GIE SESAM-VITALE + * + * PROJET : Services SESAM Vitale + * + * FICHIER : ssv.h + * + * Declaration des prototypes des fonctions SSV + * ------------------------------------------------------------------- + */ + +#ifndef __SSV_H__ +#define __SSV_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + +/* + * Inclusions + */ +#include +/* Inclure le fichier de déclarations spécifiques système : + win32def.h, macosdef.h, aixdef.h, etc. */ + + +/****** FONCTIONS STANDARDS *********/ + +typedef unsigned short (API_ENTRY FARPTR SSV_TraduireARL) + (short NbZDataIn, + void FARPTR FARPTR TZDataIn, + size_t FARPTR TTailleZoneIn, + void FARPTR FARPTR pZDataOut, + size_t FARPTR pTailleZoneOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_LireCartePS) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + void FARPTR FARPTR pZDataOut, + size_t FARPTR pTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_LireConfig) + (void FARPTR FARPTR pZDataOut, + size_t FARPTR psTailleDataOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_FormaterFactures) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + char cFactureACreer, + char cModeSecur, + void FARPTR pZDataIn, + size_t TailleDataIn, + void FARPTR FARPTR pZDataOut, + size_t FARPTR pTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_FormaterLot) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + short NBZDataIn, + void FARPTR FARPTR TZDataIn, + size_t FARPTR TTailleZoneIn, + short FARPTR pNbZDataOut, + void FARPTR FARPTR TZDataOut, + size_t FARPTR TTailleZoneOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_FormaterFichier) + (void FARPTR pZDataIn,size_t TailleDataIn, + void FARPTR FARPTR pZDataOut,size_t FARPTR pTailleZone); + + +typedef unsigned short (API_ENTRY FARPTR SSV_InitTrace) + (char FARPTR pathConf, char FARPTR ModeOuverture, + unsigned short Module, unsigned char Niveau); + + +typedef unsigned short (API_ENTRY FARPTR SSV_AllouerZoneMem) + (void FARPTR FARPTR pZDataIn, + size_t taille); + +typedef void (API_ENTRY FARPTR SSV_LibererZoneMem) + (void FARPTR pZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_MajDateLecteur) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcDateHeure); + +typedef unsigned short (API_ENTRY FARPTR SSV_LireDateLecteur) + (const char FARPTR pcNomRessourceLecteur, + char FARPTR pcDateHeure); + + +typedef unsigned short (API_ENTRY FARPTR SSV_LireDroitsVitale) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR DateConsultation, + void FARPTR FARPTR pZDataOut, + size_t FARPTR pTailleZone); + + +typedef unsigned short (API_ENTRY FARPTR SSV_IdentifierTLA) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR NumVersionCDC, + void FARPTR FARPTR pZDataOut, + size_t FARPTR tailleDataOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_DechargerFacturesPdT) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + short sNbZDataIn, + void FARPTR FARPTR pvTZDataIn, + size_t FARPTR psTTailleDataIn, + short FARPTR pNbZDataOut, + void FARPTR FARPTR TZDataOut, + size_t FARPTR TTailleZoneOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_DechargerFSETLA) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + short FARPTR pNbZDataOut, + void FARPTR FARPTR TZDataOut, + size_t FARPTR TTailleZoneOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_DechargerFSETLANC) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + short FARPTR pNbZDataOut, + void FARPTR FARPTR TZDataOut, + size_t FARPTR TTailleZoneOut); +typedef unsigned short (API_ENTRY FARPTR SSV_EffacerTLA) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR cNumFacturation, + const char FARPTR cTypeDonnee); + +typedef unsigned short (API_ENTRY FARPTR SSV_ChargerFacturesPdT) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcNumFacturation, + short sNbZDataIn, + void FARPTR FARPTR pvTZDataIn, + size_t FARPTR psTTailleDataIn, + short FARPTR pNbZDataOut, + void FARPTR FARPTR TZDataOut, + size_t FARPTR TTailleZoneOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_ChargerAppli) + (const char FARPTR pcNomRessourceLecteur, + short sNbZDataIn, + void FARPTR FARPTR pvTZDataIn, + size_t FARPTR psTTailleDataIn); + +typedef unsigned short (API_ENTRY FARPTR SSV_ChargerDonneesTLA) + (const char FARPTR pcNomRessourceLecteur, + short sNbZDataIn, + void FARPTR FARPTR pvTZDataIn, + size_t FARPTR psTTailleDataIn); + +typedef unsigned short (API_ENTRY FARPTR SSV_DechargerBeneficiaires) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR cNumFacturation, + short FARPTR sNbZDataOut, + void FARPTR FARPTR pTZDataOut, + size_t FARPTR sTTailleDataOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_TraduireFSE) + (void FARPTR pZDataIn, + size_t TailleDataIn, + void FARPTR FARPTR pZDataOut, + size_t FARPTR pTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_SecuriserFacture) + (const char FARPTR pcNomRessourcePS, + const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcCodePorteurPS, + char cNologSituation, + const char FARPTR pcNumFact, + void FARPTR pvDataIn, + size_t szTailleDataIn , + void FARPTR FARPTR pvDataOut, + size_t FARPTR pszTailleDataOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_InitLIB2) (const char FARPTR pcFichierSesam); + +typedef unsigned short (API_ENTRY FARPTR SSV_TermLIB)(); + + + +/****** FONCTIONS SIMPLIFIEES *********/ + +typedef unsigned short (API_ENTRY FARPTR SIS_TraduireARL) + (unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_LireCartePS) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_LireConfig) + (unsigned short numeroSession); + + +typedef unsigned short (API_ENTRY FARPTR SIS_FormaterFactures) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + char cFacturesACreer, + char ModeSecur, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_FormaterLot) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_FormaterFichier) + (unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_InitTrace) + (char FARPTR NomFichier, char FARPTR ModeOuverture, + unsigned short Module, unsigned char Niveau); + + +typedef unsigned short (API_ENTRY FARPTR SIS_MajDateLecteur) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcDateHeure); + +typedef unsigned short (API_ENTRY FARPTR SIS_LireDateLecteur) + (const char FARPTR pcNomRessourceLecteur, + char FARPTR pcDateHeure); + + +typedef unsigned short (API_ENTRY FARPTR SIS_LireDroitsVitale) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR DateConsultation, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_IdentifierTLA) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR NumVersionCDC, + unsigned short numeroSession ); + +typedef unsigned short (API_ENTRY FARPTR SIS_DechargerFacturesPdT) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_DechargerFSETLA) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_DechargerFSETLANC) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + unsigned short numeroSession); +typedef unsigned short (API_ENTRY FARPTR SIS_EffacerTLA) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR cNumFacturation, + const char FARPTR cTypeDonnee); + +typedef unsigned short (API_ENTRY FARPTR SIS_ChargerFacturesPdT) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcNumFacturation, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_ChargerAppli) + (const char FARPTR pcNomRessourceLecteur, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_ChargerDonneesTLA) + (const char FARPTR pcNomRessourceLecteur, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_DechargerBeneficiaires) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR cNumFacturation, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_TraduireFSE) + (unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_SecuriserFacture) + ( const char FARPTR pcNomRessourcePS, + const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcCodePorteurPS, + char cNologSituation, + const char FARPTR pcNumFact, + unsigned short numeroSession); + + + + + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SSV/pourFSV1.40.14/ssv.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SSV/pourFSV1.40.14/ssv.h new file mode 100644 index 0000000..e47b72d --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SSV/pourFSV1.40.14/ssv.h @@ -0,0 +1,412 @@ +/* + * ------------------------------------------------------------------- + * (c) 2001-2003 GIE SESAM-VITALE + * + * PROJET : Services SESAM Vitale + * + * FICHIER : ssv.h + * + * Declaration des prototypes des fonctions SSV + * ------------------------------------------------------------------- + */ + +#ifndef __SSV_H__ +#define __SSV_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + +/* + * Inclusions + */ +#include +/* Inclure le fichier de déclarations spécifiques système : + win32def.h, macosdef.h, aixdef.h, etc. */ + + +/****** FONCTIONS STANDARDS *********/ + +typedef unsigned short (API_ENTRY FARPTR SSV_TraduireARL) + (short NbZDataIn, + void FARPTR FARPTR TZDataIn, + size_t FARPTR TTailleZoneIn, + void FARPTR FARPTR pZDataOut, + size_t FARPTR pTailleZoneOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_LireCartePS) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + void FARPTR FARPTR pZDataOut, + size_t FARPTR pTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_LireConfig) + (void FARPTR FARPTR pZDataOut, + size_t FARPTR psTailleDataOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_FormaterFactures) + (char cFactureACreer, + char cModeSecur, + char cTypeFlux, + void FARPTR pZDataIn, + size_t TailleDataIn, + void FARPTR FARPTR pZDataOut, + size_t FARPTR pTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_ChiffrerFacture) + (void * pZDataIn, + size_t TailleDataIn, + void * * pZDataOut, + size_t * pTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_SignerFactureVitale) + (const char * pcNomRessourceVitale, + void * pZDataIn, + size_t szTailleDataIn, + void * * pZDataOut, + size_t * pszTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_CalculerHashFactureAssure) + (const char * pcNumSerie, + void * pZDataIn, + size_t szTailleDataIn, + void * * pZDataOut, + size_t * pszTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_AjouterSignatureAssureDansFacture) + (void * pZDataIn, + size_t szTailleDataIn, + void * * pZDataOut, + size_t * pszTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_SignerFactureCPS) + (const char * pcNomRessourcePS, + const char * pcNomRessourceLecteur, + const char * pcCodePorteurPS, + char cNologSituation, + void * pZDataIn, + size_t szTailleDataIn, + void * * pZDataOut, + size_t * pszTailleZone); + +typedef unsigned short (API_ENTRY SSV_CalculerHashFacturePS) + (const char * pcNumSerieCPS, + void * pZDataIn, + size_t usTailleDataIn, + void * * pZDataOut, + size_t * pusTailleZone); + +typedef unsigned short (API_ENTRY SSV_AjouterSignaturePSFacture) + (void * pZDataIn, + size_t szTailleDataIn, + void * * pZDataOut, + size_t * pszTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_SignerLotCPS) + (const char * pcNomRessourcePS, + const char * pcNomRessourceLecteur, + const char * pcCodePorteurPS, + char cNologSituation, + void * pZDataIn, + size_t szTailleDataIn, + void * * pZDataOut, + size_t * pszTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_FormaterLot) + ( short NBZDataIn, + void FARPTR FARPTR TZDataIn, + size_t FARPTR TTailleZoneIn, + short FARPTR pNbZDataOut, + void FARPTR FARPTR TZDataOut, + size_t FARPTR TTailleZoneOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_FormaterFichier) + (void FARPTR pZDataIn,size_t TailleDataIn, + void FARPTR FARPTR pZDataOut,size_t FARPTR pTailleZone); + + +typedef unsigned short (API_ENTRY FARPTR SSV_InitTrace) + (char FARPTR pathConf, char FARPTR ModeOuverture, + unsigned short Module, unsigned char Niveau); + + +typedef unsigned short (API_ENTRY FARPTR SSV_AllouerZoneMem) + (void FARPTR FARPTR pZDataIn, + size_t taille); + +typedef void (API_ENTRY FARPTR SSV_LibererZoneMem) + (void FARPTR pZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_MajDateLecteur) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcDateHeure); + +typedef unsigned short (API_ENTRY FARPTR SSV_LireDateLecteur) + (const char FARPTR pcNomRessourceLecteur, + char FARPTR pcDateHeure); + + +typedef unsigned short (API_ENTRY FARPTR SSV_LireDroitsVitale) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR DateConsultation, + void FARPTR FARPTR pZDataOut, + size_t FARPTR pTailleZone); + + +typedef unsigned short (API_ENTRY FARPTR SSV_IdentifierTLA) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR NumVersionCDC, + void FARPTR FARPTR pZDataOut, + size_t FARPTR tailleDataOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_DechargerFacturesPdT) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + short sNbZDataIn, + void FARPTR FARPTR pvTZDataIn, + size_t FARPTR psTTailleDataIn, + short FARPTR pNbZDataOut, + void FARPTR FARPTR TZDataOut, + size_t FARPTR TTailleZoneOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_DechargerFSETLA) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + short FARPTR pNbZDataOut, + void FARPTR FARPTR TZDataOut, + size_t FARPTR TTailleZoneOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_DechargerFSETLANC) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + short FARPTR pNbZDataOut, + void FARPTR FARPTR TZDataOut, + size_t FARPTR TTailleZoneOut); +typedef unsigned short (API_ENTRY FARPTR SSV_EffacerTLA) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR cNumFacturation, + const char FARPTR cTypeDonnee); + +typedef unsigned short (API_ENTRY FARPTR SSV_ChargerFacturesPdT) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcNumFacturation, + short sNbZDataIn, + void FARPTR FARPTR pvTZDataIn, + size_t FARPTR psTTailleDataIn, + short FARPTR pNbZDataOut, + void FARPTR FARPTR TZDataOut, + size_t FARPTR TTailleZoneOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_ChargerAppli) + (const char FARPTR pcNomRessourceLecteur, + short sNbZDataIn, + void FARPTR FARPTR pvTZDataIn, + size_t FARPTR psTTailleDataIn); + +typedef unsigned short (API_ENTRY FARPTR SSV_ChargerDonneesTLA) + (const char FARPTR pcNomRessourceLecteur, + short sNbZDataIn, + void FARPTR FARPTR pvTZDataIn, + size_t FARPTR psTTailleDataIn); + +typedef unsigned short (API_ENTRY FARPTR SSV_DechargerBeneficiaires) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR cNumFacturation, + short FARPTR sNbZDataOut, + void FARPTR FARPTR pTZDataOut, + size_t FARPTR sTTailleDataOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_TraduireFSE) + (void FARPTR pZDataIn, + size_t TailleDataIn, + void FARPTR FARPTR pZDataOut, + size_t FARPTR pTailleZone); + +typedef unsigned short (API_ENTRY FARPTR SSV_SecuriserFacture) + (const char FARPTR pcNomRessourcePS, + const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcCodePorteurPS, + char cNologSituation, + const char FARPTR pcNumFact, + void FARPTR pvDataIn, + size_t szTailleDataIn , + void FARPTR FARPTR pvDataOut, + size_t FARPTR pszTailleDataOut); + +typedef unsigned short (API_ENTRY FARPTR SSV_InitLIB2) (const char FARPTR pcFichierSesam); + +typedef unsigned short (API_ENTRY FARPTR SSV_TermLIB)(); + + + +/****** FONCTIONS SIMPLIFIEES *********/ + +typedef unsigned short (API_ENTRY FARPTR SIS_TraduireARL) + (unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_LireCartePS) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_LireConfig) + (unsigned short numeroSession); + + +typedef unsigned short (API_ENTRY FARPTR SIS_FormaterFactures) + (char cFacturesACreer, + char ModeSecur, + char cTypeFlux, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_ChiffrerFacture) + (unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_SignerFactureVitale) + (const char * pcNomRessourceVitale, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_CalculerHashFactureAssure) + (const char * pcNumSerie, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_AjouterSignatureAssureDansFacture) + (unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_SignerFactureCPS) + (const char * pcNomRessourcePS, + const char * pcNomRessourceLecteur, + const char * pcCodePorteurPS, + char cNologSituation, + unsigned short numeroSession); + +typedef unsigned short (SIS_CalculerHashFacturePS) + (const char * pcNumSerieCPS, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY SIS_AjouterSignaturePSFacture) + (unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_SignerLotCPS) + (const char * pcNomRessourcePS, + const char * pcNomRessourceLecteur, + const char * pcCodePorteurPS, + char cNologSituation, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_FormaterLot) + (unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_FormaterFichier) + (unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_InitTrace) + (char FARPTR NomFichier, char FARPTR ModeOuverture, + unsigned short Module, unsigned char Niveau); + + +typedef unsigned short (API_ENTRY FARPTR SIS_MajDateLecteur) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcDateHeure); + +typedef unsigned short (API_ENTRY FARPTR SIS_LireDateLecteur) + (const char FARPTR pcNomRessourceLecteur, + char FARPTR pcDateHeure); + + +typedef unsigned short (API_ENTRY FARPTR SIS_LireDroitsVitale) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR DateConsultation, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_IdentifierTLA) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR NumVersionCDC, + unsigned short numeroSession ); + +typedef unsigned short (API_ENTRY FARPTR SIS_DechargerFacturesPdT) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_DechargerFSETLA) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_DechargerFSETLANC) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR pcNumFact, + unsigned short numeroSession); +typedef unsigned short (API_ENTRY FARPTR SIS_EffacerTLA) + (const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR cNumFacturation, + const char FARPTR cTypeDonnee); + +typedef unsigned short (API_ENTRY FARPTR SIS_ChargerFacturesPdT) + (const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcNumFacturation, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_ChargerAppli) + (const char FARPTR pcNomRessourceLecteur, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_ChargerDonneesTLA) + (const char FARPTR pcNomRessourceLecteur, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_DechargerBeneficiaires) + ( const char FARPTR NomRessourcePS, + const char FARPTR NomRessourceLecteur, + const char FARPTR CodePorteurPS, + const char FARPTR cNumFacturation, + unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_TraduireFSE) + (unsigned short numeroSession); + +typedef unsigned short (API_ENTRY FARPTR SIS_SecuriserFacture) + ( const char FARPTR pcNomRessourcePS, + const char FARPTR pcNomRessourceLecteur, + const char FARPTR pcCodePorteurPS, + char cNologSituation, + const char FARPTR pcNumFact, + unsigned short numeroSession); + + +/* inclusion temporaire dans ssv.h pour ne pas a avoir à relivrer Sedica (pas d'incidence sur le code) -> à inclure dans sedica.h ou commun.h*/ +/* Chaine discriminante d un nom de ressource TL PCSC */ +#define TL_PCSC " TL " + + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/STS/sts.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/STS/sts.h new file mode 100644 index 0000000..ca2937c --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/STS/sts.h @@ -0,0 +1,353 @@ +/* +%----------------------------------------------------------------------------- +% PROJET : STS INTERFACE +% +% MODULE : HEADER STS INTERFACE +% +% VERSION : cf #define ci-après +% +% FICHIER : sts.h +% +% Déclaration des prototypes des fonctions STS - INTERFACE +%----------------------------------------------------------------------------- +% +% EDS DHU - 09/04/03 - Création du .h +% +% EDS OCL - 06/06/03 - Defect 91 : Rectification du prototype de InitTrace() +% +% EDS OCL - 04/07/03 - Defect 115 : Nettoyage de stsitf.h (devenu sts.h) +% +%----------------------------------------------------------------------------- +*/ + +#ifndef __STSITF_H +#define __STSITF_H +#define __STSITF_VERSION "0103" +/* Ne pas oublier d'impacter idef.h aussi */ + +#ifdef __cplusplus +extern "C" { +#endif + +/* +% Bibliothèques ANSI ou système +%------------------------------ +*/ + + +/* +% Fichiers h inclus +%------------------ +*/ + +#include "sys_dep.h" +/* +% Macros et Constantes +%--------------------- +*/ + +/* OCL - Defect 115 : Suppression du #define G_xxx ici même */ + +/* OCL - Defect 115 : Suppression du second #ifdef _cplusplus ici même */ + + +/********************************************************************************* + ************************* Fonctions réentrantes ********************************* + *********************************************************************************/ + +/* +%----------------------------------------------------------------------------- +% STS_Tarification +% +% Rôle : Tarification de la part complémentaire des actes de la facture +% +% Paramètres d'entrée : +% MotifAppel (char) : 1er appel ('P') ou Appel sur echec de +% tarification ('E'). +% ZDonneesEntree (void*) : Zone d'échange fournie par le Progiciel +% contenant toutes les informations sur la facture +% TailleDonneesEntree (size_t) : Taille de la zone d'échange Zin +% +% Paramètres de sortie : +% ZDonneesSortie (void**) : Zone d'échange fournie par le module STS appelé +% contenant toutes les informations modifiées de la facture +% en entrée et de nouvelles informations. +% TailleDonneesSortie (size_t*) : Taille de la zone d'échange Zout +% +% Valeur retournée : +% OK si pas d'erreur +% ERR_STS_NON_INITIALISE si module STS non initialisé +% et les codes d'erreurs de la tarification du module STS appelé +% +%----------------------------------------------------------------------------- +*/ +/* OCL - Defect 115 : Remplacement PTR par FARPTR */ +typedef unsigned short (API_ENTRY FARPTR STS_Tarification)(char MotifAppel, void FARPTR ZDonneesEntree, + size_t TailleDonneesEntree, void FARPTR FARPTR ZDonneesSortie, + size_t FARPTR TailleDonneesSortie); + +/* Fonction simplifiée */ +/* OCL - Defect 115 : Remplacement STS_SIM par SGD */ +#ifdef SGD +typedef unsigned short (API_ENTRY FARPTR STS_Tarification_S)(char MotifAppel, unsigned short NumeroSession); +#endif + +/* +%----------------------------------------------------------------------------- +% STS_Assistance +% +% Rôle : Assistance à la facturation. +% +% Paramètres d'entrée : +% MotifAppel (char) : 1er appel ('P') ou Appel sur echec de +% tarification ('E'). +% PorteeAppel (ushort) : 0 pour une assistance sur toute la facture. +% 1..n pour une assistance sur un acte de rang donné /zone +% ZDonneesEntree (void*) : Zone d'échange fournie par le Progiciel +% contenant toutes les informations sur la facture +% TailleDonneesEntree (size_t) : Taille de la zone d'échange Zin +% +% Paramètres de sortie : +% ZDonneesSortie (void**) : Zone d'échange fournie par le module STS appelé +% TailleDonneesSortie (size_t*) : Taille de la zone d'échange Zout +% +% Valeur retournée : (idem Tarification) +% OK si pas d'erreur +% ERR_STS_NON_INITIALISE si module STS non initialisé +% et les codes d'erreurs de la tarification du module STS appelé +% +%----------------------------------------------------------------------------- +*/ +/* OCL - Defect 115 : Remplacement PTR par FARPTR */ +typedef unsigned short (API_ENTRY FARPTR STS_Assistance)(char MotifAppel, unsigned short PorteeAppel, + void FARPTR ZDonneesEntree, size_t TailleDonneesEntree, + void FARPTR FARPTR ZDonneesSortie, size_t FARPTR TailleDonneesSortie); + +/* Fonction simplifiée */ +#ifdef SGD +typedef unsigned short (API_ENTRY FARPTR STS_Assistance_S)(char MotifAppel, unsigned short PorteeAppel, + unsigned short NumeroSession); +#endif + +/* +%----------------------------------------------------------------------------- +% STS_LireVersion +% +% Rôle : Lecture de la version de ce module et du fichier de ces tables externes +% dans le groupe 3780. Appeller la lecture de version de chaque module STS +% puis recopier la réponse 3780 de chacun dans la zone de sortie. +% +% Paramètres d'entrée : aucun +% +% Paramètres de sortie : +% ZDonneesSortie (void**) : Zone d'échange fournie par ce module +% contenant les versions (grp 3780) demandées. +% TailleDonneesSortie (size_t*) : Taille de la zone d'échange Zout +% +% Valeur retournée : +% OK si pas d'erreur +% ERR_STS_NON_INITIALISE si module STS non initialisé +% ERR_ZOUT si ZDonneesSortie==NULL ou TailleDonneesSortie==NULL +% ERR_ZONE_ALLOC si mémoire insuffisante pour allouer la Zout +% +%----------------------------------------------------------------------------- +*/ +/* OCL - Defect 115 : Remplacement PTR par FARPTR */ +typedef unsigned short (API_ENTRY FARPTR STS_LireVersion)(void FARPTR FARPTR ZDonneesSortie, size_t FARPTR TailleDonneesSortie); + +/* Fonction simplifiée */ +#ifdef SGD +typedef unsigned short (API_ENTRY FARPTR STS_LireVersion_S)(unsigned short NumeroSession); +#endif + +/* +%----------------------------------------------------------------------------- +% STS_InitTrace +% +% Rôle : Initialisation des traces du module STS-Interface dans un fichier log. +% Cette fonction permet d'activer ou désactiver (niveau 0) les +% traces. Une activation requiert un nom de fichier et un mode +% d'ouverture. Un changement de niveau peut se faire sur le même +% fichier ou sur un différent s'il est précisé en entrée +% +% Paramètres d'entrée : +% NomFichier (char*) : Chemin et nom de fichier de trace +% ModeOuverture (char*) : Mode d'ouverture du fichier de trace +% "a", "w" (,"ab", "wb"). +% Module (ushort) : n° de module 0 à 5 (6=TOUS) +% Niveau (uchar) : Niveau de trace : 0 signifie pas de trace, 1 +% signifie traces de profondeur 8 et >=2 signifie traces sans limite +% de profondeur et activation traces module STS_SI +% +% Paramètres de sortie : aucun +% +% Valeur retournée : +% OK si pas d'erreur +% ERR_PARAM si NomFichier/ModeOuverture incorrect quand Niveau > 0 +% ERR_TRACE_FILE si erreur d'ouverture du fichier de trace +% +%----------------------------------------------------------------------------- +*/ +/* OCL - Defect 91 : Rectification du prototype de InitTrace() */ +/* OCL - Defect 115 : Remplacement PTR par FARPTR */ +typedef unsigned short (API_ENTRY FARPTR STS_InitTrace)(const char FARPTR pathConf, const char FARPTR ModeOuverture, + unsigned short Module, unsigned char Niveau); + +/********************************************************************************* + ************************* Fonctions d'initialisation et de terminaison ********* + *********************************************************************************/ + +/* +%----------------------------------------------------------------------------- +% STS_InitLIB +% +% Rôle : Initialisation du module STS-Interface : Chargement des tables externes +% et suivi de parc. Appel de l'nitialisation de chaque module STS +% +% Paramètres d'entrée : aucun +% +% Paramètres de sortie : aucun +% +% Valeur retournée : +% OK si pas d'erreur +% ERR_INTERNE_ITF si erreur interne du module STS-Interface (ou STS SI) +% ERR_MEM_DISPO si plus de mémoire disponible +% ERR_PKG_PATH_INI si le chemin d'accès au fichier binaire est +% inconnu (fichier de configuration inaccessible ou information +% manquante) +% ERR_ITF_PKG_ACCES si fichier binaire de table inaccessible +% ERR_ITF_PKG_VER si version du fichier incohérent avec version du +% module STS-Interface (dans les deux sens) +% ERR_ITF_PKG_CRC si CRC du fichier binaire est incorrect +% ERR_ITF_PKG_FORME si format du fichier incorrect +% ERR_ITF_PKG_INCPT s'il manque une table dans le fichier binaire +% ERR_ITF_PKG_NOM si le nom du fichier est différent du nom dans +% l'en-tête du fichier. +% les codes suivants ne sont pas des erreurs fatales (non bloquant) +% mais juste des avertissements +% WAR_STS_DEJA_INITIALISE si module déjà initialisé +% WAR_ADM_PATH si chemin au suivi de parc non trouvé dans fichier +% de configuration des produits SV +% WAR_ADM_FILE si impossible de créer les fichiers de suivi de +% parc +% ET les codes de retour de chaque module STS appelé +% +%----------------------------------------------------------------------------- +*/ +/* extern unsigned short API_ENTRY STS_InitLIB(); */ +/* +%----------------------------------------------------------------------------- +% STS_InitLIB2 +% +% Rôle : Initialisation du module STS-Interface : Chargement des tables externes +% et suivi de parc. Appel de l'nitialisation de chaque module STS +% +% Paramètres d'entrée : +% NomFichierIni (char*) : Chemin et nom du fichier de configuration des +% produits SESAM Vitale du poste de travail (sesam.ini) +% +% Paramètres de sortie : aucun +% +% Valeur retournée : +% OK si pas d'erreur +% ERR_INTERNE_ITF si erreur interne du module STS-Interface (ou STS SI) +% ERR_MEM_DISPO si plus de mémoire disponible +% ERR_PKG_PATH_INI si le chemin d'accès au fichier binaire est +% inconnu (fichier de configuration inaccessible ou information +% manquante) +% ERR_ITF_PKG_ACCES si fichier binaire de table inaccessible +% ERR_ITF_PKG_VER si version du fichier incohérent avec version du +% module STS-Interface (dans les deux sens) +% ERR_ITF_PKG_CRC si CRC du fichier binaire est incorrect +% ERR_ITF_PKG_FORME si format du fichier incorrect +% ERR_ITF_PKG_INCPT s'il manque une table dans le fichier binaire +% ERR_ITF_PKG_NOM si le nom du fichier est différent du nom dans +% l'en-tête du fichier. +% les codes suivants ne sont pas des erreurs fatales (non bloquant) +% mais juste des avertissements +% WAR_STS_DEJA_INITIALISE si module déjà initialisé +% WAR_ADM_PATH si chemin au suivi de parc non trouvé dans fichier +% de configuration des produits SV +% WAR_ADM_FILE si impossible de créer les fichiers de suivi de +% parc +% ET les codes de retour de chaque module STS appelé +% +%----------------------------------------------------------------------------- +*/ +typedef unsigned short (API_ENTRY FARPTR STS_InitLIB2)(const char FARPTR nomFichierIni); + +/* +%----------------------------------------------------------------------------- +% STS_TermLIB +% +% Rôle : Terminaison du module STS-Interface : Déchargement des tables externes. +% +% Paramètres d'entrée : aucun +% +% Paramètres de sortie : aucun +% +% Valeur retournée : +% OK si pas d'erreur +% ERR_INTERNE_ITF si erreur interne du module STS-Interface (ou STS SI) +% +%----------------------------------------------------------------------------- +*/ +typedef unsigned short (API_ENTRY FARPTR STS_TermLIB)(void); + +/********************************************************************************* + ************************* Fonctions de gestion de la mémoire ******************* + *********************************************************************************/ + +/* +%----------------------------------------------------------------------------- +% STS_AllouerZoneMem +% +% Rôle : Allocation d'une zone d'échange de sortie par STS Interface. +% Cette fonction permet la réallocation d'une zone d'échange. +% L'allocation d'une nouvelle zone d'échange nécessite un pointeur +% NULL en entrée ! +% Cette fonctio est à utiliser conjointement avec STS_LibererZoneMem +% pour faciliter le Debugage (zone allouée par l'écrivain) +% +% Paramètres d'entrée : +% Taille (size_t) : Taille de la zone d'échange à allouer. +% +% Paramètres d'entrée et de sortie : +% Zone (void**) : Zone d'échange préallouée en entrée (ou NULL). +% Zone allouée (réallouée) par le module STS-Interface. +% +% Valeur retournée : +% OK si pas d'erreur +% ERR_ZOUT si Zone==NULL ou Taille==0 +% ERR_ZONE_ALLOC si plus de mémoire disponible +% +%----------------------------------------------------------------------------- +*/ +/* OCL - Defect 115 : Remplacement PTR par FARPTR */ +typedef unsigned short (API_ENTRY FARPTR STS_AllouerZoneMem)(void FARPTR FARPTR Zone, size_t Taille); + + +/* +%----------------------------------------------------------------------------- +% STS_LibererZoneMem +% +% Rôle : Libération de la zone d'échange de sortie par STS Interface. +% +% Paramètres d'entrée : +% Zone (void*) : Zone d'échange à libérer (allouée précédemment par +% le module STS-Interce par STS_AllouerZoneMem). +% +% Paramètres de sortie : aucun +% +% Valeur retournée : aucune +% +%----------------------------------------------------------------------------- +*/ +/* OCL - Defect 115 : Remplacement PTR par FARPTR */ +typedef void (API_ENTRY FARPTR STS_LibererZoneMem)(void FARPTR Zone); + +#ifdef __cplusplus +} +#endif + +#endif /* __STSITF_H */ diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/linux/linuxdef.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/linux/linuxdef.h new file mode 100644 index 0000000..0ef175e --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/linux/linuxdef.h @@ -0,0 +1,189 @@ +/*--------------------------------------------------------------------------- + PROJET : Couche de portabilite multi-systeme + + PLATE-FORME: LINUX + + MODULE : Definition des macros et des types utilises par la couche + d'abstraction systeme pour la plate-forme LINUX. + + Le fichier de definition des types portable (ce fichier) doit + etre inclus avant tout autre .h de definitions d'APIS gip-cps. + Ce fichier definit tous les types et macros dependants du + systeme. + + FICHIER : common\linux\src\linuxdef.h + + VERSION : 1.00 + + DATE : 10/01/2001 + + AUTEUR : ALVARO ROCHA + +----------------------------------------------------------------------------- +----------------------------------------------------------------------------- + Modifications: (nouvelle version, date, auteur, explication) + ... + + - V4.31 - AROC le 12/02/2001 : + Ajout des #define TRUE et FALSE ainsi que le typedef int BOOLEEN +----------------------------------------------------------------------------- +---------------------------------------------------------------------------*/ + + +#ifndef __CPSCASDF_H +#define __CPSCASDF_H + +/*----------------- definition des macros portables ------------------------*/ +#ifndef far +#define far +#endif + +#ifndef FAR +#define FAR +#endif + +#ifndef PTR +#define PTR * +#endif + +#ifndef PVOID +#define PVOID void PTR +#endif + +#ifndef FARPTR +#define FARPTR PTR +#endif + +#ifndef FPVOID +#define FPVOID void FARPTR +#endif + +/* AROC 12/02/2001 debut : */ +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef TRUE +#define TRUE 1 +#endif +/* AROC 12/02/2001 fin */ + +/*----------------- definition des types portables ------------------------*/ +#ifndef CHAR +#define CHAR char +#endif + +#ifndef PCHAR +#define PCHAR CHAR PTR +#endif + +#ifndef PSTRG +#define PSTRG CHAR PTR +#endif + +#ifndef UCHAR +#define UCHAR unsigned char +#endif + +#ifndef PUCHAR +#define PUCHAR UCHAR PTR +#endif + + +#ifndef INT8 +#define INT8 char +#endif + +#ifndef INT16 +#define INT16 short +#endif + +#ifndef INT32 +#define INT32 long +#endif + +#ifndef PINT8 +#define PINT8 INT8 PTR +#endif + +#ifndef PINT16 +#define PINT16 INT16 PTR +#endif + +#ifndef PINT32 +#define PINT32 INT32 PTR +#endif + + +#ifndef UINT8 +#define UINT8 unsigned char +#endif + +#ifndef UINT16 +#define UINT16 unsigned short +#endif + +#ifndef UINT32 +#define UINT32 unsigned long +#endif + +#ifndef PUINT8 +#define PUINT8 UINT8 PTR +#endif + +#ifndef PUINT16 +#define PUINT16 UINT16 PTR +#endif + +#ifndef PUINT32 +#define PUINT32 UINT32 PTR +#endif + + +/* 11/02/1997 : Ajout DRE pour CPSCAS */ +#ifndef VOID +#define VOID void +#endif +#ifndef PSTR +#define PSTR char PTR +#endif +/* 11/02/1997 : Fin */ + +#ifndef WORD +#define WORD unsigned short +#endif + +#ifndef DWORD +#define DWORD unsigned long +#endif +//typedef unsigned char BYTE; +#ifndef BYTE +#define BYTE unsigned char +#endif +//typedef BYTE far * LPBYTE; +#ifndef LPBYTE +#define LPBYTE BYTE far * +#endif +//typedef int BOOL; +#ifndef BOOL +#define BOOL int +#endif + +#ifndef Unref +#define Unref( a) a=a +#endif + +#ifndef min +#define min(a,b) ((a)>(b)?(b):(a)) +#endif + +#ifndef max +#define max(a,b) ((a)<(b)?(b):(a)) +#endif + +/* Taille maximale allouée par la fonction "malloc" */ +#ifndef MAXBLOC +#define MAXBLOC 4294967295 +#endif + +#endif diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/linux/mc_sys_def.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/linux/mc_sys_def.h new file mode 100644 index 0000000..2b96f59 --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/linux/mc_sys_def.h @@ -0,0 +1,85 @@ +/* + * ------------------------------------------------------------------- + * (c) 2002 GIE SESAM-VITALE + * + * FICHIER : sys_def.h (v2) + * + * PLATE-FORME : Windows 32 bits + * + * Définitions dépendantes du système. + * ------------------------------------------------------------------- + */ + +#include "linuxdef.h" +#include "stdlib.h" + +#ifndef __SYS_DEF_H__ +#define __SYS_DEF_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + +#ifndef API_ENTRY +#define API_ENTRY +#endif + +#ifndef _MAX_PATH +#define _MAX_PATH 256 +#endif + +#ifndef _MAX_FNAME +#define _MAX_FNAME 160 +#endif + +#ifndef _MAX_DIR +#define _MAX_DIR 800 +#endif + +#ifndef FARPTR +#define FARPTR * +#endif + +#ifndef SYS_MAX_PATH +#define SYS_MAX_PATH _MAX_PATH +#endif + +#ifndef SYS_MAX_FNAME +#define SYS_MAX_FNAME _MAX_FNAME +#endif + +#ifndef SYS_MAX_DIR +#define SYS_MAX_DIR _MAX_DIR +#endif + +#ifndef SYS_HANDLE +#define SYS_HANDLE void * +#endif + +#ifndef PTR +#define PTR * +#endif + +#ifndef SYSFARPROC_ +#define SYSFARPROC_ +typedef unsigned short (API_ENTRY FARPTR SYSFARPROC)(); +#endif + + +/* Séparateur utilisé dans le nommage des arborescences de fichiers */ +#ifndef SEPARATEUR_REPERTOIRE +#define SEPARATEUR_REPERTOIRE '/' +#endif + + +/* Activation des fonctions simplifiées. */ +#ifndef SGD +#define SGD +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/macosx/mc_sys_def.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/macosx/mc_sys_def.h new file mode 100644 index 0000000..ca0c3ad --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/macosx/mc_sys_def.h @@ -0,0 +1,92 @@ +/* + * ------------------------------------------------------------------- + * (c) 2002 GIE SESAM-VITALE + * + * FICHIER : sys_def.h (v2) + * + * PLATE-FORME : MAC OSX + * + * Définitions dépendantes du système. + * ------------------------------------------------------------------- + */ + +//3/11/2004 Modification pour compilation MAC OS X +#include "osxdef.h" + +#include +#include +#include "stdlib.h" + +#ifndef __SYS_DEF_H__ +#define __SYS_DEF_H__ + + + +#ifdef __cplusplus +extern "C" { +#endif + +//3-11-2004 Ajout pour MAc OS X +#define FALSE 0 +#define TRUE 1 + +//3/11/2004 Modification pour compilation MAC OS X +#ifndef API_ENTRY +#define API_ENTRY +#endif + +#ifndef FARPTR +#define FARPTR * +#endif + +#ifndef SYS_MAX_PATH +#define SYS_MAX_PATH _MAX_PATH +#endif + +#ifndef SYS_MAX_FNAME +#define SYS_MAX_FNAME _MAX_FNAME +#endif + +#ifndef SYS_MAX_DIR +#define SYS_MAX_DIR _MAX_DIR +#endif + + + +#ifndef PTR +#define PTR * +#endif + + +#ifndef SYS_HANDLE +//typedef void * SYS_HANDLE; +#define SYS_HANDLE void * +#endif + +#ifndef SYSFARPROC_ +#define SYSFARPROC_ +typedef unsigned short (API_ENTRY FARPTR SYSFARPROC)(); +#endif + + + +/* Séparateur utilisé dans le nommage des arborescences de fichiers */ +#ifndef SEPARATEUR_REPERTOIRE + #ifdef WIN32 + #define SEPARATEUR_REPERTOIRE '\\' + #else + #define SEPARATEUR_REPERTOIRE '/' + #endif +#endif + + +/* Activation des fonctions simplifiées. */ +#ifndef SGD +#define SGD +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/macosx/osxdef.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/macosx/osxdef.h new file mode 100644 index 0000000..9e14e90 --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/macosx/osxdef.h @@ -0,0 +1,150 @@ +/*--------------------------------------------------------------------------- + PROJET : Couche de portabilite multi-systeme + + PLATE-FORME: MAC OS X + + MODULE : Definition des macros et des types utilises par la couche + d'abstraction systeme pour la plate-forme LINUX. + + Le fichier de definition des types portable (ce fichier) doit + etre inclus avant tout autre .h de definitions d'APIS gip-cps. + Ce fichier definit tous les types et macros dependants du + systeme. + + FICHIER : common\linux\src\linuxdef.h + + VERSION : 1.00 + + DATE : 10/01/2001 + + AUTEUR : ALVARO ROCHA + +----------------------------------------------------------------------------- +----------------------------------------------------------------------------- + Modifications: (nouvelle version, date, auteur, explication) + ... + + - V4.31 - AROC le 12/02/2001 : + Ajout des #define TRUE et FALSE ainsi que le typedef int BOOLEEN +----------------------------------------------------------------------------- +---------------------------------------------------------------------------*/ + + +#ifndef __CPSCASDF_H +#define __CPSCASDF_H + +//#ifndef __MACTYPES__ +/*#include */ +//#include"/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/Headers/MacTypes.h"*/ +//#endif + + + +/*----------------- definition des macros portables ------------------------*/ + + +/* point d'entree exporte en DLL ????????????????????????????????????????? */ +#define API_ENTRY /* pour l'instant */ + +#define far +#define FAR + +#define PTR * + +#define PVOID void PTR + +#ifndef FARPTR +#define FARPTR PTR +#endif +#define FPVOID void FARPTR + +/* AROC 18/O4/2001 ajout pour io_comm*/ +#define HCOMM unsigned int +#define PHCOMM HCOMM FARPTR + +/* AROC 12/02/2001 debut : */ +#ifndef FALSE +#define FALSE 0 +#endif + +#ifndef TRUE +#define TRUE 1 +#endif +/* AROC 12/02/2001 fin */ + +/*----------------- definition des types portables ------------------------*/ + +/* AROC 12/02/2001 debut : */ +/* mise en commentaire de ce define car pb avec module sts où BOOLEEN est defini en char*/ +//#ifndef BOOLEEN +//typedef int BOOLEEN; +//#define BOOLEEN int +//#endif +/* AROC 12/02/2001 fin */ +/* Boolean */ +#define BOOL Boolean + +//#define _MAX_PATH 1024 +typedef char CHAR; +typedef CHAR PTR PCHAR; + +typedef CHAR PTR PSTRG; + +typedef unsigned char UCHAR; +typedef UCHAR PTR PUCHAR; + +typedef char INT8; +typedef short INT16; +typedef long INT32; + +typedef INT8 PTR PINT8; +typedef INT16 PTR PINT16; +typedef INT32 PTR PINT32; + +typedef unsigned char UINT8; +typedef unsigned short UINT16; +typedef unsigned long UINT32; + +typedef UINT8 PTR PUINT8; +typedef UINT16 PTR PUINT16; +typedef UINT32 PTR PUINT32; + +/* 11/02/1997 : Ajout DRE pour CPSCAS */ +typedef void VOID; +typedef char PTR PSTR; +/* 11/02/1997 : Fin */ + +typedef unsigned short WORD; +typedef unsigned long DWORD; +typedef unsigned char BYTE; +typedef BYTE far * LPBYTE; + +#define Unref( a) a=a + +#ifndef min +#define min(a,b) ((a)>(b)?(b):(a)) +#endif + +#ifndef max +#define max(a,b) ((a)<(b)?(b):(a)) +#endif + +#ifdef LITTLE_ENDIAN +#undef LITTLE_ENDIAN +#endif + +#ifndef PATH_MAX +#define PATH_MAX 1024 +#endif +#ifndef _MAX_PATH +#define _MAX_PATH PATH_MAX /* PATH_MAX defini dans */ +#endif + + + +/* Taille maximale allouÈe par la fonction "malloc" */ +#ifndef MAXBLOC +#define MAXBLOC 0x7FFFFFFF +#endif + +#endif diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/win/mc_sys_def.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/win/mc_sys_def.h new file mode 100644 index 0000000..ec3f061 --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/SYS_DEF/win/mc_sys_def.h @@ -0,0 +1,69 @@ +/* + * ------------------------------------------------------------------- + * (c) 2002 GIE SESAM-VITALE + * + * FICHIER : sys_def.h (v2) + * + * PLATE-FORME : Windows 32 bits + * + * Définitions dépendantes du système. + * ------------------------------------------------------------------- + */ + +#include + +#ifndef __SYS_DEF_H__ +#define __SYS_DEF_H__ + +#ifdef __cplusplus +extern "C" { +#endif + + +#ifndef API_ENTRY +#define API_ENTRY __stdcall +#endif + +#ifndef FARPTR +#define FARPTR * +#endif + +#ifndef SYS_MAX_PATH +#define SYS_MAX_PATH _MAX_PATH +#endif + +#ifndef SYS_MAX_FNAME +#define SYS_MAX_FNAME _MAX_FNAME +#endif + +#ifndef SYS_MAX_DIR +#define SYS_MAX_DIR _MAX_DIR +#endif + +typedef void * SYS_HANDLE; + +#ifndef PTR +#define PTR * +#endif + + +typedef unsigned short (API_ENTRY FARPTR SYSFARPROC)(); + + + +/* Séparateur utilisé dans le nommage des arborescences de fichiers */ +#ifndef SEPARATEUR_REPERTOIRE +#define SEPARATEUR_REPERTOIRE '\\' +#endif + + +/* Activation des fonctions simplifiées. */ +#ifndef SGD +#define SGD +#endif + +#ifdef __cplusplus +} +#endif + +#endif diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.linux.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.linux.h new file mode 100644 index 0000000..50bdd53 --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.linux.h @@ -0,0 +1,7 @@ +#ifndef WRAPPER_LINUX_H +#define WRAPPER_LINUX_H + +#include "SYS_DEF/linux/mc_sys_def.h" +#include "SSV/pourFSV1.40.14/ssv.h" + +#endif // WRAPPER_LINUX_H \ No newline at end of file diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.macosx.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.macosx.h new file mode 100644 index 0000000..d981100 --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.macosx.h @@ -0,0 +1,7 @@ +#ifndef WRAPPER_MACOSX_H +#define WRAPPER_MACOSX_H + +#include "SYS_DEF/macosx/mc_sys_def.h" +#include "SSV/pourFSV1.40.14/ssv.h" + +#endif // WRAPPER_MACOSX_H \ No newline at end of file diff --git a/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.win.h b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.win.h new file mode 100644 index 0000000..23aebe0 --- /dev/null +++ b/crates/fsv-sys/vendor/fsv/1.40.14.13/includes/wrapper.win.h @@ -0,0 +1,7 @@ +#ifndef WRAPPER_WIN_H +#define WRAPPER_WIN_H + +#include "SYS_DEF/win/mc_sys_def.h" +#include "SSV/pourFSV1.40.14/ssv.h" + +#endif // WRAPPER_WIN_H \ No newline at end of file