1 /* -------------------------------------------------------------------------
\r
3 * Function types for all function of the "FMI for Model Exchange 1.0"
\r
4 * and a struct with the corresponding function pointers.
\r
5 * Copyright 2011 QTronic GmbH. All rights reserved.
\r
6 * -------------------------------------------------------------------------
\r
12 #include "fmiModelFunctions.h"
\r
13 #include "xml_parser.h"
\r
15 typedef const char* (*fGetModelTypesPlatform)();
\r
16 typedef const char* (*fGetVersion)();
\r
17 typedef fmiComponent (*fInstantiateModel)(fmiString instanceName, fmiString GUID,
\r
18 fmiCallbackFunctions functions, fmiBoolean loggingOn);
\r
19 typedef void (*fFreeModelInstance) (fmiComponent c);
\r
20 typedef fmiStatus (*fSetDebugLogging) (fmiComponent c, fmiBoolean loggingOn);
\r
21 typedef fmiStatus (*fSetTime) (fmiComponent c, fmiReal time);
\r
22 typedef fmiStatus (*fSetContinuousStates)(fmiComponent c, const fmiReal x[], size_t nx);
\r
23 typedef fmiStatus (*fCompletedIntegratorStep)(fmiComponent c, fmiBoolean* callEventUpdate);
\r
24 typedef fmiStatus (*fSetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiReal value[]);
\r
25 typedef fmiStatus (*fSetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiInteger value[]);
\r
26 typedef fmiStatus (*fSetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiBoolean value[]);
\r
27 typedef fmiStatus (*fSetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, const fmiString value[]);
\r
28 typedef fmiStatus (*fInitialize)(fmiComponent c, fmiBoolean toleranceControlled,
\r
29 fmiReal relativeTolerance, fmiEventInfo* eventInfo);
\r
30 typedef fmiStatus (*fGetDerivatives) (fmiComponent c, fmiReal derivatives[] , size_t nx);
\r
31 typedef fmiStatus (*fGetEventIndicators)(fmiComponent c, fmiReal eventIndicators[], size_t ni);
\r
32 typedef fmiStatus (*fGetReal) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiReal value[]);
\r
33 typedef fmiStatus (*fGetInteger)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiInteger value[]);
\r
34 typedef fmiStatus (*fGetBoolean)(fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiBoolean value[]);
\r
35 typedef fmiStatus (*fGetString) (fmiComponent c, const fmiValueReference vr[], size_t nvr, fmiString value[]);
\r
36 typedef fmiStatus (*fEventUpdate) (fmiComponent c, fmiBoolean intermediateResults, fmiEventInfo* eventInfo);
\r
37 typedef fmiStatus (*fGetContinuousStates) (fmiComponent c, fmiReal states[], size_t nx);
\r
38 typedef fmiStatus (*fGetNominalContinuousStates)(fmiComponent c, fmiReal x_nominal[], size_t nx);
\r
39 typedef fmiStatus (*fGetStateValueReferences) (fmiComponent c, fmiValueReference vrx[], size_t nx);
\r
40 typedef fmiStatus (*fTerminate) (fmiComponent c);
\r
43 ModelDescription* modelDescription;
\r
45 fGetModelTypesPlatform getModelTypesPlatform;
\r
46 fGetVersion getVersion;
\r
47 fInstantiateModel instantiateModel;
\r
48 fFreeModelInstance freeModelInstance;
\r
49 fSetDebugLogging setDebugLogging;
\r
51 fSetContinuousStates setContinuousStates;
\r
52 fCompletedIntegratorStep completedIntegratorStep;
\r
54 fSetInteger setInteger;
\r
55 fSetBoolean setBoolean;
\r
56 fSetString setString;
\r
57 fInitialize initialize;
\r
58 fGetDerivatives getDerivatives;
\r
59 fGetEventIndicators getEventIndicators;
\r
61 fGetInteger getInteger;
\r
62 fGetBoolean getBoolean;
\r
63 fGetString getString;
\r
64 fEventUpdate eventUpdate;
\r
65 fGetContinuousStates getContinuousStates;
\r
66 fGetNominalContinuousStates getNominalContinuousStates;
\r
67 fGetStateValueReferences getStateValueReferences;
\r
68 fTerminate terminate;
\r
70 fInstantiateSlave instantiateSlave;
\r
71 fInitializeSlave initializeSlave;
\r
72 fTerminateSlave terminateSlave;
\r
73 fResetSlave resetSlave;
\r
74 fFreeSlaveInstance freeSlaveInstance;
\r
75 fGetRealOutputDerivatives getRealOutputDerivatives;
\r
76 fSetRealInputDerivatives setRealInputDerivatives;
\r
78 fCancelStep cancelStep;
\r
79 fGetStatus getStatus;
\r
80 fGetRealStatus getRealStatus;
\r
81 fGetIntegerStatus getIntegerStatus;
\r
82 fGetBooleanStatus getBooleanStatus;
\r
83 fGetStringStatus getStringStatus;
\r