dvbv5_sys/
lib.rs

1/*
2 *  libdvbv5-sys — a Rust FFI binding for the libdvbv5 library from V4L2.
3 *
4 *  Copyright © 2019, 2020  Russel Winder
5 *
6 *  This program is free software: you can redistribute it and/or modify
7 *  it under the terms of the GNU General Public License as published by
8 *  the Free Software Foundation, either version 3 of the License, or
9 *  (at your option) any later version.
10 *
11 *  This program is distributed in the hope that it will be useful,
12 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 *  GNU General Public License for more details.
15 *
16 *  You should have received a copy of the GNU General Public License
17 *  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20//! This crate provides a Rust binding to the C API of the
21//! [libdvbv5 library](https://linuxtv.org/docs/libdvbv5/) that is part of the
22//! [V4L2 project](https://linuxtv.org/wiki/index.php/V4l-utils) that is part of the
23//! [Linux TV](https://linuxtv.org/) effort.
24//!
25//! Linux has kernel level support for DVB devices. Working with them using the
26//! system calls required is not easy. libdvbv5 provides an abstraction/middleware
27//! layer over the kernel support to make working with DVB devices much easier.
28//! The library is though focused on providing support for C programmers.
29//!
30//! This crate provides the Rust FFI to the C API of libdvbv5. See the
31//! [dvbv5 crate](https://gitlab.com/Russel/rust-libdvbv5)
32//! for various abstractions over the FFI to support Rust programmers.
33//!
34//! The binding is automatically generated using
35//! [Bindgen](https://rust-lang.github.io/rust-bindgen/) so there isn't that much
36//! in the way of detailed Rust focused documentation. There is always the
37//! [C API documentation](https://linuxtv.org/docs/libdvbv5/) of course, but remember
38//! (obviously) it is very C focused!
39
40#![allow(non_upper_case_globals)]
41#![allow(non_camel_case_types)]
42#![allow(non_snake_case)]
43
44mod ffi;
45pub use ffi::*;
46
47mod dvb_file_free;
48pub use dvb_file_free::*;
49
50mod debug;
51pub use debug::*;
52
53mod ffi_tests;