libesedb_sys/lib.rs
1//! # libesedb-sys
2//!
3//! [](https://github.com/sunsetkookaburra/rust-libesedb)
4//! [](https://github.com/libyal/libesedb)
5//! [](https://crates.io/crates/libesedb-sys)
6//! [](https://docs.rs/libesedb-sys)
7//! [](https://github.com/sunsetkookaburra/rust-libesedb/blob/main/COPYING.LESSER)
8//!
9//! Rust `-sys` bindings to [`libyal/libesedb`](https://github.com/libyal/libesedb).
10//!
11//! ## Building
12//!
13//! * Have a compiler installed (if you're using Rust, you have one).
14//! * (Optionally) LLVM for `bindgen` to regenerate the bindings.
15//! * Should use `cargo build -vv` for very verbose output to verify `cc` compiling.
16//!
17//! ## Rebuilding Bindings
18//!
19//! ```
20//! bindgen libesedb-20230824/include/libesedb.h -o src/bindings.rs -- -Ilibesedb-20210424/include -fparse-all-comments
21//! ```
22//!
23//! ## Configuring Max Leaf-Pages
24//!
25//! Note: the original value of `16 * 1024` has been increased to `32 * 1024` in order for a FileHistory `Catalog*.edb` of at least 330MB to load.
26//!
27//! Via the command-line:
28//!
29//! ```
30//! LIBESEDB_MAXIMUM_NUMBER_OF_LEAF_PAGES="32 * 1024" cargo build -vv
31//! ```
32//!
33//! In your Cargo.toml:
34//!
35//! ```
36//! [env]
37//! LIBESEDB_MAXIMUM_NUMBER_OF_LEAF_PAGES = "32 * 1024"
38//! ```
39//!
40//! ## Updating Bundled libesedb
41//!
42//! * Download/Clone head of the `main` branch
43//! * `git clone --branch main --depth 1 https://github.com/libyal/libesedb`
44//! * <https://github.com/libyal/libesedb/archive/refs/heads/main.zip>
45//! * Follow Build Instructions <https://github.com/libyal/libesedb/wiki/Building>
46//! * Run the following
47//! * `./synclibs.sh`
48//! * `./autogen.sh`
49//! * `./configure`
50//! * `make dist`
51//! * Output should include a `.tar.gz` containing the source distribution version
52//! * Note: I used Cygwin on Windows, you will need the packages mentioned here: <https://github.com/libyal/libesedb/wiki/Building#cygwin>
53//!
54//!
55//! ## Authors
56//!
57//! ```
58//! libesedb
59//! Copyright (C) 2009-2021, Joachim Metz <joachim.metz@gmail.com>
60//!
61//! libesedb-sys
62//! Copyright (C) 2022-2023, Oliver Lenehan ~sunsetkookaburra
63//! ```
64//!
65//! ## License
66//!
67//! * [`libyal/libesedb`](https://github.com/libyal/libesedb) is the hard work of [`Joachim Metz (~joachimmetz)`](https://github.com/joachimmetz), available under the [LGPL-3.0-or-later](./COPYING.LESSER). A distribution version of the library is bundled here.
68//! * This `-sys` binding is also made available under the [LGPL-3.0-or-later](./COPYING.LESSER).
69
70#![allow(non_upper_case_globals)]
71#![allow(non_camel_case_types)]
72#![allow(non_snake_case)]
73#![allow(deref_nullptr)]
74
75include!("bindings.rs");