]> gerrit.simantics Code Review - simantics/fmil.git/blobdiff - org.simantics.fmil.core/native/FMILibrary/Test/FMI1/fmu_dummy/fmu1_model_cs.c
Add FMILibrary-2.0.3 to org.simantics.fmil.core\native.
[simantics/fmil.git] / org.simantics.fmil.core / native / FMILibrary / Test / FMI1 / fmu_dummy / fmu1_model_cs.c
diff --git a/org.simantics.fmil.core/native/FMILibrary/Test/FMI1/fmu_dummy/fmu1_model_cs.c b/org.simantics.fmil.core/native/FMILibrary/Test/FMI1/fmu_dummy/fmu1_model_cs.c
new file mode 100644 (file)
index 0000000..96ef061
--- /dev/null
@@ -0,0 +1,163 @@
+/*\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