Compare commits
12 Commits
7ac8215382
...
creation-s
Author | SHA1 | Date | |
---|---|---|---|
07eae87855
|
|||
080537fe6d
|
|||
ecd84bf242
|
|||
981a5d34c5
|
|||
681cc7cb83
|
|||
fbc3be564f
|
|||
4871187726
|
|||
67b482ff13
|
|||
34bdea2269
|
|||
20e16f6ae2
|
|||
f42e38228a
|
|||
3712667a04
|
199
Cargo.lock
generated
199
Cargo.lock
generated
@ -191,7 +191,7 @@ checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -226,7 +226,7 @@ checksum = "a27b8a3a6e1a44fa4c8baf1f653e4172e81486d4941f2237e20dc2d0cf4ddff1"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -369,26 +369,6 @@ version = "0.22.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
|
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]]
|
[[package]]
|
||||||
name = "bitflags"
|
name = "bitflags"
|
||||||
version = "1.3.2"
|
version = "1.3.2"
|
||||||
@ -608,15 +588,6 @@ version = "1.1.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6d43a04d8753f35258c91f8ec639f792891f748a1edbd759cf1dcea3382ad83c"
|
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]]
|
[[package]]
|
||||||
name = "cfb"
|
name = "cfb"
|
||||||
version = "0.7.3"
|
version = "0.7.3"
|
||||||
@ -671,17 +642,6 @@ dependencies = [
|
|||||||
"windows-targets 0.52.6",
|
"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]]
|
[[package]]
|
||||||
name = "clap"
|
name = "clap"
|
||||||
version = "2.34.0"
|
version = "2.34.0"
|
||||||
@ -985,7 +945,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
|
checksum = "13b588ba4ac1a99f7f2964d24b3d896ddc6bf847ee3855dbd4366f058cfcd331"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -995,7 +955,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f"
|
checksum = "edb49164822f3ee45b17acd4a208cfc1251410cf0cad9a833234c9890774dd9f"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1043,7 +1003,7 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"strsim 0.11.1",
|
"strsim 0.11.1",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1065,7 +1025,7 @@ checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"darling_core 0.20.10",
|
"darling_core 0.20.10",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1119,7 +1079,7 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"rustc_version",
|
"rustc_version",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1240,7 +1200,7 @@ checksum = "f2b99bf03862d7f545ebc28ddd33a665b50865f4dfd84031a393823879bd4c54"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1356,7 +1316,7 @@ checksum = "de0d48a183585823424a4ce1aa132d174a6a81bd540895822eb4c8373a8e49e8"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1486,7 +1446,7 @@ checksum = "1a5c6c585bc94aaf2c7b51dd4c2ba22680844aba4c687be581871a6f518c5742"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1523,16 +1483,6 @@ dependencies = [
|
|||||||
"libc",
|
"libc",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "fsv-sys"
|
|
||||||
version = "0.1.0"
|
|
||||||
dependencies = [
|
|
||||||
"bindgen",
|
|
||||||
"libc",
|
|
||||||
"libloading 0.8.5",
|
|
||||||
"thiserror",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "fuchsia-zircon"
|
name = "fuchsia-zircon"
|
||||||
version = "0.3.3"
|
version = "0.3.3"
|
||||||
@ -1612,7 +1562,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1869,7 +1819,7 @@ dependencies = [
|
|||||||
"proc-macro-error",
|
"proc-macro-error",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1961,7 +1911,7 @@ dependencies = [
|
|||||||
"proc-macro-error",
|
"proc-macro-error",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -2267,15 +2217,6 @@ dependencies = [
|
|||||||
"once_cell",
|
"once_cell",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "itertools"
|
|
||||||
version = "0.13.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186"
|
|
||||||
dependencies = [
|
|
||||||
"either",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "itoa"
|
name = "itoa"
|
||||||
version = "0.4.8"
|
version = "0.4.8"
|
||||||
@ -2431,15 +2372,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|||||||
checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf"
|
checksum = "6e9ec52138abedcc58dc17a7c6c0c00a2bdb4f3427c7f63fa97fd0d859155caf"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gtk-sys",
|
"gtk-sys",
|
||||||
"libloading 0.7.4",
|
"libloading",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libc"
|
name = "libc"
|
||||||
version = "0.2.159"
|
version = "0.2.155"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
|
checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "libloading"
|
name = "libloading"
|
||||||
@ -2451,16 +2392,6 @@ dependencies = [
|
|||||||
"winapi 0.3.9",
|
"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]]
|
[[package]]
|
||||||
name = "libredox"
|
name = "libredox"
|
||||||
version = "0.1.3"
|
version = "0.1.3"
|
||||||
@ -2622,12 +2553,6 @@ version = "0.3.17"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
|
checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "minimal-lexical"
|
|
||||||
version = "0.2.1"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "miniz_oxide"
|
name = "miniz_oxide"
|
||||||
version = "0.7.4"
|
version = "0.7.4"
|
||||||
@ -2824,16 +2749,6 @@ dependencies = [
|
|||||||
"version_check",
|
"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]]
|
[[package]]
|
||||||
name = "notify"
|
name = "notify"
|
||||||
version = "4.0.18"
|
version = "4.0.18"
|
||||||
@ -2908,7 +2823,7 @@ dependencies = [
|
|||||||
"proc-macro-crate 3.1.0",
|
"proc-macro-crate 3.1.0",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3288,7 +3203,7 @@ dependencies = [
|
|||||||
"phf_shared 0.11.2",
|
"phf_shared 0.11.2",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3335,7 +3250,7 @@ checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3426,16 +3341,6 @@ version = "0.1.1"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"
|
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]]
|
[[package]]
|
||||||
name = "proc-macro-crate"
|
name = "proc-macro-crate"
|
||||||
version = "1.3.1"
|
version = "1.3.1"
|
||||||
@ -3724,12 +3629,6 @@ version = "0.1.24"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "rustc-hash"
|
|
||||||
version = "1.1.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "rustc_version"
|
name = "rustc_version"
|
||||||
version = "0.4.0"
|
version = "0.4.0"
|
||||||
@ -3796,7 +3695,7 @@ dependencies = [
|
|||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"serde_derive_internals",
|
"serde_derive_internals",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3868,7 +3767,7 @@ checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3879,7 +3778,7 @@ checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3911,7 +3810,7 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -3962,7 +3861,7 @@ dependencies = [
|
|||||||
"darling 0.20.10",
|
"darling 0.20.10",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4055,12 +3954,6 @@ version = "0.1.5"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
|
checksum = "45bb67a18fa91266cc7807181f62f9178a6873bfad7dc788c42e6430db40184f"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "shlex"
|
|
||||||
version = "1.3.0"
|
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
||||||
checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64"
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "signal-hook-registry"
|
name = "signal-hook-registry"
|
||||||
version = "1.4.2"
|
version = "1.4.2"
|
||||||
@ -4258,9 +4151,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "syn"
|
name = "syn"
|
||||||
version = "2.0.79"
|
version = "2.0.72"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
|
checksum = "dc4b9b9bf2add8093d3f2c0204471e951b2285580335de42f9d2534f3ae7a8af"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
@ -4457,7 +4350,7 @@ dependencies = [
|
|||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"sha2",
|
"sha2",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
"tauri-utils",
|
"tauri-utils",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"time",
|
"time",
|
||||||
@ -4475,7 +4368,7 @@ dependencies = [
|
|||||||
"heck 0.5.0",
|
"heck 0.5.0",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
"tauri-codegen",
|
"tauri-codegen",
|
||||||
"tauri-utils",
|
"tauri-utils",
|
||||||
]
|
]
|
||||||
@ -4670,7 +4563,7 @@ checksum = "da31aef70da0f6352dbcb462683eb4dd2bfad01cf3fc96cf204547b9a839a585"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"dirs 4.0.0",
|
"dirs 4.0.0",
|
||||||
"fnv",
|
"fnv",
|
||||||
"nom 5.1.3",
|
"nom",
|
||||||
"phf 0.11.2",
|
"phf 0.11.2",
|
||||||
"phf_codegen 0.11.2",
|
"phf_codegen 0.11.2",
|
||||||
]
|
]
|
||||||
@ -4692,22 +4585,22 @@ checksum = "8eaa81235c7058867fa8c0e7314f33dcce9c215f535d1913822a2b3f5e289f3c"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror"
|
name = "thiserror"
|
||||||
version = "1.0.64"
|
version = "1.0.63"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "d50af8abc119fb8bb6dbabcfa89656f46f84aa0ac7688088608076ad2b459a84"
|
checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"thiserror-impl",
|
"thiserror-impl",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror-impl"
|
name = "thiserror-impl"
|
||||||
version = "1.0.64"
|
version = "1.0.63"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
|
checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4790,7 +4683,7 @@ checksum = "693d596312e88961bc67d7f1f97af8a70227d9f90c31bba5806eec004978d752"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -4950,7 +4843,7 @@ checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5260,7 +5153,7 @@ dependencies = [
|
|||||||
"once_cell",
|
"once_cell",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
"wasm-bindgen-shared",
|
"wasm-bindgen-shared",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -5294,7 +5187,7 @@ checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
"wasm-bindgen-backend",
|
"wasm-bindgen-backend",
|
||||||
"wasm-bindgen-shared",
|
"wasm-bindgen-shared",
|
||||||
]
|
]
|
||||||
@ -5413,7 +5306,7 @@ checksum = "1d228f15bba3b9d56dde8bddbee66fa24545bd17b48d5128ccf4a8742b18e431"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5566,7 +5459,7 @@ checksum = "f6fc35f58ecd95a9b71c4f2329b911016e6bec66b3f2e6a4aad86bd2e99e2f9b"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5577,7 +5470,7 @@ checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5588,7 +5481,7 @@ checksum = "08990546bf4edef8f431fa6326e032865f27138718c587dc21bc0265bbcb57cc"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -5599,7 +5492,7 @@ checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -6009,7 +5902,7 @@ dependencies = [
|
|||||||
"proc-macro-crate 3.1.0",
|
"proc-macro-crate 3.1.0",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
"zvariant_utils",
|
"zvariant_utils",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -6046,7 +5939,7 @@ dependencies = [
|
|||||||
"proc-macro-crate 3.1.0",
|
"proc-macro-crate 3.1.0",
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
"zvariant_utils",
|
"zvariant_utils",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -6058,5 +5951,5 @@ checksum = "c51bcff7cc3dbb5055396bcf774748c3dab426b4b8659046963523cee4808340"
|
|||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
"syn 2.0.79",
|
"syn 2.0.72",
|
||||||
]
|
]
|
||||||
|
@ -4,6 +4,6 @@ members = [
|
|||||||
"crates/backend",
|
"crates/backend",
|
||||||
"crates/desktop",
|
"crates/desktop",
|
||||||
"crates/sesam-vitale",
|
"crates/sesam-vitale",
|
||||||
"crates/fsv-sys",
|
"crates/services-sesam-vitale-sys",
|
||||||
"crates/utils",
|
"crates/utils",
|
||||||
]
|
]
|
||||||
|
@ -9,7 +9,6 @@ Logiciel de Pharmacie libre et open-source.
|
|||||||
- `crates/desktop`: Client desktop propulsé par Tauri, exposant le `frontend`
|
- `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/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/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
|
- `frontend`: Interface web du logiciel, propulsée par Nuxt.js
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
@ -44,9 +43,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"
|
cargo install tauri-cli --version "^2.0.0-rc"
|
||||||
```
|
```
|
||||||
|
|
||||||
#### FSV-sys
|
#### 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`.
|
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`.
|
||||||
|
|
||||||
#### Backend Hot-reload
|
#### Backend Hot-reload
|
||||||
|
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
[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"
|
|
@ -1,23 +0,0 @@
|
|||||||
# 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)).
|
|
||||||
|
|
@ -1,62 +0,0 @@
|
|||||||
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!");
|
|
||||||
}
|
|
@ -1,130 +0,0 @@
|
|||||||
#![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<u16, Error> {
|
|
||||||
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<Self, Error> {
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,123 +0,0 @@
|
|||||||
/*
|
|
||||||
* -------------------------------------------------------------------
|
|
||||||
* (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 <stddef.h>
|
|
||||||
#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
|
|
@ -1,176 +0,0 @@
|
|||||||
/*
|
|
||||||
* -------------------------------------------------------------------
|
|
||||||
* (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 <stddef.h>
|
|
||||||
/* Inclure le fichier de d<>clarations sp<73>cifiques syst<73>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
|
|
@ -1,327 +0,0 @@
|
|||||||
/*
|
|
||||||
* -------------------------------------------------------------------
|
|
||||||
* (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 <stddef.h>
|
|
||||||
/* Inclure le fichier de d<>clarations sp<73>cifiques syst<73>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
|
|
@ -1,412 +0,0 @@
|
|||||||
/*
|
|
||||||
* -------------------------------------------------------------------
|
|
||||||
* (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 <stddef.h>
|
|
||||||
/* Inclure le fichier de d<>clarations sp<73>cifiques syst<73>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 <20> relivrer Sedica (pas d'incidence sur le code) -> <20> inclure dans sedica.h ou commun.h*/
|
|
||||||
/* Chaine discriminante d un nom de ressource TL PCSC */
|
|
||||||
#define TL_PCSC " TL "
|
|
||||||
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,353 +0,0 @@
|
|||||||
/*
|
|
||||||
%-----------------------------------------------------------------------------
|
|
||||||
% PROJET : STS INTERFACE
|
|
||||||
%
|
|
||||||
% MODULE : HEADER STS INTERFACE
|
|
||||||
%
|
|
||||||
% VERSION : cf #define ci-apr<70>s
|
|
||||||
%
|
|
||||||
% FICHIER : sts.h
|
|
||||||
%
|
|
||||||
% D<>claration des prototypes des fonctions STS - INTERFACE
|
|
||||||
%-----------------------------------------------------------------------------
|
|
||||||
%
|
|
||||||
% EDS DHU - 09/04/03 - Cr<43>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<74>ques ANSI ou syst<73>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<70>mentaire des actes de la facture
|
|
||||||
%
|
|
||||||
% Param<61>tres d'entr<74>e :
|
|
||||||
% MotifAppel (char) : 1er appel ('P') ou Appel sur echec de
|
|
||||||
% tarification ('E').
|
|
||||||
% ZDonneesEntree (void*) : Zone d'<27>change fournie par le Progiciel
|
|
||||||
% contenant toutes les informations sur la facture
|
|
||||||
% TailleDonneesEntree (size_t) : Taille de la zone d'<27>change Zin
|
|
||||||
%
|
|
||||||
% Param<61>tres de sortie :
|
|
||||||
% ZDonneesSortie (void**) : Zone d'<27>change fournie par le module STS appel<65>
|
|
||||||
% contenant toutes les informations modifi<66>es de la facture
|
|
||||||
% en entr<74>e et de nouvelles informations.
|
|
||||||
% TailleDonneesSortie (size_t*) : Taille de la zone d'<27>change Zout
|
|
||||||
%
|
|
||||||
% Valeur retourn<72>e :
|
|
||||||
% OK si pas d'erreur
|
|
||||||
% ERR_STS_NON_INITIALISE si module STS non initialis<69>
|
|
||||||
% et les codes d'erreurs de la tarification du module STS appel<65>
|
|
||||||
%
|
|
||||||
%-----------------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
/* 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<66>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 <20> la facturation.
|
|
||||||
%
|
|
||||||
% Param<61>tres d'entr<74>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<6E> /zone
|
|
||||||
% ZDonneesEntree (void*) : Zone d'<27>change fournie par le Progiciel
|
|
||||||
% contenant toutes les informations sur la facture
|
|
||||||
% TailleDonneesEntree (size_t) : Taille de la zone d'<27>change Zin
|
|
||||||
%
|
|
||||||
% Param<61>tres de sortie :
|
|
||||||
% ZDonneesSortie (void**) : Zone d'<27>change fournie par le module STS appel<65>
|
|
||||||
% TailleDonneesSortie (size_t*) : Taille de la zone d'<27>change Zout
|
|
||||||
%
|
|
||||||
% Valeur retourn<72>e : (idem Tarification)
|
|
||||||
% OK si pas d'erreur
|
|
||||||
% ERR_STS_NON_INITIALISE si module STS non initialis<69>
|
|
||||||
% et les codes d'erreurs de la tarification du module STS appel<65>
|
|
||||||
%
|
|
||||||
%-----------------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
/* 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<66>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<61>tres d'entr<74>e : aucun
|
|
||||||
%
|
|
||||||
% Param<61>tres de sortie :
|
|
||||||
% ZDonneesSortie (void**) : Zone d'<27>change fournie par ce module
|
|
||||||
% contenant les versions (grp 3780) demand<6E>es.
|
|
||||||
% TailleDonneesSortie (size_t*) : Taille de la zone d'<27>change Zout
|
|
||||||
%
|
|
||||||
% Valeur retourn<72>e :
|
|
||||||
% OK si pas d'erreur
|
|
||||||
% ERR_STS_NON_INITIALISE si module STS non initialis<69>
|
|
||||||
% 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<66>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<66>rent s'il est pr<70>cis<69> en entr<74>e
|
|
||||||
%
|
|
||||||
% Param<61>tres d'entr<74>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 <20> 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<61>tres de sortie : aucun
|
|
||||||
%
|
|
||||||
% Valeur retourn<72>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<61>tres d'entr<74>e : aucun
|
|
||||||
%
|
|
||||||
% Param<61>tres de sortie : aucun
|
|
||||||
%
|
|
||||||
% Valeur retourn<72>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<63>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<6F>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<66>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<EFBFBD> initialis<69>
|
|
||||||
% WAR_ADM_PATH si chemin au suivi de parc non trouv<75> dans fichier
|
|
||||||
% de configuration des produits SV
|
|
||||||
% WAR_ADM_FILE si impossible de cr<63>er les fichiers de suivi de
|
|
||||||
% parc
|
|
||||||
% ET les codes de retour de chaque module STS appel<65>
|
|
||||||
%
|
|
||||||
%-----------------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
/* 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<61>tres d'entr<74>e :
|
|
||||||
% NomFichierIni (char*) : Chemin et nom du fichier de configuration des
|
|
||||||
% produits SESAM Vitale du poste de travail (sesam.ini)
|
|
||||||
%
|
|
||||||
% Param<61>tres de sortie : aucun
|
|
||||||
%
|
|
||||||
% Valeur retourn<72>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<63>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<6F>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<66>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<EFBFBD> initialis<69>
|
|
||||||
% WAR_ADM_PATH si chemin au suivi de parc non trouv<75> dans fichier
|
|
||||||
% de configuration des produits SV
|
|
||||||
% WAR_ADM_FILE si impossible de cr<63>er les fichiers de suivi de
|
|
||||||
% parc
|
|
||||||
% ET les codes de retour de chaque module STS appel<65>
|
|
||||||
%
|
|
||||||
%-----------------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
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<61>tres d'entr<74>e : aucun
|
|
||||||
%
|
|
||||||
% Param<61>tres de sortie : aucun
|
|
||||||
%
|
|
||||||
% Valeur retourn<72>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'<27>change de sortie par STS Interface.
|
|
||||||
% Cette fonction permet la r<>allocation d'une zone d'<27>change.
|
|
||||||
% L'allocation d'une nouvelle zone d'<27>change n<>cessite un pointeur
|
|
||||||
% NULL en entr<74>e !
|
|
||||||
% Cette fonctio est <20> utiliser conjointement avec STS_LibererZoneMem
|
|
||||||
% pour faciliter le Debugage (zone allou<6F>e par l'<27>crivain)
|
|
||||||
%
|
|
||||||
% Param<61>tres d'entr<74>e :
|
|
||||||
% Taille (size_t) : Taille de la zone d'<27>change <20> allouer.
|
|
||||||
%
|
|
||||||
% Param<61>tres d'entr<74>e et de sortie :
|
|
||||||
% Zone (void**) : Zone d'<27>change pr<70>allou<6F>e en entr<74>e (ou NULL).
|
|
||||||
% Zone allou<6F>e (r<>allou<6F>e) par le module STS-Interface.
|
|
||||||
%
|
|
||||||
% Valeur retourn<72>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<69>ration de la zone d'<27>change de sortie par STS Interface.
|
|
||||||
%
|
|
||||||
% Param<61>tres d'entr<74>e :
|
|
||||||
% Zone (void*) : Zone d'<27>change <20> lib<69>rer (allou<6F>e pr<70>c<EFBFBD>demment par
|
|
||||||
% le module STS-Interce par STS_AllouerZoneMem).
|
|
||||||
%
|
|
||||||
% Param<61>tres de sortie : aucun
|
|
||||||
%
|
|
||||||
% Valeur retourn<72>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 */
|
|
@ -1,189 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------
|
|
||||||
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<6F>e par la fonction "malloc" */
|
|
||||||
#ifndef MAXBLOC
|
|
||||||
#define MAXBLOC 4294967295
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,85 +0,0 @@
|
|||||||
/*
|
|
||||||
* -------------------------------------------------------------------
|
|
||||||
* (c) 2002 GIE SESAM-VITALE
|
|
||||||
*
|
|
||||||
* FICHIER : sys_def.h (v2)
|
|
||||||
*
|
|
||||||
* PLATE-FORME : Windows 32 bits
|
|
||||||
*
|
|
||||||
* D<>finitions d<>pendantes du syst<73>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<69> dans le nommage des arborescences de fichiers */
|
|
||||||
#ifndef SEPARATEUR_REPERTOIRE
|
|
||||||
#define SEPARATEUR_REPERTOIRE '/'
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Activation des fonctions simplifi<66>es. */
|
|
||||||
#ifndef SGD
|
|
||||||
#define SGD
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,92 +0,0 @@
|
|||||||
/*
|
|
||||||
* -------------------------------------------------------------------
|
|
||||||
* (c) 2002 GIE SESAM-VITALE
|
|
||||||
*
|
|
||||||
* FICHIER : sys_def.h (v2)
|
|
||||||
*
|
|
||||||
* PLATE-FORME : MAC OSX
|
|
||||||
*
|
|
||||||
* D<>finitions d<>pendantes du syst<73>me.
|
|
||||||
* -------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
//3/11/2004 Modification pour compilation MAC OS X
|
|
||||||
#include "osxdef.h"
|
|
||||||
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#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<69> 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<66>es. */
|
|
||||||
#ifndef SGD
|
|
||||||
#define SGD
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,150 +0,0 @@
|
|||||||
/*---------------------------------------------------------------------------
|
|
||||||
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 <CarbonCore/MacTypes.h>*/
|
|
||||||
//#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 <usr/include/sys/syslimits.h> */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* Taille maximale allouÈe par la fonction "malloc" */
|
|
||||||
#ifndef MAXBLOC
|
|
||||||
#define MAXBLOC 0x7FFFFFFF
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,69 +0,0 @@
|
|||||||
/*
|
|
||||||
* -------------------------------------------------------------------
|
|
||||||
* (c) 2002 GIE SESAM-VITALE
|
|
||||||
*
|
|
||||||
* FICHIER : sys_def.h (v2)
|
|
||||||
*
|
|
||||||
* PLATE-FORME : Windows 32 bits
|
|
||||||
*
|
|
||||||
* D<>finitions d<>pendantes du syst<73>me.
|
|
||||||
* -------------------------------------------------------------------
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
|
||||||
|
|
||||||
#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<69> dans le nommage des arborescences de fichiers */
|
|
||||||
#ifndef SEPARATEUR_REPERTOIRE
|
|
||||||
#define SEPARATEUR_REPERTOIRE '\\'
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
/* Activation des fonctions simplifi<66>es. */
|
|
||||||
#ifndef SGD
|
|
||||||
#define SGD
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#endif
|
|
@ -1,7 +0,0 @@
|
|||||||
#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
|
|
@ -1,7 +0,0 @@
|
|||||||
#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
|
|
@ -1,7 +0,0 @@
|
|||||||
#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
|
|
12
crates/services-sesam-vitale-sys/Cargo.toml
Normal file
12
crates/services-sesam-vitale-sys/Cargo.toml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
[package]
|
||||||
|
name = "services-sesam-vitale-sys"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
#links= "ssvlux64"
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
bitvec = "1.0.1"
|
||||||
|
deku = "0.17.0"
|
||||||
|
libc = "0.2.155"
|
||||||
|
num_enum = { version = "0.7.3", features = ["complex-expressions"] }
|
||||||
|
thiserror = "1.0.63"
|
104
crates/services-sesam-vitale-sys/src/api.rs
Normal file
104
crates/services-sesam-vitale-sys/src/api.rs
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
use deku::{deku_derive, DekuContainerRead, DekuError, DekuReader};
|
||||||
|
use std::{ffi::CString, fmt, path::Path, ptr};
|
||||||
|
use thiserror::Error;
|
||||||
|
|
||||||
|
use crate::{
|
||||||
|
bindings::{SSV_InitLIB2, SSV_LireConfig, SSV_TermLIB},
|
||||||
|
types::{common::read_from_buffer, configuration::Configuration},
|
||||||
|
};
|
||||||
|
use num_enum::FromPrimitive;
|
||||||
|
|
||||||
|
#[derive(Error, Debug)]
|
||||||
|
pub struct SesamVitaleError {
|
||||||
|
code: u16,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Eq, PartialEq, FromPrimitive)]
|
||||||
|
#[repr(u16)]
|
||||||
|
enum SSVIntError {
|
||||||
|
CPSNotInserted = 61441,
|
||||||
|
|
||||||
|
#[num_enum(catch_all)]
|
||||||
|
NotImplemented(u16),
|
||||||
|
}
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {
|
||||||
|
use super::*;
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_sesam_vitale_error() {
|
||||||
|
let int_error = SSVIntError::from(61441);
|
||||||
|
assert_eq!(int_error, SSVIntError::CPSNotInserted);
|
||||||
|
|
||||||
|
let int_error = SSVIntError::from(123);
|
||||||
|
assert_eq!(int_error, SSVIntError::NotImplemented(123));
|
||||||
|
println!("{:?}", int_error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Error, Debug)]
|
||||||
|
enum SSVError {
|
||||||
|
#[error("Erreur standard de la librairie SSV")]
|
||||||
|
SSVStandard,
|
||||||
|
// #[error("Erreur de parsing")]
|
||||||
|
// Parsing(#[from] ParsingError),
|
||||||
|
#[error("Erreur inattendue de la librairie SSV (TMP)")]
|
||||||
|
SSVUnknownTmp,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for SesamVitaleError {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
|
write!(f, "Got error code {} from SSV_LireConfig", self.code)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn init_library(sesam_ini_path: &Path) -> Result<(), SesamVitaleError> {
|
||||||
|
// TODO: better error handling
|
||||||
|
let path_str = sesam_ini_path.to_str().unwrap();
|
||||||
|
let path_ptr = CString::new(path_str).expect("failed to create cstring");
|
||||||
|
|
||||||
|
let exit_code: u16 = unsafe { SSV_InitLIB2(path_ptr.as_ptr()) };
|
||||||
|
if exit_code != 0 {
|
||||||
|
let error = SesamVitaleError { code: exit_code };
|
||||||
|
return Err(error);
|
||||||
|
};
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
pub fn close_library() -> Result<(), SesamVitaleError> {
|
||||||
|
let exit_code: u16 = unsafe { SSV_TermLIB() };
|
||||||
|
if exit_code != 0 {
|
||||||
|
let error = SesamVitaleError { code: exit_code };
|
||||||
|
return Err(error);
|
||||||
|
};
|
||||||
|
|
||||||
|
Ok(())
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn read_config() -> Result<Configuration, SesamVitaleError> {
|
||||||
|
let mut buffer_ptr: *mut libc::c_void = ptr::null_mut();
|
||||||
|
let mut size: libc::size_t = 0;
|
||||||
|
|
||||||
|
let buffer_ptr_ptr: *mut *mut libc::c_void = &mut buffer_ptr;
|
||||||
|
let size_ptr: *mut libc::size_t = &mut size;
|
||||||
|
|
||||||
|
// Need to add proper error handling -> return a result with error code pointing to an error
|
||||||
|
// enum
|
||||||
|
let exit_code: u16 = unsafe { SSV_LireConfig(buffer_ptr_ptr, size_ptr) };
|
||||||
|
|
||||||
|
if exit_code != 0 {
|
||||||
|
let error = SesamVitaleError { code: exit_code };
|
||||||
|
return Err(error);
|
||||||
|
};
|
||||||
|
|
||||||
|
let buffer: &[u8] = unsafe { std::slice::from_raw_parts(buffer_ptr as *const u8, size) };
|
||||||
|
|
||||||
|
// TODO: Improve error handling
|
||||||
|
let configuration: Configuration = read_from_buffer(buffer).unwrap();
|
||||||
|
|
||||||
|
// TODO: Call library function for memory delocating
|
||||||
|
unsafe { libc::free(buffer_ptr) };
|
||||||
|
|
||||||
|
Ok(configuration)
|
||||||
|
}
|
288
crates/services-sesam-vitale-sys/src/bindings.rs
Normal file
288
crates/services-sesam-vitale-sys/src/bindings.rs
Normal file
@ -0,0 +1,288 @@
|
|||||||
|
#![allow(non_upper_case_globals)]
|
||||||
|
#![allow(non_camel_case_types)]
|
||||||
|
#![allow(non_snake_case)]
|
||||||
|
#![allow(dead_code)]
|
||||||
|
|
||||||
|
// Generated using bindgen
|
||||||
|
|
||||||
|
extern "C" {
|
||||||
|
// Fonctions de gestion des données
|
||||||
|
|
||||||
|
pub fn SSV_LireCartePS(
|
||||||
|
NomRessourcePS: *const ::std::os::raw::c_char,
|
||||||
|
NomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
CodePorteurPS: *const ::std::os::raw::c_char,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_LireDroitsVitale(
|
||||||
|
NomRessourcePS: *const ::std::os::raw::c_char,
|
||||||
|
NomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
CodePorteurPS: *const ::std::os::raw::c_char,
|
||||||
|
DateConsultation: *const ::std::os::raw::c_char,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_FormaterFactures(
|
||||||
|
cFactureACreer: ::std::os::raw::c_char,
|
||||||
|
cModeSecur: ::std::os::raw::c_char,
|
||||||
|
cTypeFlux: ::std::os::raw::c_char,
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
TailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_ChiffrerFacture(
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
TailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_SignerFactureVitale(
|
||||||
|
pcNomRessourceVitale: *const ::std::os::raw::c_char,
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
szTailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pszTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_CalculerHashFactureAssure(
|
||||||
|
pcNumSerie: *const ::std::os::raw::c_char,
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
szTailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pszTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_AjouterSignatureAssureDansFacture(
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
szTailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pszTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_SignerFactureCPS(
|
||||||
|
pcNomRessourcePS: *const ::std::os::raw::c_char,
|
||||||
|
pcNomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
pcCodePorteurPS: *const ::std::os::raw::c_char,
|
||||||
|
cNologSituation: ::std::os::raw::c_char,
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
szTailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pszTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_FormaterLot(
|
||||||
|
NBZDataIn: ::std::os::raw::c_short,
|
||||||
|
TZDataIn: *mut *mut ::std::os::raw::c_void,
|
||||||
|
TTailleZoneIn: *mut usize,
|
||||||
|
pNbZDataOut: *mut ::std::os::raw::c_short,
|
||||||
|
TZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
TTailleZoneOut: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_SignerLotCPS(
|
||||||
|
pcNomRessourcePS: *const ::std::os::raw::c_char,
|
||||||
|
pcNomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
pcCodePorteurPS: *const ::std::os::raw::c_char,
|
||||||
|
cNologSituation: ::std::os::raw::c_char,
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
szTailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pszTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_FormaterFichier(
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
TailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_TraduireARL(
|
||||||
|
NbZDonneesEntree: ::std::os::raw::c_short,
|
||||||
|
TZDataIn: *mut *mut ::std::os::raw::c_void,
|
||||||
|
TTailleZoneIn: *mut usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pTailleZoneOut: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_LireNumSerieCarteVitale(
|
||||||
|
pcNomRessource: *mut ::std::os::raw::c_char,
|
||||||
|
numeroSerie: *mut ::std::os::raw::c_uchar,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_CalculerHashFacturePS(
|
||||||
|
pcNumSerieCPS: *const ::std::os::raw::c_char,
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
usTailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pusTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
pub fn SSV_AjouterSignaturePSFacture(
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
szTailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pszTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
pub fn SSV_DechargerFacturesPdT(
|
||||||
|
NomRessourcePS: *const ::std::os::raw::c_char,
|
||||||
|
NomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
CodePorteurPS: *const ::std::os::raw::c_char,
|
||||||
|
pcNumFact: *const ::std::os::raw::c_char,
|
||||||
|
sNbZDataIn: ::std::os::raw::c_short,
|
||||||
|
pvTZDataIn: *mut *mut ::std::os::raw::c_void,
|
||||||
|
psTTailleDataIn: *mut usize,
|
||||||
|
pNbZDataOut: *mut ::std::os::raw::c_short,
|
||||||
|
TZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
TTailleZoneOut: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
pub fn SSV_TraduireFSE(
|
||||||
|
pZDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
TailleDataIn: usize,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pTailleZone: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
// Fonctions TLA
|
||||||
|
// TLA (Terminal Lecteur Applicatif) -> lecteur autre que PC-SC, on ne prend pas en compte cela
|
||||||
|
|
||||||
|
pub fn SSV_IdentifierTLA(
|
||||||
|
pcNomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
NumVersionCDC: *const ::std::os::raw::c_char,
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
tailleDataOut: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
pub fn SSV_ChargerDonneesTLA(
|
||||||
|
pcNomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
sNbZDataIn: ::std::os::raw::c_short,
|
||||||
|
pvTZDataIn: *mut *mut ::std::os::raw::c_void,
|
||||||
|
psTTailleDataIn: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
pub fn SSV_ChargerFacturesPdT(
|
||||||
|
pcNomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
pcNumFacturation: *const ::std::os::raw::c_char,
|
||||||
|
sNbZDataIn: ::std::os::raw::c_short,
|
||||||
|
pvTZDataIn: *mut *mut ::std::os::raw::c_void,
|
||||||
|
psTTailleDataIn: *mut usize,
|
||||||
|
pNbZDataOut: *mut ::std::os::raw::c_short,
|
||||||
|
TZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
TTailleZoneOut: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
pub fn SSV_DechargerFSETLA(
|
||||||
|
NomRessourcePS: *const ::std::os::raw::c_char,
|
||||||
|
NomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
CodePorteurPS: *const ::std::os::raw::c_char,
|
||||||
|
pcNumFact: *const ::std::os::raw::c_char,
|
||||||
|
pNbZDataOut: *mut ::std::os::raw::c_short,
|
||||||
|
TZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
TTailleZoneOut: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
pub fn SSV_DechargerFSETLANC(
|
||||||
|
NomRessourcePS: *const ::std::os::raw::c_char,
|
||||||
|
NomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
CodePorteurPS: *const ::std::os::raw::c_char,
|
||||||
|
pcNumFact: *const ::std::os::raw::c_char,
|
||||||
|
pNbZDataOut: *mut ::std::os::raw::c_short,
|
||||||
|
TZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
TTailleZoneOut: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
pub fn SSV_DechargerBeneficiaires(
|
||||||
|
NomRessourcePS: *const ::std::os::raw::c_char,
|
||||||
|
NomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
CodePorteurPS: *const ::std::os::raw::c_char,
|
||||||
|
cNumFacturation: *const ::std::os::raw::c_char,
|
||||||
|
sNbZDataOut: *mut ::std::os::raw::c_short,
|
||||||
|
pTZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
sTTailleDataOut: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
pub fn SSV_EffacerTLA(
|
||||||
|
NomRessourcePS: *const ::std::os::raw::c_char,
|
||||||
|
NomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
CodePorteurPS: *const ::std::os::raw::c_char,
|
||||||
|
cNumFacturation: *const ::std::os::raw::c_char,
|
||||||
|
cTypeDonnee: *const ::std::os::raw::c_char,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
pub fn SSV_SecuriserFacture(
|
||||||
|
pcNomRessourcePS: *const ::std::os::raw::c_char,
|
||||||
|
pcNomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
pcCodePorteurPS: *const ::std::os::raw::c_char,
|
||||||
|
cNologSituation: ::std::os::raw::c_char,
|
||||||
|
pcNumFact: *const ::std::os::raw::c_char,
|
||||||
|
pvDataIn: *mut ::std::os::raw::c_void,
|
||||||
|
szTailleDataIn: usize,
|
||||||
|
pvDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
pszTailleDataOut: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
// Fonctions de gestion de configuration (GALSS)
|
||||||
|
|
||||||
|
pub fn SSV_LireConfig(
|
||||||
|
pZDataOut: *mut *mut ::std::os::raw::c_void,
|
||||||
|
psTailleDataOut: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_LireDateLecteur(
|
||||||
|
pcNomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
pcDateHeure: *mut ::std::os::raw::c_char,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_MajDateLecteur(
|
||||||
|
pcNomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
pcDateHeure: *const ::std::os::raw::c_char,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
pub fn SSV_ChargerAppli(
|
||||||
|
pcNomRessourceLecteur: *const ::std::os::raw::c_char,
|
||||||
|
sNbZDataIn: ::std::os::raw::c_short,
|
||||||
|
pvTZDataIn: *mut *mut ::std::os::raw::c_void,
|
||||||
|
psTTailleDataIn: *mut usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
// Fonctions techniques
|
||||||
|
|
||||||
|
// La fonction Initialiser Librairie a pour objet de charger et d’initialiser dans la mémoire du système :
|
||||||
|
// - dans le cas où le GALSS est installé sur le poste :
|
||||||
|
// - la bibliothèque du Gestionnaire d’Accès au Lecteur Santé Social (GALSS),
|
||||||
|
// - qui charge la bibliothèque du Protocole Santé Social (PSS),
|
||||||
|
// - la configuration du poste de travail à l’aide du fichier galssinf,
|
||||||
|
// - les variables globales communes aux différents Services SESAM-Vitale,
|
||||||
|
// - les fichiers de tables et scripts des répertoires par défaut.
|
||||||
|
// Cette fonction accède au référentiel électronique en utilisant le chemin complet indiqué dans le fichier sesam.ini.
|
||||||
|
pub fn SSV_InitLIB2(pcFichierSesam: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
// La fonction Terminer a pour objet de décharger de la mémoire du système les éléments
|
||||||
|
// chargés par la fonction Initialiser Librairie, qui ne sont plus utiles.
|
||||||
|
pub fn SSV_TermLIB() -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
/// Fonctions de Tracage
|
||||||
|
//La fonction Allouer Zone Mémoire a un rôle purement technique : elle permet d’allouer, autrement dit de réserver une zone ou partie de la mémoire du poste de travail pour y écrire les données à passer en entrée d’un Service SESAM-Vitale.
|
||||||
|
// Cette fonction doit être utilisée pour allouer toutes les zones de mémoire requises en entrée des Services SESAM-Vitale de manière à permettre un diagnostic fiable par le « mode trace » en cas de dysfonctionnement. En effet, son mode d’exécution est susceptible de fournir des informations utiles au « mode trace » lorsqu’il est activé.
|
||||||
|
pub fn SSV_AllouerZoneMem(
|
||||||
|
pZDataIn: *mut *mut ::std::os::raw::c_void,
|
||||||
|
taille: usize,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
// La fonction Libérer Zone Mémoire a un rôle purement technique : elle permet de libérer une zone de mémoire du poste de travail précédemment allouée après exploitation des données qu’elle contient.
|
||||||
|
// Cette fonction doit être utilisée pour libérer toutes les zones de mémoire :
|
||||||
|
// - celles qui ont été allouées par le progiciel de santé pour fournir les données nécessaires à l’entrée des Services SESAM-Vitale, avant leur appel, celles qui ont été allouées par les Services SESAM-Vitale pour fournir en sortie les données utiles au progiciel de santé qui a fait appel à ces services,
|
||||||
|
// - de façon à permettre un diagnostic fiable par le mode trace en cas de dysfonctionnement
|
||||||
|
//En effet, son exécution est susceptible de fournir des informations utiles au « mode trace » lorsqu’il est activé.
|
||||||
|
pub fn SSV_LibererZoneMem(pZone: *mut ::std::os::raw::c_void);
|
||||||
|
|
||||||
|
// La fonction Initialiser Trace a pour objet de permettre l’activation du « mode trace ».
|
||||||
|
// Ce mode de fonctionnement est prévu pour permettre à l’assistance technique du GIE
|
||||||
|
// SESAM-Vitale d’analyser les problèmes de mise en œuvre des Services SESAM-Vitale,
|
||||||
|
// notamment lorsque une fonction retourne un code d’erreur de valeur hexadécimale supérieure à FF00.
|
||||||
|
pub fn SSV_InitTrace(
|
||||||
|
pathConf: *mut ::std::os::raw::c_char,
|
||||||
|
ModeOuvertureFicherLog: *mut ::std::os::raw::c_char,
|
||||||
|
ModuleLog: ::std::os::raw::c_ushort,
|
||||||
|
NiveauLog: ::std::os::raw::c_uchar,
|
||||||
|
) -> ::std::os::raw::c_ushort;
|
||||||
|
|
||||||
|
}
|
6
crates/services-sesam-vitale-sys/src/lib.rs
Normal file
6
crates/services-sesam-vitale-sys/src/lib.rs
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
pub mod api;
|
||||||
|
mod bindings;
|
||||||
|
pub mod types;
|
||||||
|
|
||||||
|
#[cfg(test)]
|
||||||
|
mod tests {}
|
144
crates/services-sesam-vitale-sys/src/types/common.rs
Normal file
144
crates/services-sesam-vitale-sys/src/types/common.rs
Normal file
@ -0,0 +1,144 @@
|
|||||||
|
use crate::types::configuration::{
|
||||||
|
ConfigurationHeader, PCSCReader, ReaderConfiguration, SESAMVitaleComponent,
|
||||||
|
};
|
||||||
|
|
||||||
|
use std::{error::Error, str::FromStr};
|
||||||
|
|
||||||
|
use bitvec::index::BitIdx;
|
||||||
|
use deku::{
|
||||||
|
bitvec::{BitStore, Msb0},
|
||||||
|
ctx::ByteSize,
|
||||||
|
deku_derive,
|
||||||
|
reader::{Reader, ReaderRet},
|
||||||
|
DekuContainerRead, DekuError, DekuReader,
|
||||||
|
};
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, Clone, PartialEq)]
|
||||||
|
pub(crate) struct NumericString(#[deku(map = "convert_from_data_field")] String);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, Clone, PartialEq)]
|
||||||
|
pub(crate) struct AlphaNumericString(#[deku(map = "convert_from_data_field")] String);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, Clone, PartialEq)]
|
||||||
|
pub(crate) struct BinaryData(#[deku(map = "extract_from_data_field")] Vec<u8>);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, Clone, Copy, PartialEq)]
|
||||||
|
#[deku(endian = "big")]
|
||||||
|
pub(crate) struct GroupId(u16);
|
||||||
|
|
||||||
|
trait MapToDekuParseError<T> {
|
||||||
|
fn map_to_deku_parse_error(self) -> Result<T, DekuError>;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<T, E: Error> MapToDekuParseError<T> for Result<T, E> {
|
||||||
|
fn map_to_deku_parse_error(self) -> Result<T, DekuError> {
|
||||||
|
self.map_err(|e| DekuError::Parse(e.to_string().into()))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn read_size<R: std::io::Read>(reader: &mut Reader<R>) -> Result<ByteSize, DekuError> {
|
||||||
|
let first_byte: u8 = u8::from_reader_with_ctx(reader, ())?;
|
||||||
|
|
||||||
|
let is_length_expanded = first_byte.get_bit::<Msb0>(BitIdx::new(0).map_to_deku_parse_error()?);
|
||||||
|
|
||||||
|
match is_length_expanded {
|
||||||
|
true => {
|
||||||
|
let size_of_data_size: ByteSize = ByteSize((first_byte & 0b0111_1111) as usize);
|
||||||
|
|
||||||
|
if size_of_data_size.0 > 4 {
|
||||||
|
return Err(DekuError::Parse("Size of the length encoding is > 4, this is not normal. Probable parsing error".to_string().into()));
|
||||||
|
};
|
||||||
|
|
||||||
|
// maximum size of the buffer is 4, we use the offset to read values less than 4 bytes
|
||||||
|
let buffer: &mut [u8; 4] = &mut [0; 4];
|
||||||
|
let write_offset = 4 - size_of_data_size.0;
|
||||||
|
|
||||||
|
match reader.read_bytes(size_of_data_size.0, &mut buffer[write_offset..])? {
|
||||||
|
ReaderRet::Bits(_bit_vec) => Err(DekuError::Parse("Got bits when trying to read bytes -> reader is unaligned, this is not normal.".to_string().into())),
|
||||||
|
ReaderRet::Bytes => Ok(ByteSize(u32::from_be_bytes(*buffer) as usize)),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
false => Ok(ByteSize(first_byte as usize)),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Using this as the map function asks deku to parse a datafield
|
||||||
|
// We then use the datafield and convert it to the corresponding value
|
||||||
|
pub(super) fn convert_from_data_field<T>(data_field: DataField) -> Result<T, DekuError>
|
||||||
|
where
|
||||||
|
T: FromStr,
|
||||||
|
T::Err: Error,
|
||||||
|
{
|
||||||
|
let text = String::from_utf8(data_field.data).map_to_deku_parse_error()?;
|
||||||
|
T::from_str(&text).map_to_deku_parse_error()
|
||||||
|
}
|
||||||
|
|
||||||
|
pub(crate) fn extract_from_data_field(data_field: DataField) -> Result<Vec<u8>, DekuError> {
|
||||||
|
Ok(data_field.data)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub(crate) struct DataField {
|
||||||
|
#[deku(reader = "read_size(deku::reader)")]
|
||||||
|
pub(crate) data_size: ByteSize,
|
||||||
|
|
||||||
|
#[deku(bytes_read = "data_size.0")]
|
||||||
|
pub(crate) data: Vec<u8>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub(crate) struct BlockHeader {
|
||||||
|
pub(crate) group_id: GroupId,
|
||||||
|
|
||||||
|
#[deku(reader = "read_size(deku::reader)")]
|
||||||
|
pub(crate) data_size: ByteSize,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub(crate) struct DataBlock {
|
||||||
|
pub(crate) header: BlockHeader,
|
||||||
|
|
||||||
|
#[deku(ctx = "header.group_id")]
|
||||||
|
pub(crate) inner: DataGroup,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
#[deku(ctx = "group_id: GroupId", id = "group_id.0")]
|
||||||
|
pub enum DataGroup {
|
||||||
|
#[deku(id = 60)]
|
||||||
|
ConfigurationHeader(ConfigurationHeader),
|
||||||
|
#[deku(id = 61)]
|
||||||
|
ReaderConfiguration(ReaderConfiguration),
|
||||||
|
#[deku(id = 64)]
|
||||||
|
SESAMVitaleComponent(SESAMVitaleComponent),
|
||||||
|
#[deku(id = 67)]
|
||||||
|
PCSCReader(PCSCReader),
|
||||||
|
}
|
||||||
|
pub(crate) fn read_from_buffer<T>(buffer: &[u8]) -> Result<T, T::Error>
|
||||||
|
where
|
||||||
|
T: TryFrom<Vec<DataBlock>>,
|
||||||
|
{
|
||||||
|
let mut data_blocks: Vec<DataBlock> = Vec::new();
|
||||||
|
let mut offset = 0;
|
||||||
|
|
||||||
|
let mut remaining_buffer = buffer;
|
||||||
|
|
||||||
|
while !remaining_buffer.is_empty() {
|
||||||
|
// TODO: properly handle errors
|
||||||
|
let (rest, data_block) = DataBlock::from_bytes((remaining_buffer, offset)).unwrap();
|
||||||
|
|
||||||
|
data_blocks.push(data_block);
|
||||||
|
|
||||||
|
(remaining_buffer, offset) = rest;
|
||||||
|
}
|
||||||
|
|
||||||
|
T::try_from(data_blocks)
|
||||||
|
}
|
137
crates/services-sesam-vitale-sys/src/types/configuration.rs
Normal file
137
crates/services-sesam-vitale-sys/src/types/configuration.rs
Normal file
@ -0,0 +1,137 @@
|
|||||||
|
use crate::types::common::DataBlock;
|
||||||
|
use std::{error::Error, fmt, vec::Vec};
|
||||||
|
|
||||||
|
use crate::types::common::convert_from_data_field;
|
||||||
|
use deku::{deku_derive, DekuReader};
|
||||||
|
|
||||||
|
use super::common::{AlphaNumericString, DataGroup};
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct SSVVersionNumber(#[deku(map = "convert_from_data_field")] u16);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct GALSSVersionNumber(#[deku(map = "convert_from_data_field")] u16);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct PSSVersionNumber(#[deku(map = "convert_from_data_field")] u16);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct ConfigurationHeader {
|
||||||
|
pub ssv_version: SSVVersionNumber,
|
||||||
|
pub galss_version: GALSSVersionNumber,
|
||||||
|
pub pss_version: PSSVersionNumber,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct PCSCReaderName(AlphaNumericString);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct CardType(#[deku(map = "convert_from_data_field")] u8);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct PCSCReader {
|
||||||
|
pub name: PCSCReaderName,
|
||||||
|
pub card_type: CardType,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct SESAMVitaleComponentID(#[deku(map = "convert_from_data_field")] u16);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct SESAMVitaleComponentDescription(AlphaNumericString);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct SESAMVitaleComponentVersion(AlphaNumericString);
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct SESAMVitaleComponent {
|
||||||
|
pub id: SESAMVitaleComponentID,
|
||||||
|
pub description: SESAMVitaleComponentDescription,
|
||||||
|
pub version: SESAMVitaleComponentVersion,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[deku_derive(DekuRead)]
|
||||||
|
#[derive(Debug, PartialEq)]
|
||||||
|
pub struct ReaderConfiguration {}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub enum ConfigurationError {
|
||||||
|
MultipleConfigurationHeaders,
|
||||||
|
MissingConfigurationHeader,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl fmt::Display for ConfigurationError {
|
||||||
|
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||||
|
match self {
|
||||||
|
ConfigurationError::MultipleConfigurationHeaders => {
|
||||||
|
write!(f, "Multiple ConfigurationHeader blocks found")
|
||||||
|
}
|
||||||
|
ConfigurationError::MissingConfigurationHeader => {
|
||||||
|
write!(f, "Missing ConfigurationHeader block")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Error for ConfigurationError {}
|
||||||
|
|
||||||
|
#[derive(Debug)]
|
||||||
|
pub struct Configuration {
|
||||||
|
pub configuration_header: ConfigurationHeader,
|
||||||
|
pub reader_configurations: Vec<ReaderConfiguration>,
|
||||||
|
pub sesam_vitale_components: Vec<SESAMVitaleComponent>,
|
||||||
|
pub pcsc_readers: Vec<PCSCReader>,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl TryFrom<Vec<DataBlock>> for Configuration {
|
||||||
|
type Error = ConfigurationError;
|
||||||
|
|
||||||
|
fn try_from(data_blocks: Vec<DataBlock>) -> Result<Self, Self::Error> {
|
||||||
|
let mut configuration_header: Option<ConfigurationHeader> = None;
|
||||||
|
let mut reader_configurations: Vec<ReaderConfiguration> = Vec::new();
|
||||||
|
let mut sesam_vitale_components: Vec<SESAMVitaleComponent> = Vec::new();
|
||||||
|
let mut pcsc_readers: Vec<PCSCReader> = Vec::new();
|
||||||
|
|
||||||
|
for block in data_blocks {
|
||||||
|
match block.inner {
|
||||||
|
DataGroup::ConfigurationHeader(header) => {
|
||||||
|
if configuration_header.is_some() {
|
||||||
|
return Err(ConfigurationError::MultipleConfigurationHeaders);
|
||||||
|
}
|
||||||
|
configuration_header = Some(header);
|
||||||
|
}
|
||||||
|
DataGroup::ReaderConfiguration(configuration) => {
|
||||||
|
reader_configurations.push(configuration)
|
||||||
|
}
|
||||||
|
DataGroup::SESAMVitaleComponent(component) => {
|
||||||
|
sesam_vitale_components.push(component);
|
||||||
|
}
|
||||||
|
DataGroup::PCSCReader(reader) => {
|
||||||
|
pcsc_readers.push(reader);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let configuration_header = match configuration_header {
|
||||||
|
Some(header) => header,
|
||||||
|
None => return Err(ConfigurationError::MissingConfigurationHeader),
|
||||||
|
};
|
||||||
|
|
||||||
|
Ok(Self {
|
||||||
|
configuration_header,
|
||||||
|
reader_configurations,
|
||||||
|
sesam_vitale_components,
|
||||||
|
pcsc_readers,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
3
crates/services-sesam-vitale-sys/src/types/mod.rs
Normal file
3
crates/services-sesam-vitale-sys/src/types/mod.rs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
pub mod common;
|
||||||
|
pub mod configuration;
|
||||||
|
// pub mod droits_vitale;
|
Reference in New Issue
Block a user