isa-l 0.1.0

Idiomatic bindings to libisal, the Intel(R) Intelligent Storage Acceleration Library
docs.rs failed to build isa-l-0.1.0
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: isa-l-0.2.0

isa-l-rs

Rust bindings to libisal, the Intel(R) Intelligent Storage Acceleration Library

Currently only bindings for Erasure codes are implemented. CRC, Raid, Compression and De-compression might follow later (PRs welcome).

Usage

# Cargo.toml
[dependencies]
isal = "0.1.0"

Building

Building isa-l from source is not yet supported. Version >= 2.14.1 must be installed on the system.

Updating libisal-sys bindings

To update the bindings we use bindgen and update the resulting bindings manually:

  • Install bindgen:
    $ cargo install bindgen
    
  • Install the new version of libisal on the system.
  • Enter the tools directory:
    $ cd tools
    
  • Review wrapper.h and bindgen.sh
  • Generate the new bindings
    $ bindgen.sh > libisal-sys/lib.bindgen.rs
    
  • Merge with old bindings, check docs, update / add tests
    $ vimdiff libisal-sys/lib.bindgen.rs libisal-sys/lib.rs