eric-bindings 0.1.1

Rust bindings for the ELSTER Rich Client (ERiC)
docs.rs failed to build eric-bindings-0.1.1
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: eric-bindings-0.5.0

Eric

Rust bindings and SDK for the ELSTER Rich Client (ERiC)

What is ELSTER?

Elster (short for Elektronische Steuererklärung) is a project by the German tax administrations to process tax returns and declarations.

What is ERiC?

ERiC is a C library that is integrated into a tax application. ERiC checks the data supplied by the tax application for plausibility, and transmits the data encrypted to the computing center of the respective tax administration.

Requirements

You need to have the shared library libericapi.so and the header file ericapi.h available on your system which can be downloaded from ELSTER for developers after access has been requested here.

For generating the bindings on your platform and architecture, you need libclang as well. For example, on Debian/Ubuntu install:

apt install llvm-dev libclang-dev clang

Rust bindings

Generate bindings

The environment variables LIBRARY_NAME, LIBRARY_PATH, HEADER_FILE, and PLUGIN_PATH are expected. For example:

LIBRARY_NAME=ericapi
LIBRARY_PATH=ERiC-38.1.6.0-Linux-x86_64/ERiC-38.1.6.0/Linux-x86_64/lib
HEADER_FILE=ERiC-38.1.6.0-Linux-x86_64/ERiC-38.1.6.0/Linux-x86_64/include/ericapi.h
PLUGIN_PATH=ERiC-38.1.6.0-Linux-x86_64/ERiC-38.1.6.0/Linux-x86_64/lib/plugins2

The bindings have to be generated on-the-fly for your specific platform and architecture:

cargo build -p eric-bindings # Build bindings in debug mode

The bindings are generated in target/debug/build/eric-bindings-<random-id>/out/bindings.rs.

Test bindings

The bindings are included in src/lib.rs via include! macro and tested by:

cargo test -p eric-bindings --lib

Logs are written to eric.log in the current directory.