2 Copyright (C) 2012 Modelon AB
\r
4 This program is free software: you can redistribute it and/or modify
\r
5 it under the terms of the BSD style license.
7 This program is distributed in the hope that it will be useful,
\r
8 but WITHOUT ANY WARRANTY; without even the implied warranty of
\r
9 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
\r
10 FMILIB_License.txt file for more details.
\r
12 You should have received a copy of the FMILIB_License.txt file
\r
13 along with this program. If not, contact Modelon AB <http://www.modelon.com>.
\r
16 #ifndef FMI1_IMPORT_CAPI_H_
\r
17 #define FMI1_IMPORT_CAPI_H_
\r
23 #include <JM/jm_callbacks.h>
\r
24 #include <FMI/fmi_import_util.h>
\r
25 #include <FMI/fmi_import_context.h>
\r
26 /* #include <FMI1/fmi1_xml_model_description.h>*/
\r
28 #include <FMI1/fmi1_types.h>
29 #include <FMI1/fmi1_functions.h>
30 #include <FMI1/fmi1_enums.h>
\r
31 /* #include <FMI1/fmi1_capi.h> */
\r
34 \file fmi1_import_capi.h
35 Wrapper functions for the FMI 1.0 functions
39 * \addtogroup fmi1_import_capi
\r
43 /** \addtogroup fmi1_import_capi_const_destroy FMI 1.0 Constructor and Destructor
\r
44 * \brief Functions for instantiating and freeing the container of the struct that is responsible for the FMI functions.
\r
46 * Before any of the FMI functions may be called, the construction function must instantiate a fmi_import_t module.
\r
47 * After the fmi_import_t module has been succesfully instantiated, all the FMI functions can be called. To unload
\r
48 * the FMI functions, the destroy functions shall be called.
\r
50 * \addtogroup fmi1_import_capi_me FMI 1.0 (ME) Model Exchange functions
\r
51 * \brief List of Model Exchange wrapper functions. Common functions are not listed.
\r
52 * \addtogroup fmi1_import_capi_cs FMI 1.0 (CS) Co-Simulation functions
\r
53 * \brief List of Co-Simulation wrapper functions. Common functions are not listed.
\r
54 * \addtogroup fmi1_import_capi_common FMI 1.0 (ME & CS) Common functions
\r
55 * \brief List of wrapper functions that are in common for both Model Exchange and Co-Simulation.
\r
59 * \addtogroup fmi1_import_capi_const_destroy
\r
64 * \brief Create a C-API struct. The C-API struct is a placeholder for the FMI DLL functions.
\r
66 * This function may only be called once if it returned succesfully. fmi1_import_destroy_dllfmu
\r
67 * must be called before this function can be called again.
\r
69 * @param fmu A model description object returned by fmi1_import_parse_xml().
\r
70 * @param callBackFunctions Callback functions used by the FMI functions internally.
\r
71 * @param registerGlobally Register the FMU globally to enable use of fmi1_log_forwarding(). If this parameter is non-zero the code becomes non-thread safe.
\r
72 * @return Error status. If the function returns with an error, it is not allowed to call any of the other C-API functions.
\r
74 FMILIB_EXPORT jm_status_enu_t fmi1_import_create_dllfmu(fmi1_import_t* fmu, fmi1_callback_functions_t callBackFunctions, int registerGlobally);
76 /** \brief Free a C-API struct. All memory allocated since the struct was created is freed.
\r
78 * @param fmu A model description object returned from fmi1_import_parse_xml().
\r
80 FMILIB_EXPORT void fmi1_import_destroy_dllfmu(fmi1_import_t* fmu);
83 * \brief Set CAPI debug mode flag. Setting to non-zero prevents DLL unloading in fmi1_import_destroy_dllfmu
\r
84 * while all the memory is deallocated. This is to support valgrind debugging.
\r
86 * @param fmu C-API struct that has succesfully loaded the FMI function.
\r
87 * @param mode The debug mode to set.
\r
89 FMILIB_EXPORT void fmi1_import_set_debug_mode(fmi1_import_t* fmu, int mode);
94 * \addtogroup fmi1_import_capi_common
\r
99 * \brief Wrapper for the FMI function fmiGetVersion()
\r
101 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
102 * @return FMI version.
\r
104 FMILIB_EXPORT const char* fmi1_import_get_version(fmi1_import_t* fmu);
107 * \brief Wrapper for the FMI function fmiSetDebugLogging(...)
\r
109 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
110 * @param loggingOn Enable or disable the debug logger.
\r
111 * @return FMI status.
\r
113 FMILIB_EXPORT fmi1_status_t fmi1_import_set_debug_logging(fmi1_import_t* fmu, fmi1_boolean_t loggingOn);
116 * \brief Wrapper for the FMI function fmiSetReal(...)
\r
118 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
119 * @param vr Array of value references.
\r
120 * @param nvr Number of array elements.
\r
121 * @param value Array of variable values.
\r
122 * @return FMI status.
\r
124 FMILIB_EXPORT fmi1_status_t fmi1_import_set_real(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_real_t value[]);
127 * \brief Wrapper for the FMI function fmiSetInteger(...)
\r
129 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
130 * @param vr Array of value references.
\r
131 * @param nvr Number of array elements.
\r
132 * @param value Array of variable values.
\r
133 * @return FMI status.
\r
135 FMILIB_EXPORT fmi1_status_t fmi1_import_set_integer(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_integer_t value[]);
138 * \brief Wrapper for the FMI function fmiSetBoolean(...)
\r
140 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
141 * @param vr Array of value references.
\r
142 * @param nvr Number of array elements.
\r
143 * @param value Array of variable values.
\r
144 * @return FMI status.
\r
146 FMILIB_EXPORT fmi1_status_t fmi1_import_set_boolean(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_boolean_t value[]);
149 * \brief Wrapper for the FMI function fmiSetString(...)
\r
151 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
152 * @param vr Array of value references.
\r
153 * @param nvr Number of array elements.
\r
154 * @param value Array of variable values.
\r
155 * @return FMI status.
\r
157 FMILIB_EXPORT fmi1_status_t fmi1_import_set_string(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_string_t value[]);
161 * \brief Wrapper for the FMI function fmiGetReal(...)
\r
163 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
164 * @param vr Array of value references.
\r
165 * @param nvr Number of array elements.
\r
166 * @param value (Output)Array of variable values.
\r
167 * @return FMI status.
\r
169 FMILIB_EXPORT fmi1_status_t fmi1_import_get_real(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_real_t value[]);
172 * \brief Wrapper for the FMI function fmiGetInteger(...)
\r
174 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
175 * @param vr Array of value references.
\r
176 * @param nvr Number of array elements.
\r
177 * @param value (Output)Array of variable values.
\r
178 * @return FMI status.
\r
180 FMILIB_EXPORT fmi1_status_t fmi1_import_get_integer(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_integer_t value[]);
183 * \brief Wrapper for the FMI function fmiGetBoolean(...)
\r
185 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
186 * @param vr Array of value references.
\r
187 * @param nvr Number of array elements.
\r
188 * @param value (Output)Array of variable values.
\r
189 * @return FMI status.
\r
191 FMILIB_EXPORT fmi1_status_t fmi1_import_get_boolean(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_boolean_t value[]);
194 * \brief Wrapper for the FMI function fmiGetString(...)
\r
196 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
197 * @param vr Array of value references.
\r
198 * @param nvr Number of array elements.
\r
199 * @param value (Output)Array of variable values.
\r
200 * @return FMI status.
\r
202 FMILIB_EXPORT fmi1_status_t fmi1_import_get_string(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, fmi1_string_t value[]);
207 * \addtogroup fmi1_import_capi_me
\r
212 * \brief Wrapper for the FMI function fmiGetModelTypesPlatform(...)
\r
214 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
215 * @return The platform the FMU was compiled for.
\r
217 FMILIB_EXPORT const char* fmi1_import_get_model_types_platform(fmi1_import_t* fmu);
220 * \brief Wrapper for the FMI function fmiInstantiateModel(...)
\r
222 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
223 * @param instanceName The name of the instance.
\r
224 * @return Error status. Returnes jm_status_error if fmiInstantiateModel returned NULL, otherwise jm_status_success.
\r
226 FMILIB_EXPORT jm_status_enu_t fmi1_import_instantiate_model(fmi1_import_t* fmu, fmi1_string_t instanceName);
229 * \brief Wrapper for the FMI function fmiFreeModelInstance(...)
\r
231 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
233 FMILIB_EXPORT void fmi1_import_free_model_instance(fmi1_import_t* fmu);
236 * \brief Wrapper for the FMI function fmiSetTime(...)
\r
238 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
239 * @param time Set the current time.
\r
240 * @return FMI status.
\r
242 FMILIB_EXPORT fmi1_status_t fmi1_import_set_time(fmi1_import_t* fmu, fmi1_real_t time);
245 * \brief Wrapper for the FMI function fmiSetContinuousStates(...)
\r
247 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
248 * @param x Array of state values.
\r
249 * @param nx Number of states.
\r
250 * @return FMI status.
\r
252 FMILIB_EXPORT fmi1_status_t fmi1_import_set_continuous_states(fmi1_import_t* fmu, const fmi1_real_t x[], size_t nx);
255 * \brief Wrapper for the FMI function fmiCompletedIntegratorStep(...)
\r
257 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
258 * @param callEventUpdate (Output) Call fmiEventUpdate indicator.
\r
259 * @return FMI status.
\r
261 FMILIB_EXPORT fmi1_status_t fmi1_import_completed_integrator_step(fmi1_import_t* fmu, fmi1_boolean_t* callEventUpdate);
264 * \brief Wrapper for the FMI function fmiInitialize(...)
\r
266 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
267 * @param toleranceControlled Enable or disable the use of relativeTolerance in the FMU.
\r
268 * @param relativeTolerance A relative tolerance used in the FMU.
\r
269 * @param eventInfo (Output) fmiEventInfo struct.
\r
270 * @return FMI status.
\r
272 FMILIB_EXPORT fmi1_status_t fmi1_import_initialize(fmi1_import_t* fmu, fmi1_boolean_t toleranceControlled, fmi1_real_t relativeTolerance, fmi1_event_info_t* eventInfo);
275 * \brief Wrapper for the FMI function fmiGetDerivatives(...)
\r
277 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
278 * @param derivatives (Output) Array of the derivatives.
\r
279 * @param nx Number of derivatives.
\r
280 * @return FMI status.
\r
282 FMILIB_EXPORT fmi1_status_t fmi1_import_get_derivatives(fmi1_import_t* fmu, fmi1_real_t derivatives[], size_t nx);
285 * \brief Wrapper for the FMI function fmiGetEventIndicators(...)
\r
287 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
288 * @param eventIndicators (Output) The event indicators.
\r
289 * @param ni Number of event indicators.
\r
290 * @return FMI status.
\r
292 FMILIB_EXPORT fmi1_status_t fmi1_import_get_event_indicators(fmi1_import_t* fmu, fmi1_real_t eventIndicators[], size_t ni);
295 * \brief Wrapper for the FMI function fmiEventUpdate(...)
\r
297 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
298 * @param intermediateResults Indicate whether or not the fmiEventUpdate shall return after every internal event interation.
\r
299 * @param eventInfo (Output) An fmiEventInfo struct.
\r
300 * @return FMI status.
\r
302 FMILIB_EXPORT fmi1_status_t fmi1_import_eventUpdate(fmi1_import_t* fmu, fmi1_boolean_t intermediateResults, fmi1_event_info_t* eventInfo);
305 * \brief Wrapper for the FMI function fmiGetContinuousStates(...)
\r
307 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
308 * @param states (Output) Array of state values.
\r
309 * @param nx Number of states.
\r
310 * @return FMI status.
\r
312 FMILIB_EXPORT fmi1_status_t fmi1_import_get_continuous_states(fmi1_import_t* fmu, fmi1_real_t states[], size_t nx);
315 * \brief Wrapper for the FMI function fmiGetNominalContinuousStates(...)
\r
317 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
318 * @param x_nominal (Output) The nominal values.
\r
319 * @param nx Number of nominal values.
\r
320 * @return FMI status.
\r
322 FMILIB_EXPORT fmi1_status_t fmi1_import_get_nominal_continuous_states(fmi1_import_t* fmu, fmi1_real_t x_nominal[], size_t nx);
325 * \brief Wrapper for the FMI function fmiGetStateValueReferences(...)
\r
327 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
328 * @param vrx (Output) The value-references of the states.
\r
329 * @param nx Number of value-references.
\r
330 * @return FMI status.
\r
332 FMILIB_EXPORT fmi1_status_t fmi1_import_get_state_value_references(fmi1_import_t* fmu, fmi1_value_reference_t vrx[], size_t nx);
335 * \brief Wrapper for the FMI function fmiTerminate(...)
\r
337 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
338 * @return FMI status.
\r
340 FMILIB_EXPORT fmi1_status_t fmi1_import_terminate(fmi1_import_t* fmu);
345 * \addtogroup fmi1_import_capi_cs
\r
350 * \brief Wrapper for the FMI function fmiGetTypesPlatform(...)
\r
352 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
353 * @return The platform the FMU was compiled for.
\r
355 FMILIB_EXPORT const char* fmi1_import_get_types_platform(fmi1_import_t* fmu);
358 * \brief Wrapper for the FMI function fmiInstantiateSlave(...)
\r
360 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
361 * @param instanceName The name of the instance.
\r
362 * @param fmuLocation Access path to the FMU archive. If null FMU will get the path to the directory where it was unpacked.
\r
363 * @param mimeType MIME type. If NULL the FMU will get "application/x-fmu-sharedlibrary".
\r
364 * @param timeout Communication timeout value in milli-seconds.
\r
365 * @param visible Indicates whether or not the simulator application window shoule be visible.
\r
366 * @param interactive Indicates whether the simulator application must be manually started by the user.
\r
367 * @return Error status. Returnes jm_status_error if fmiInstantiateSlave returned NULL, otherwise jm_status_success.
\r
369 FMILIB_EXPORT jm_status_enu_t fmi1_import_instantiate_slave(fmi1_import_t* fmu, fmi1_string_t instanceName, fmi1_string_t fmuLocation, fmi1_string_t mimeType,
370 fmi1_real_t timeout, fmi1_boolean_t visible, fmi1_boolean_t interactive);
373 * \brief Wrapper for the FMI function fmiInitializeSlave(...)
\r
375 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
376 * @param tStart Start time of the simulation
\r
377 * @param StopTimeDefined Indicates whether or not the stop time is used.
\r
378 * @param tStop The stop time of the simulation.
\r
379 * @return FMI status.
\r
381 FMILIB_EXPORT fmi1_status_t fmi1_import_initialize_slave(fmi1_import_t* fmu, fmi1_real_t tStart, fmi1_boolean_t StopTimeDefined, fmi1_real_t tStop);
384 * \brief Wrapper for the FMI function fmiTerminateSlave(...)
\r
386 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
387 * @return FMI status.
\r
389 FMILIB_EXPORT fmi1_status_t fmi1_import_terminate_slave(fmi1_import_t* fmu);
392 * \brief Wrapper for the FMI function fmiResetSlave(...)
\r
394 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
395 * @return FMI status.
\r
397 FMILIB_EXPORT fmi1_status_t fmi1_import_reset_slave(fmi1_import_t* fmu);
400 * \brief Wrapper for the FMI function fmiFreeSlaveInstance(...)
\r
402 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
404 FMILIB_EXPORT void fmi1_import_free_slave_instance(fmi1_import_t* fmu);
407 * \brief Wrapper for the FMI function fmiSetRealInputDerivatives(...)
\r
409 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
410 * @param vr Array of value references.
\r
411 * @param nvr Number of array elements.
\r
412 * @param order Array of derivative orders.
\r
413 * @param value Array of variable values.
\r
414 * @return FMI status.
\r
416 FMILIB_EXPORT fmi1_status_t fmi1_import_set_real_input_derivatives(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_integer_t order[], const fmi1_real_t value[]);
419 * \brief Wrapper for the FMI function fmiGetOutputDerivatives(...)
\r
421 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
422 * @param vr Array of value references.
\r
423 * @param nvr Number of array elements.
\r
424 * @param order Array of derivative orders.
\r
425 * @param value (Output) Array of variable values.
\r
426 * @return FMI status.
\r
428 FMILIB_EXPORT fmi1_status_t fmi1_import_get_real_output_derivatives(fmi1_import_t* fmu, const fmi1_value_reference_t vr[], size_t nvr, const fmi1_integer_t order[], fmi1_real_t value[]);
431 * \brief Wrapper for the FMI function fmiCancelStep(...)
\r
433 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
434 * @return FMI status.
\r
436 FMILIB_EXPORT fmi1_status_t fmi1_import_cancel_step(fmi1_import_t* fmu);
439 * \brief Wrapper for the FMI function fmiDoStep(...)
\r
441 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
442 * @param currentCommunicationPoint Current communication point of the master.
\r
443 * @param communicationStepSize Communication step size.
\r
444 * @param newStep Indicates whether or not the last communication step was accepted by the master.
\r
445 * @return FMI status.
\r
447 FMILIB_EXPORT fmi1_status_t fmi1_import_do_step(fmi1_import_t* fmu, fmi1_real_t currentCommunicationPoint, fmi1_real_t communicationStepSize, fmi1_boolean_t newStep);
450 * \brief Wrapper for the FMI function fmiGetStatus(...)
\r
452 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
453 * @param s Kind of status to return the value for.
\r
454 * @param value (Output) FMI status value.
\r
455 * @return FMI status.
\r
457 FMILIB_EXPORT fmi1_status_t fmi1_import_get_status(fmi1_import_t* fmu, const fmi1_status_kind_t s, fmi1_status_t* value);
460 * \brief Wrapper for the FMI function fmiGetRealStatus(...)
\r
462 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
463 * @param s Kind of status to return the value for.
\r
464 * @param value (Output) FMI real value.
\r
465 * @return FMI status.
\r
467 FMILIB_EXPORT fmi1_status_t fmi1_import_get_real_status(fmi1_import_t* fmu, const fmi1_status_kind_t s, fmi1_real_t* value);
470 * \brief Wrapper for the FMI function fmiGetIntegerStatus(...)
\r
472 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
473 * @param s Kind of status to return the value for.
\r
474 * @param value (Output) FMI integer value.
\r
475 * @return FMI status.
\r
477 FMILIB_EXPORT fmi1_status_t fmi1_import_get_integer_status(fmi1_import_t* fmu, const fmi1_status_kind_t s, fmi1_integer_t* value);
480 * \brief Wrapper for the FMI function fmiGetBooleanStatus(...)
\r
482 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
483 * @param s Kind of status to return the value for.
\r
484 * @param value (Output) FMI boolean value.
\r
485 * @return FMI status.
\r
487 FMILIB_EXPORT fmi1_status_t fmi1_import_get_boolean_status(fmi1_import_t* fmu, const fmi1_status_kind_t s, fmi1_boolean_t* value);
490 * \brief Wrapper for the FMI function fmiGetStringStatus(...)
\r
492 * @param fmu A model description object returned by fmi1_import_parse_xml() that has loaded the FMI functions, see fmi1_import_create_dllfmu().
\r
493 * @param s Kind of status to return the value for.
\r
494 * @param value (Output) FMI string value.
\r
495 * @return FMI status.
\r
497 FMILIB_EXPORT fmi1_status_t fmi1_import_get_string_status(fmi1_import_t* fmu, const fmi1_status_kind_t s, fmi1_string_t* value);
\r
507 #endif /* End of header FMI1_IMPORT_CAPI_H_ */
\r