# icsneoc2-rs
Rust bindings to [libicsneo](libicsneoc2-sys/libicsneo) for communicating with [Intrepid Control Systems](https://intrepidcs.com/) vehicle network adapters.
```
cargo add icsneoc2 --features vendored
```
## Crates
| [icsneoc2](https://crates.io/crates/icsneoc2) | High-level safe Rust interface |
| [libicsneoc2-sys](https://crates.io/crates/libicsneoc2-sys) | Raw FFI bindings to the icsneoc2 C API |
## Version of libicsneo
Currently this library requires libicsneo 1.2.2 (or newer patch versions). The
source for libicsneo is included in the libicsneoc2-sys crate as a git submodule so
there's no need to pre-install the library — enable the `vendored` feature and
the build script will compile it for you. CMake and Ninja are required for the
vendored build.
Without the `vendored` feature, you must supply a pre-built `libicsneoc2` shared
library and point the build to it with the `ICSNEOC2_LIB_DIR` environment
variable.
## Building icsneoc2-rs
```sh
git clone --recurse-submodules https://github.com/intrepidcs/icsneoc2-rs
cd icsneoc2-rs
cargo build --features vendored
```
If you've already cloned without `--recurse-submodules`:
```sh
git submodule update --init
cargo build --features vendored
```
## License
This project is licensed under the BSD-3-Clause license. See [LICENSE](LICENSE) for details.