--- /dev/null
+/*\r
+Copyright (C) 2012 Modelon AB\r
+\r
+This program is free software: you can redistribute it and/or modify\r
+it under the terms of the BSD style license.
+\r
+the Free Software Foundation, version 3 of the License.\r
+\r
+This program is distributed in the hope that it will be useful,\r
+but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r
+FMILIB_License.txt file for more details.\r
+\r
+You should have received a copy of the FMILIB_License.txt file\r
+along with this program. If not, contact Modelon AB <http://www.modelon.com>.\r
+*/\r
+\r
+#include <string.h>\r
+\r
+\r
+\r
+#if __GNUC__ >= 4\r
+ #pragma GCC visibility push(default)\r
+#endif\r
+\r
+/* Standard FMI 1.0 ME and CS types */\r
+#include <FMI1/fmiPlatformTypes.h>\r
+#include <FMI1/fmiFunctions.h>\r
+\r
+#include <fmu_dummy/fmu1_model.h>\r
+#include "config_test.h"\r
+#define MODEL_IDENTIFIER FMU_DUMMY_CS_MODEL_IDENTIFIER\r
+\r
+#include "fmu1_model.c"\r
+\r
+\r
+\r
+/* FMI 1.0 Common Functions */\r
+DllExport const char* fmiGetVersion()\r
+{\r
+ return fmi_get_version();\r
+}\r
+\r
+DllExport fmiStatus fmiSetDebugLogging(fmiComponent c, fmiBoolean loggingOn)\r
+{\r
+ return fmi_set_debug_logging(c, loggingOn);\r
+}\r
+\r
+DllExport fmiStatus fmiGetReal(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[])\r
+{\r
+ return fmi_get_real(c, vr, nvr, value);\r
+}\r
+\r
+DllExport fmiStatus fmiGetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[])\r
+{\r
+ return fmi_get_integer(c, vr, nvr, value);\r
+}\r
+\r
+DllExport fmiStatus fmiGetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[])\r
+{\r
+ return fmi_get_boolean(c, vr, nvr, value);\r
+}\r
+\r
+DllExport fmiStatus fmiGetString(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[])\r
+{\r
+ return fmi_get_string(c, vr, nvr, value);\r
+}\r
+\r
+DllExport fmiStatus fmiSetReal(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[])\r
+{\r
+ return fmi_set_real(c, vr, nvr, value);\r
+}\r
+\r
+DllExport fmiStatus fmiSetInteger(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[])\r
+{\r
+ return fmi_set_integer(c, vr, nvr, value);\r
+}\r
+\r
+DllExport fmiStatus fmiSetBoolean(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[])\r
+{\r
+ return fmi_set_boolean(c, vr, nvr, value);\r
+}\r
+\r
+DllExport fmiStatus fmiSetString(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[])\r
+{\r
+ return fmi_set_string(c, vr, nvr, value);\r
+}\r
+\r
+/* FMI 1.0 CS Functions */\r
+DllExport const char* fmiGetTypesPlatform()\r
+{\r
+ return fmi_get_types_platform();\r
+}\r
+\r
+DllExport fmiComponent fmiInstantiateSlave(fmiString instanceName, fmiString fmuGUID, fmiString fmuLocation, fmiString mimeType, fmiReal timeout, fmiBoolean visible, fmiBoolean interactive, fmiCallbackFunctions functions, fmiBoolean loggingOn)\r
+{\r
+ return fmi_instantiate_slave(instanceName, fmuGUID, fmuLocation, mimeType, timeout, visible, interactive, functions, loggingOn);\r
+}\r
+\r
+DllExport fmiStatus fmiInitializeSlave(fmiComponent c, fmiReal tStart, fmiBoolean StopTimeDefined, fmiReal tStop)\r
+{\r
+ return fmi_initialize_slave(c, tStart, StopTimeDefined, tStop);\r
+}\r
+\r
+DllExport fmiStatus fmiTerminateSlave(fmiComponent c)\r
+{\r
+ return fmi_terminate_slave(c);\r
+}\r
+\r
+DllExport fmiStatus fmiResetSlave(fmiComponent c)\r
+{\r
+ return fmi_reset_slave(c);\r
+}\r
+\r
+DllExport void fmiFreeSlaveInstance(fmiComponent c)\r
+{\r
+ fmi_free_slave_instance(c);\r
+}\r
+\r
+DllExport fmiStatus fmiSetRealInputDerivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger order[], const fmiReal value[])\r
+{\r
+ return fmi_set_real_input_derivatives(c, vr, nvr, order, value);\r
+}\r
+\r
+DllExport fmiStatus fmiGetRealOutputDerivatives(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger order[], fmiReal value[])\r
+{\r
+ return fmi_get_real_output_derivatives(c, vr, nvr, order, value);\r
+}\r
+\r
+DllExport fmiStatus fmiCancelStep(fmiComponent c)\r
+{\r
+ return fmi_cancel_step(c);\r
+}\r
+\r
+DllExport fmiStatus fmiDoStep(fmiComponent c, fmiReal currentCommunicationPoint, fmiReal communicationStepSize, fmiBoolean newStep)\r
+{\r
+ return fmi_do_step(c, currentCommunicationPoint, communicationStepSize, newStep);\r
+}\r
+\r
+DllExport fmiStatus fmiGetStatus(fmiComponent c, const fmiStatusKind s, fmiStatus* value)\r
+{\r
+ return fmi_get_status(c, s, value);\r
+}\r
+\r
+DllExport fmiStatus fmiGetRealStatus(fmiComponent c, const fmiStatusKind s, fmiReal* value)\r
+{\r
+ return fmi_get_real_status(c, s, value);\r
+}\r
+\r
+DllExport fmiStatus fmiGetIntegerStatus(fmiComponent c, const fmiStatusKind s, fmiInteger* value)\r
+{\r
+ return fmi_get_integer_status(c, s, value);\r
+}\r
+\r
+DllExport fmiStatus fmiGetBooleanStatus(fmiComponent c, const fmiStatusKind s, fmiBoolean* value)\r
+{\r
+ return fmi_get_boolean_status(c, s, value);\r
+}\r
+\r
+DllExport fmiStatus fmiGetStringStatus(fmiComponent c, const fmiStatusKind s, fmiString* value)\r
+{\r
+ return fmi_get_string_status(c, s, value);\r
+}\r