dlt-sys
Low-level FFI bindings to the COVESA DLT (Diagnostic Log and Trace) C library (
libdlt).
Overview
dlt-sys provides unsafe Rust bindings to the COVESA DLT daemon C library.
This crate is intended to be used as a foundation for higher-level safe Rust abstractions (see dlt-rs).
Please note that this is only implements functionality required for dlt-rs and does not cover the entire libdlt API.
Features
- Direct FFI bindings to
libdltfunctions - Custom C wrapper for improved API ergonomics
- Support for all DLT log levels and message types
- Optional
trace_load_ctrlfeature for load control support
Prerequisites
- libdlt and its development headers must be installed on your system.
Usage
This is a low-level crate with unsafe APIs. Most users should use dlt-rs instead for a safe, idiomatic Rust API.
Features
trace_load_ctrl- Enable DLT load control support (may be required in some environments, depending on the DLT build time daemon configuration)generate-bindings- Regenerate bindings from C headers (development only)
Safety
All functions in this crate are unsafe as they directly call C library functions. Proper usage requires understanding of:
- DLT library initialization and cleanup
- Memory management across FFI boundaries
- Thread safety considerations
For safe abstractions, use the
dlt-rscrate.
License
Licensed under the Apache License, Version 2.0. See LICENSE for details.
Contributing
This project is part of Eclipse OpenSOVD, but can be used independently. See CONTRIBUTING.md for guidelines.