stdiobus-ffi 1.1.1

FFI bindings to libstdio_bus C library for stdio_bus transport layer
Documentation

stdiobus-ffi

Crates.io License

FFI bindings to libstdio_bus C library.

This crate provides raw, unsafe FFI bindings to the stdio_bus C library. Most users should use stdiobus-client with the native feature instead.

Prerequisites

Requires libstdio_bus.a built from the main stdio_bus repository:

git clone https://github.com/stdiobus/stdiobus-rust
cd stdiobus-rust
make lib

Installation

[dependencies]
stdiobus-ffi = "1.0"

Set environment variables for linking:

export STDIO_BUS_LIB_DIR=/path/to/stdiobus/build

Usage

use stdiobus_ffi::*;

unsafe {
    let mut opts = stdio_bus_options_t::default();
    opts.config_path = c"config.json".as_ptr();
    
    let bus = stdio_bus_create(&opts);
    if !bus.is_null() {
        stdio_bus_start(bus);
        // ...
        stdio_bus_destroy(bus);
    }
}

Safety

All functions in this crate are unsafe. Use stdiobus-client for a safe API.

License

Apache-2.0