libnftables1-sys 0.1.0

FFI bindings for libnftables1.
# Source
Stolen with pride from https://github.com/chifflier/libnftables-sys and updated
for libnftables1.

# libnftables Rust Bindings

[![License: GPL-2.0](https://img.shields.io/badge/License-GPL%202.0-yellow.svg)](./LICENSE)
[![Build Status](https://travis-ci.org/chifflier/libnftables-sys.svg?branch=master)](https://travis-ci.org/chifflier/libnftables-sys)
[![Crates.io Version](https://img.shields.io/crates/v/libnftables-sys.svg)](https://crates.io/crates/libnftables-sys)

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`:

```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.

```rust
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](examples/) directory for complete examples.

## License

This crate has the same license as
[libnftables](https://netfilter.org/projects/nftables/), which is GPL version 2
only.