1 unstable release

Uses old Rust 2015

0.1.0 Jul 17, 2018

#11 in #linkage

GPL-2.0 license

11KB
117 lines

libnftables Rust Bindings

License: GPL-2.0 Build Status Crates.io Version

The libnftables-sys crate provides declarations and linkage for the libnftables C library. The libnftables-sys crate provides minimal abstractions over the native libnftables library functions.

Dependencies

In order to use the libnftables-sys crate, you must have the libnftables library installed.

Usage

Add libnftables-sys as a dependency in Cargo.toml:

[dependencies]
libnftables-sys = "0.1"

Import the libnftables_sys crate and use the functions as they're defined in the native libnftables library. You can also use the Nftables struct, a very thin layer on top of the native functions.

extern crate libnftables_sys;
use libnftables_sys::*;

fn main() {
    let mut nft = Nftables::new();

    let cmd = CStr::from_bytes_with_nul(b"list ruleset\0").unwrap();
    let (rc,output,error) = nft.run_cmd(cmd.as_ptr());
}

See the examples directory for complete examples.

License

This crate has the same license as libnftables, which is GPL version 2 only.

Dependencies

~0.1–2MB
~40K SLoC