Skip to main content

dittolive_ditto_sys/
lib.rs

1//! Manually Generated DittoFFI Bindings
2//!
3//! These must be updated when dittoffi changes
4#![allow(improper_ctypes_definitions)] // See issue https://github.com/getditto/safer_ffi/issues/31
5#![warn(rust_2018_idioms)]
6#![allow(clippy::all)]
7#![warn(clippy::correctness)]
8#![cfg_attr(not(test), warn(clippy::perf))]
9#![deny(unsafe_op_in_unsafe_fn)]
10#![recursion_limit = "256"]
11#![cfg_attr(
12    doc,
13    warn(
14        rustdoc::bare_urls,
15        rustdoc::broken_intra_doc_links,
16        rustdoc::invalid_codeblock_attributes,
17        rustdoc::invalid_rust_codeblocks,
18        rustdoc::missing_crate_level_docs,
19    )
20)]
21#![allow(clippy::disallowed_macros)]
22
23#[macro_use]
24extern crate macro_rules_attribute;
25
26#[rustfmt::skip]
27use {
28    ::std::{
29        fmt,
30        os::raw::{c_double, c_int, c_uint, c_ulonglong, c_void},
31    },
32    self::ffi_utils::{
33        c_slice, char_p, extern_type_polyfill, repr_c as c,
34        FfiDropBox, NonOpaque, Out,
35    }
36};
37
38pub mod ffi_utils;
39
40pub use dittoffi::*;
41mod dittoffi;
42
43#[cfg(test)]
44mod test {
45    use super::*;
46
47    /// Minimal test to force cargo/rustc to attempt to link to
48    /// libdittoffi
49    // This should not use ditto_test as it is public
50    #[test]
51    fn test_linking() {
52        ditto_logger_init();
53    }
54}