1
#[cxx::bridge(namespace = "mcrl2::lps")]
2
pub mod ffi {
3

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

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

            
10
        type specification;
11

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

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

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