]> gerrit.simantics Code Review - simantics/fmil.git/blobdiff - org.simantics.fmil.core/native/FMILibrary/ThirdParty/FMI/default/FMI2/fmi2TypesPlatform.h
Add FMILibrary-2.0.3 to org.simantics.fmil.core\native.
[simantics/fmil.git] / org.simantics.fmil.core / native / FMILibrary / ThirdParty / FMI / default / FMI2 / fmi2TypesPlatform.h
diff --git a/org.simantics.fmil.core/native/FMILibrary/ThirdParty/FMI/default/FMI2/fmi2TypesPlatform.h b/org.simantics.fmil.core/native/FMILibrary/ThirdParty/FMI/default/FMI2/fmi2TypesPlatform.h
new file mode 100644 (file)
index 0000000..03c7339
--- /dev/null
@@ -0,0 +1,115 @@
+#ifndef fmi2TypesPlatform_h\r
+#define fmi2TypesPlatform_h\r
+\r
+/* Standard header file to define the argument types of the\r
+   functions of the Functional Mock-up Interface 2.0.\r
+   This header file must be utilized both by the model and\r
+   by the simulation engine.\r
+\r
+   Revisions:\r
+   - Apr.  9, 2014: all prefixes "fmi" renamed to "fmi2" (decision from April 8)\r
+   - Mar   31, 2014: New datatype fmiChar introduced.\r
+   - Feb.  17, 2013: Changed fmiTypesPlatform from "standard32" to "default".\r
+                     Removed fmiUndefinedValueReference since no longer needed\r
+                     (because every state is defined in ScalarVariables).\r
+   - March 20, 2012: Renamed from fmiPlatformTypes.h to fmiTypesPlatform.h\r
+   - Nov.  14, 2011: Use the header file "fmiPlatformTypes.h" for FMI 2.0\r
+                     both for "FMI for model exchange" and for "FMI for co-simulation"\r
+                     New types "fmiComponentEnvironment", "fmiState", and "fmiByte".\r
+                     The implementation of "fmiBoolean" is change from "char" to "int".\r
+                     The #define "fmiPlatform" changed to "fmiTypesPlatform"\r
+                     (in order that #define and function call are consistent)\r
+   - Oct.   4, 2010: Renamed header file from "fmiModelTypes.h" to fmiPlatformTypes.h"\r
+                     for the co-simulation interface\r
+   - Jan.   4, 2010: Renamed meModelTypes_h to fmiModelTypes_h (by Mauss, QTronic)\r
+   - Dec.  21, 2009: Changed "me" to "fmi" and "meModel" to "fmiComponent"\r
+                     according to meeting on Dec. 18 (by Martin Otter, DLR)\r
+   - Dec.   6, 2009: Added meUndefinedValueReference (by Martin Otter, DLR)\r
+   - Sept.  9, 2009: Changes according to FMI-meeting on July 21:\r
+                     Changed "version" to "platform", "standard" to "standard32",\r
+                     Added a precise definition of "standard32" as comment\r
+                     (by Martin Otter, DLR)\r
+   - July  19, 2009: Added "me" as prefix to file names, added meTrue/meFalse,\r
+                     and changed meValueReferenced from int to unsigned int\r
+                     (by Martin Otter, DLR).\r
+   - March  2, 2009: Moved enums and function pointer definitions to\r
+                     ModelFunctions.h (by Martin Otter, DLR).\r
+   - Dec.  3, 2008 : First version by Martin Otter (DLR) and\r
+                     Hans Olsson (Dynasim).\r
+\r
+\r
+   Copyright © 2008-2011 MODELISAR consortium,\r
+               2012-2013 Modelica Association Project "FMI"\r
+               All rights reserved.\r
+   This file is licensed by the copyright holders under the BSD 2-Clause License\r
+   (http://www.opensource.org/licenses/bsd-license.html):\r
+\r
+   ----------------------------------------------------------------------------\r
+   Redistribution and use in source and binary forms, with or without\r
+   modification, are permitted provided that the following conditions are met:\r
+\r
+   - Redistributions of source code must retain the above copyright notice,\r
+     this list of conditions and the following disclaimer.\r
+   - Redistributions in binary form must reproduce the above copyright notice,\r
+     this list of conditions and the following disclaimer in the documentation\r
+     and/or other materials provided with the distribution.\r
+   - Neither the name of the copyright holders nor the names of its\r
+     contributors may be used to endorse or promote products derived\r
+     from this software without specific prior written permission.\r
+\r
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\r
+   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED\r
+   TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\r
+   PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR\r
+   CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,\r
+   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\r
+   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;\r
+   OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,\r
+   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR\r
+   OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\r
+   ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
+   ----------------------------------------------------------------------------\r
+\r
+   with the extension:\r
+\r
+   You may distribute or publicly perform any modification only under the\r
+   terms of this license.\r
+   (Note, this means that if you distribute a modified file,\r
+    the modified file must also be provided under this license).\r
+*/\r
+\r
+/* Platform (unique identification of this header file) */\r
+#define fmi2TypesPlatform "default"\r
+\r
+/* Type definitions of variables passed as arguments\r
+   Version "default" means:\r
+\r
+   fmi2Component           : an opaque object pointer\r
+   fmi2ComponentEnvironment: an opaque object pointer\r
+   fmi2FMUstate            : an opaque object pointer\r
+   fmi2ValueReference      : handle to the value of a variable\r
+   fmi2Real                : double precision floating-point data type\r
+   fmi2Integer             : basic signed integer data type\r
+   fmi2Boolean             : basic signed integer data type\r
+   fmi2Char                : character data type\r
+   fmi2String              : a pointer to a vector of fmi2Char characters\r
+                             ('\0' terminated, UTF8 encoded)\r
+   fmi2Byte                : smallest addressable unit of the machine, typically one byte.\r
+*/\r
+   typedef void*           fmi2Component;               /* Pointer to FMU instance       */\r
+   typedef void*           fmi2ComponentEnvironment;    /* Pointer to FMU environment    */\r
+   typedef void*           fmi2FMUstate;                /* Pointer to internal FMU state */\r
+   typedef unsigned int    fmi2ValueReference;\r
+   typedef double          fmi2Real   ;\r
+   typedef int             fmi2Integer;\r
+   typedef int             fmi2Boolean;\r
+   typedef char            fmi2Char;\r
+   typedef const fmi2Char* fmi2String;\r
+   typedef char            fmi2Byte;\r
+\r
+/* Values for fmi2Boolean  */\r
+#define fmi2True  1\r
+#define fmi2False 0\r
+\r
+\r
+#endif /* fmi2TypesPlatform_h */\r