libesedb-sys

Crates.iolibesedb-sys
lib.rslibesedb-sys
version0.2.1
created_at2022-06-02 00:16:03.244438+00
updated_at2025-06-15 08:39:50.922461+00
descriptionlibesedb FFI bindings for Rust
homepage
repositoryhttps://github.com/sunsetkookaburra/rust-libesedb
max_upload_size
id598586
size14,915,665
Oli Lenehan (sunsetkookaburra)

documentation

https://docs.rs/libesedb-sys

README

libesedb-sys

Repository Upstream Crate Page Documentation License

Rust -sys bindings to libyal/libesedb.

Building

  • Have a compiler installed (if you're using Rust, you have one).
  • (Optionally) LLVM for bindgen to regenerate the bindings.
  • Should use cargo build -vv for very verbose output to verify cc compiling.

Rebuilding Bindings

bindgen libesedb-20230824/include/libesedb.h -o src/bindings.rs -- -Ilibesedb-20230824/include -fparse-all-comments

Downstream Patches

Bugfix: Multi-Value Binary Data

https://github.com/libyal/libesedb/pull/69

QoL: Maximum Leaf-Pages

Note: the original value of 16 * 1024 has been increased as far as possible to (INT_MAX - 1) in order for large databases to load. In my testing the value makes no meaningful difference beyond limiting the sorts/sizes of files you can open.

Via the command-line:

LIBESEDB_MAXIMUM_NUMBER_OF_LEAF_PAGES="32 * 1024" cargo build -vv

In your Cargo.toml:

[env]
LIBESEDB_MAXIMUM_NUMBER_OF_LEAF_PAGES = "32 * 1024"

QoL: Counting Leaf-Pages

If you do set a leaf-page maximum, when it is exceeded the error message actually reports back that limit so anyone downstream can provide useful debugging information.

Updating Bundled libesedb

Authors

libesedb
Copyright (C) 2009-2023, Joachim Metz <joachim.metz@gmail.com>

libesedb-sys
Copyright (C) 2022-2025, Oliver Lenehan ~sunsetkookaburra

License

Commit count: 52

cargo fmt