| Crates.io | libesedb |
| lib.rs | libesedb |
| version | 0.2.7 |
| created_at | 2022-06-02 00:17:58.740436+00 |
| updated_at | 2025-09-10 11:25:42.711671+00 |
| description | A safe Rust API for libesedb |
| homepage | |
| repository | https://github.com/sunsetkookaburra/rust-libesedb |
| max_upload_size | |
| id | 598587 |
| size | 82,884 |
Safe Rust bindings to libyal/libesedb (via libesedb-sys).
use libesedb::EseDb;
fn main() {
let filename = std::env::args()
.nth(1)
.unwrap_or("Catalog1.edb".to_string());
let db = EseDb::open(filename).unwrap();
println!("Db load finished!");
let string = db.table_by_name("string").unwrap();
for rec in string.iter_records().unwrap() {
let rec = rec.unwrap();
let vals = rec.iter_values().unwrap().map(|v| v.unwrap_or_default().to_string()).collect::<Vec<_>>();
println!("{}", vals.join("\t"));
}
}
v0.3.0
close() methods in favour of drop!()Values (store some sort of record reference, similar to current LongValue and MultiValue internally)Values come in either FlatValue, LongValue, MultiValue variants, with a defined ValueTypegit pull any changes from mainversion in Cargo.toml
git add / git commit the version change (and push); e.g. release: libesedb-v0.2.7libesedb-v0.2.7cargo publish --dry-runcargo package --listcargo publishThis project is made available under the LGPL-3.0-or-later.
The time crate (used in FILETIME/OLETIME conversions) is available under the MIT License.
The core functionality that this library binds to is the hard work of Joachim Metz (~joachimmetz).