use std::os::raw::{c_char, c_double, c_long};
unsafe extern "C" {
pub fn AbstractState_factory(
backend: *const c_char,
fluids: *const c_char,
errcode: *mut c_long,
message_buffer: *mut c_char,
buffer_length: c_long,
) -> c_long;
pub fn AbstractState_free(
handle: c_long,
errcode: *mut c_long,
message_buffer: *mut c_char,
buffer_length: c_long,
);
pub fn AbstractState_update(
handle: c_long,
input_pair: c_long,
value1: c_double,
value2: c_double,
errcode: *mut c_long,
message_buffer: *mut c_char,
buffer_length: c_long,
);
pub fn AbstractState_keyed_output(
handle: c_long,
param: c_long,
errcode: *mut c_long,
message_buffer: *mut c_char,
buffer_length: c_long,
) -> c_double;
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct InputPair(c_long);
impl InputPair {
pub const DMASS_T: Self = Self(10);
pub const PT: Self = Self(9);
pub const HMASS_P: Self = Self(20);
pub const PS_MASS: Self = Self(22);
pub const HMASS_SMASS: Self = Self(26);
pub const fn as_c_long(self) -> c_long {
self.0
}
}
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub struct OutputParam(c_long);
impl OutputParam {
pub const MOLAR_MASS: Self = Self(2);
pub const T: Self = Self(19);
pub const P: Self = Self(20);
pub const DMASS: Self = Self(39);
pub const HMASS: Self = Self(40);
pub const SMASS: Self = Self(41);
pub const CP_MASS: Self = Self(42);
pub const CV_MASS: Self = Self(44);
pub const UMASS: Self = Self(45);
pub const fn as_c_long(self) -> c_long {
self.0
}
}