# uldaq-sys
Raw FFI bindings to the [uldaq](https://github.com/mccdaq/uldaq) C++ library,
used for interfacing with Measurement Computing / Data Translation DAQ devices
(e.g. the DT9837 series) on Linux.
This crate is the low-level companion of the safe [`uldaqrs`](../uldaqrs)
crate. It is not intended to be used directly. For a safe, ergonomic API,
see `uldaqrs`.
## Building
This crate compiles and statically links the uldaq library from the vendored
source in `uldaq/` (MIT licensed, Copyright (c) 2018 Measurement Computing).
The vendored copy can be refreshed with the `vendor-uldaq.sh` script in the
repository root.
Prerequisites:
- `libusb-1.0` (headers and library). On Debian/Ubuntu:
`sudo apt install libusb-1.0-0-dev`
- A C++14 compiler.
## Regenerating the bindings
The bindings in `src/lib.rs` are generated at build time by `bindgen` from
`uldaq/src/uldaq.h`; no manual editing is required.