]> gerrit.simantics Code Review - simantics/fmil.git/blobdiff - org.simantics.fmil.core/native/FMILibrary/Test/FMI1/fmu_dummy/fmu1_model.h
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.h
diff --git a/org.simantics.fmil.core/native/FMILibrary/Test/FMI1/fmu_dummy/fmu1_model.h b/org.simantics.fmil.core/native/FMILibrary/Test/FMI1/fmu_dummy/fmu1_model.h
new file mode 100644 (file)
index 0000000..261e046
--- /dev/null
@@ -0,0 +1,270 @@
+/*\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
+#ifndef FM1_MODEL_H_\r
+#define FM1_MODEL_H_\r
+\r
+#include <fmu_dummy/fmu1_model_defines.h>\r
+\r
+typedef struct {\r
+       /*************** FMI ME 1.0 ****************/\r
+       fmiReal                                 states                  [N_STATES];\r
+       fmiReal                                 states_nom              [N_STATES];\r
+       fmiValueReference               states_vr               [N_STATES];\r
+       fmiReal                                 states_der              [N_STATES];\r
+       fmiReal                                 event_indicators[N_EVENT_INDICATORS];\r
+       fmiReal                                 reals                   [N_REAL];\r
+       fmiInteger                              integers                [N_INTEGER];\r
+       fmiBoolean                              booleans                [N_BOOLEAN];\r
+       fmiString                               strings                 [N_STRING];\r
+\r
+       /* fmiInstantiateModel */\r
+       fmiBoolean                              loggingOn;\r
+       char                                    instanceName    [BUFFER];\r
+       char                                    GUID                    [BUFFER];\r
+       fmiCallbackFunctions    functions;\r
+\r
+       /* fmiSetTime */\r
+       fmiReal                                 fmitime;\r
+\r
+       /* fmiCompletedIntegratorStep */\r
+       fmiBoolean                              callEventUpdate;\r
+\r
+       /* fmiInitialize */\r
+       fmiBoolean                              toleranceControlled;\r
+       fmiReal                                 relativeTolerance;\r
+       fmiEventInfo                    eventInfo;\r
+\r
+       /*************** FMI CS 1.0. Depends on the ME fields above and functions ****************/\r
+       fmiReal                                 states_prev             [N_STATES];\r
+\r
+       /* fmiInstantiateSlave */\r
+       char                                    fmuLocation             [BUFFER];\r
+       char                                    mimeType                [BUFFER];\r
+       fmiReal                                 timeout;\r
+       fmiBoolean                              visible;\r
+       fmiBoolean                              interactive;\r
+\r
+       /* fmiInitializeSlave */\r
+       fmiReal                                 tStart;\r
+       fmiBoolean                              StopTimeDefined;\r
+       fmiReal                                 tStop;\r
+\r
+       /* fmiSetRealInputDerivatives */\r
+       fmiReal                                 input_real              [N_INPUT_REAL][N_INPUT_REAL_MAX_ORDER + 1];\r
+\r
+       /* fmiGetRealOutputDerivatives */\r
+       fmiReal                                 output_real             [N_OUTPUT_REAL][N_OUTPUT_REAL_MAX_ORDER + 1];\r
+\r
+} component_t;\r
+\r
+typedef component_t* component_ptr_t;\r
+\r
+/* FMI 1.0 Common Functions */\r
+const char*            fmi_get_version();\r
+\r
+fmiStatus              fmi_set_debug_logging(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiBoolean loggingOn);\r
+\r
+fmiStatus              fmi_get_real(                   \r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiValueReference vr[],\r
+                                                                                                       size_t nvr, fmiReal value[]);\r
+\r
+fmiStatus              fmi_get_integer(        \r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiValueReference vr[],\r
+                                                                                                       size_t nvr,\r
+                                                                                                       fmiInteger value[]);\r
+fmiStatus              fmi_get_boolean(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiValueReference vr[],\r
+                                                                                                       size_t nvr,\r
+                                                                                                       fmiBoolean value[]);\r
+\r
+fmiStatus              fmi_get_string(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiValueReference vr[],\r
+                                                                                                       size_t nvr,\r
+                                                                                                       fmiString  value[]);\r
+\r
+fmiStatus              fmi_set_real(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiValueReference vr[],\r
+                                                                                                       size_t nvr,\r
+                                                                                                       const fmiReal value[]);\r
+fmiStatus              fmi_set_integer(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiValueReference vr[],\r
+                                                                                                       size_t nvr,\r
+                                                                                                       const fmiInteger value[]);\r
+\r
+fmiStatus              fmi_set_boolean(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiValueReference vr[],\r
+                                                                                                       size_t nvr,\r
+                                                                                                       const fmiBoolean value[]);\r
+\r
+fmiStatus              fmi_set_string(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiValueReference vr[],\r
+                                                                                                       size_t nvr,\r
+                                                                                                       const fmiString  value[]);\r
+\r
+/* FMI 1.0 ME Functions */\r
+const char*            fmi_get_model_types_platform();\r
+\r
+fmiComponent   fmi_instantiate_model(\r
+                                                                                                       fmiString instanceName,\r
+                                                                                                       fmiString GUID,\r
+                                                                                                       fmiCallbackFunctions functions,\r
+                                                                                                       fmiBoolean loggingOn);\r
+\r
+void                   fmi_free_model_instance(\r
+                                                                                                       fmiComponent c);\r
+\r
+fmiStatus              fmi_set_time(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiReal fmitime);\r
+\r
+fmiStatus              fmi_set_continuous_states(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiReal x[],\r
+                                                                                                       size_t nx);\r
+\r
+fmiStatus              fmi_completed_integrator_step(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiBoolean* callEventUpdate);\r
+\r
+fmiStatus              fmi_initialize(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiBoolean toleranceControlled,\r
+                                                                                                       fmiReal relativeTolerance,\r
+                                                                                                       fmiEventInfo* eventInfo);\r
+\r
+fmiStatus              fmi_get_derivatives(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiReal derivatives[],\r
+                                                                                                       size_t nx);\r
+\r
+fmiStatus              fmi_get_event_indicators(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiReal eventIndicators[],\r
+                                                                                                       size_t ni);\r
+\r
+fmiStatus              fmi_event_update(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiBoolean intermediateResults,\r
+                                                                                                       fmiEventInfo* eventInfo);\r
+fmiStatus              fmi_get_continuous_states(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiReal states[],\r
+                                                                                                       size_t nx);\r
+\r
+fmiStatus              fmi_get_nominal_continuousstates(       \r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiReal x_nominal[],\r
+                                                                                                       size_t nx);\r
+\r
+fmiStatus              fmi_get_state_value_references(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiValueReference vrx[],\r
+                                                                                                       size_t nx);\r
+\r
+fmiStatus              fmi_terminate(fmiComponent c);\r
+\r
+/* FMI 1.0 CS Functions */\r
+#ifdef fmiFunctions_h\r
+\r
+const char*            fmi_get_types_platform();\r
+\r
+fmiComponent   fmi_instantiate_slave(\r
+                                                                                                       fmiString instanceName,\r
+                                                                                                       fmiString fmuGUID,\r
+                                                                                                       fmiString fmuLocation,\r
+                                                                                                       fmiString mimeType,\r
+                                                                                                       fmiReal timeout,\r
+                                                                                                       fmiBoolean visible,\r
+                                                                                                       fmiBoolean interactive,\r
+                                                                                                       fmiCallbackFunctions functions,\r
+                                                                                                       fmiBoolean loggingOn);\r
+\r
+fmiStatus              fmi_initialize_slave(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiReal tStart,\r
+                                                                                                       fmiBoolean StopTimeDefined,\r
+                                                                                                       fmiReal tStop);\r
+\r
+fmiStatus              fmi_terminate_slave(\r
+                                                                                                       fmiComponent c);\r
+\r
+fmiStatus              fmi_reset_slave(\r
+                                                                                                       fmiComponent c);\r
+\r
+void                   fmi_free_slave_instance(\r
+                                                                                                       fmiComponent c);\r
+\r
+fmiStatus              fmi_set_real_input_derivatives(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiValueReference vr[],\r
+                                                                                                       size_t nvr,\r
+                                                                                                       const fmiInteger order[],\r
+                                                                                                       const fmiReal value[]);\r
+\r
+fmiStatus              fmi_get_real_output_derivatives(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiValueReference vr[],\r
+                                                                                                       size_t nvr,\r
+                                                                                                       const fmiInteger order[],\r
+                                                                                                       fmiReal value[]);\r
+\r
+fmiStatus              fmi_cancel_step(\r
+                                                                                                       fmiComponent c);\r
+fmiStatus              fmi_do_step(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       fmiReal currentCommunicationPoint,\r
+                                                                                                       fmiReal communicationStepSize,\r
+                                                                                                       fmiBoolean newStep);\r
+\r
+fmiStatus              fmi_get_status(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiStatusKind s,\r
+                                                                                                       fmiStatus*  value);\r
+\r
+fmiStatus              fmi_get_real_status(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiStatusKind s,\r
+                                                                                                       fmiReal*    value);\r
+\r
+fmiStatus              fmi_get_integer_status(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiStatusKind s,\r
+                                                                                                       fmiInteger* value);\r
+\r
+fmiStatus              fmi_get_boolean_status(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiStatusKind s,\r
+                                                                                                       fmiBoolean* value);\r
+\r
+fmiStatus              fmi_get_string_status(\r
+                                                                                                       fmiComponent c,\r
+                                                                                                       const fmiStatusKind s,\r
+                                                                                                       fmiString*  value);\r
+\r
+#endif /* End of fmiFunctions_h */\r
+#endif /* End of header FM1_MODEL_H_ */
\ No newline at end of file