mcrl2_sys/
lps.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#[cxx::bridge(namespace = "mcrl2::lps")]
pub mod ffi {

    unsafe extern "C++" {
        include!("mcrl2-sys/cpp/lps/lps.h");

        #[namespace = "mcrl2::data"]
        type data_specification = crate::data::ffi::data_specification;

        type specification;

        /// Reads a .lps file and returns the resulting linear process specification.
        fn read_linear_process_specification(filename: &str) -> Result<UniquePtr<specification>>;

        /// Converts a linear process specification to a string.
        fn print_linear_process_specification(spec: &specification) -> String;

        /// Obtains the related data specification
        fn get_data_specification(spec: &specification) -> UniquePtr<data_specification>;
    }
}