coolprop-sys 6.8.0

Raw FFI bindings to CoolProp
Documentation
#ifndef COOLPROPDLL_H
#define COOLPROPDLL_H

#if _WIN64
#    define __ISWINDOWS__
#elif _WIN32
#    define __ISWINDOWS__
#elif __APPLE__
#    define __ISAPPLE__
#elif __linux || __unix || __posix
#    define __ISLINUX__
#elif __powerpc__
#    define __ISPOWERPC__
#else
#    pragma error
#endif

#if defined(COOLPROP_LIB)
#    ifndef EXPORT_CODE
#        if defined(__ISWINDOWS__)
#            define EXPORT_CODE extern "C" __declspec(dllexport)
#        else
#            define EXPORT_CODE extern "C"
#        endif
#    endif
#    ifndef CONVENTION
#        if defined(__ISWINDOWS__)
#            define CONVENTION __stdcall
#        else
#            define CONVENTION
#        endif
#    endif
#else
#    ifndef EXPORT_CODE
#        define EXPORT_CODE
#    endif
#    ifndef CONVENTION
#        define CONVENTION
#    endif
#endif

#if defined(__powerpc__) || defined(EXTERNC)
#    undef EXPORT_CODE
#    define EXPORT_CODE extern "C"
#endif

#if defined(__powerpc__)

inline void __assert(const char* error) {
    while (1)
        ;
}
#endif

EXPORT_CODE double CONVENTION Props1SI(const char* FluidName, const char* Output);

EXPORT_CODE void CONVENTION Props1SImulti(const char* Outputs, char* backend, const char* FluidNames, const double* fractions, const long length_fractions, double* result, long* resdim1);

EXPORT_CODE double CONVENTION PropsSI(const char* Output, const char* Name1, double Prop1, const char* Name2, double Prop2, const char* Ref);

EXPORT_CODE void CONVENTION PropsSImulti(const char* Outputs, const char* Name1, double* Prop1, const long size_Prop1, const char* Name2, double* Prop2, const long size_Prop2, char* backend, const char* FluidNames, const double* fractions, const long length_fractions, double* result, long* resdim1, long* resdim2);

EXPORT_CODE long CONVENTION PhaseSI(const char* Name1, double Prop1, const char* Name2, double Prop2, const char* Ref, char* phase, int n);

EXPORT_CODE long CONVENTION get_global_param_string(const char* param, char* Output, int n);

EXPORT_CODE long CONVENTION get_parameter_information_string(const char* key, char* Output, int n);

EXPORT_CODE long CONVENTION get_fluid_param_string(const char* fluid, const char* param, char* Output, int n);

EXPORT_CODE void CONVENTION set_config_string(const char* key, const char* val);

EXPORT_CODE void CONVENTION set_config_double(const char* key, const double val);

EXPORT_CODE void CONVENTION set_departure_functions(const char* string_data, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE int CONVENTION set_reference_stateS(const char* Ref, const char* reference_state);

EXPORT_CODE int CONVENTION set_reference_stateD(const char* Ref, double T, double rhomolar, double hmolar0, double smolar0);

EXPORT_CODE void CONVENTION propssi_(const char* Output, const char* Name1, const double* Prop1, const char* Name2, const double* Prop2, const char* Ref, double* output);

EXPORT_CODE double CONVENTION F2K(double T_F);

EXPORT_CODE double CONVENTION K2F(double T_K);

EXPORT_CODE long CONVENTION get_param_index(const char* param);

EXPORT_CODE long CONVENTION get_input_pair_index(const char* param);

EXPORT_CODE long CONVENTION redirect_stdout(const char* file);

EXPORT_CODE int CONVENTION get_debug_level();

EXPORT_CODE void CONVENTION set_debug_level(int level);

EXPORT_CODE double CONVENTION saturation_ancillary(const char* fluid_name, const char* output, int Q, const char* input, double value);

EXPORT_CODE double CONVENTION HAPropsSI(const char* Output, const char* Name1, double Prop1, const char* Name2, double Prop2, const char* Name3, double Prop3);

EXPORT_CODE double CONVENTION cair_sat(double T);

EXPORT_CODE void CONVENTION hapropssi_(const char* Output, const char* Name1, const double* Prop1, const char* Name2, const double* Prop2, const char* Name3, const double* Prop3, double* output);

EXPORT_CODE double CONVENTION HAProps(const char* Output, const char* Name1, double Prop1, const char* Name2, double Prop2, const char* Name3, double Prop3);

EXPORT_CODE void CONVENTION haprops_(const char* Output, const char* Name1, const double* Prop1, const char* Name2, const double* Prop2, const char* Name3, const double* Prop3, double* output);

EXPORT_CODE long CONVENTION AbstractState_factory(const char* backend, const char* fluids, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_fluid_names(const long handle, char* fluids, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_free(const long handle, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_set_fractions(const long handle, const double* fractions, const long N, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_get_mole_fractions(const long handle, double* fractions, const long maxN, long* N, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_get_mole_fractions_satState(const long handle, const char* saturated_state, double* fractions, const long maxN, long* N, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_get_fugacity(const long handle, const long i, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_get_fugacity_coefficient(const long handle, const long i, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_update(const long handle, const long input_pair, const double value1, const double value2, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_specify_phase(const long handle, const char* phase, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_unspecify_phase(const long handle, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_keyed_output(const long handle, const long param, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_first_saturation_deriv(const long handle, const long Of, const long Wrt, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_first_partial_deriv(const long handle, const long Of, const long Wrt, const long Constant, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_second_two_phase_deriv(const long handle, const long Of1, const long Wrt1, const long Constant1, const long Wrt2, const long Constant2, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_second_partial_deriv(const long handle, const long Of1, const long Wrt1, const long Constant1, const long Wrt2, const long Constant2, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_first_two_phase_deriv_splined(const long handle, const long Of, const long Wrt, const long Constant, const double x_end,long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_first_two_phase_deriv(const long handle, const long Of, const long Wrt, const long Constant, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_update_and_common_out(const long handle, const long input_pair, const double* value1, const double* value2, const long length, double* T, double* p, double* rhomolar, double* hmolar, double* smolar, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_update_and_1_out(const long handle, const long input_pair, const double* value1, const double* value2, const long length, const long output, double* out, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_update_and_5_out(const long handle, const long input_pair, const double* value1, const double* value2, const long length, long* outputs, double* out1, double* out2, double* out3, double* out4, double* out5, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_set_binary_interaction_double(const long handle, const long i, const long j, const char* parameter, const double value, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_set_cubic_alpha_C(const long handle, const long i, const char* parameter, const double c1, const double c2, const double c3, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_set_fluid_parameter_double(const long handle, const long i, const char* parameter, const double value, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_build_phase_envelope(const long handle, const char* level, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_get_phase_envelope_data(const long handle, const long length, double* T, double* p, double* rhomolar_vap, double* rhomolar_liq, double* x, double* y, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_get_phase_envelope_data_checkedMemory(const long handle, const long length, const long maxComponents, double* T, double* p, double* rhomolar_vap, double* rhomolar_liq, double* x, double* y, long* actual_length, long* actual_components, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_build_spinodal(const long handle, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_get_spinodal_data(const long handle, const long length, double* tau, double* delta, double* M1, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_all_critical_points(const long handle, const long length, double* T, double* p, double* rhomolar, long* stable, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_keyed_output_satState(const long handle, const char* saturated_state, const long param, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_backend_name(const long handle, char* backend, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION AbstractState_fluid_param_string(const long handle, const char* param, char* return_buffer, const long return_buffer_length, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE int CONVENTION AbstractState_phase(const long handle, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_saturated_liquid_keyed_output(const long handle, const long param, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE double CONVENTION AbstractState_saturated_vapor_keyed_output(const long handle, const long param, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE void CONVENTION add_fluids_as_JSON(const char* backend, const char* fluidstring, long* errcode, char* message_buffer, const long buffer_length);

EXPORT_CODE int CONVENTION C_is_valid_fluid_string(const char* fluidName);

EXPORT_CODE int CONVENTION C_extract_backend(const char* fluid_string, char* backend, const long backend_length, char* fluid, const long fluid_length);

#endif