#ifndef InstFunction__H
#define InstFunction__H
#include "meta/meta_modelica.h"
#include "util/modelica.h"
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>

#ifdef __cplusplus
extern "C" {
#endif

extern struct record_description Absyn_Direction_INPUT__desc;

extern struct record_description Absyn_Direction_OUTPUT__desc;

extern struct record_description Absyn_Path_IDENT__desc;

extern struct record_description ClassInf_State_EXTERNAL__OBJ__desc;

extern struct record_description ClassInf_State_FUNCTION__desc;

extern struct record_description ClassInf_State_RECORD__desc;

extern struct record_description ConnectionGraph_ConnectionGraph_GRAPH__desc;

extern struct record_description DAE_ComponentPrefix_NOCOMPPRE__desc;

extern struct record_description DAE_ComponentRef_CREF__IDENT__desc;

extern struct record_description DAE_ComponentRef_WILD__desc;

extern struct record_description DAE_Connect_SetTrieNode_SET__TRIE__NODE__desc;

extern struct record_description DAE_Connect_Sets_SETS__desc;

extern struct record_description DAE_DAElist_DAE__desc;

extern struct record_description DAE_Element_EXTOBJECTCLASS__desc;

extern struct record_description DAE_ElementSource_SOURCE__desc;

extern struct record_description DAE_Exp_ICONST__desc;

extern struct record_description DAE_ExtArg_EXTARG__desc;

extern struct record_description DAE_ExtArg_EXTARGSIZE__desc;

extern struct record_description DAE_ExtArg_NOEXTARG__desc;

extern struct record_description DAE_ExternalDecl_EXTERNALDECL__desc;

extern struct record_description DAE_Function_FUNCTION__desc;

extern struct record_description DAE_Function_RECORD__CONSTRUCTOR__desc;

extern struct record_description DAE_FunctionAttributes_FUNCTION__ATTRIBUTES__desc;

extern struct record_description DAE_FunctionBuiltin_FUNCTION__NOT__BUILTIN__desc;

extern struct record_description DAE_FunctionDefinition_FUNCTION__DEF__desc;

extern struct record_description DAE_FunctionDefinition_FUNCTION__EXT__desc;

extern struct record_description DAE_FunctionParallelism_FP__NON__PARALLEL__desc;

extern struct record_description DAE_InlineType_DEFAULT__INLINE__desc;

extern struct record_description DAE_InlineType_NO__INLINE__desc;

extern struct record_description DAE_Mod_NOMOD__desc;

extern struct record_description DAE_Prefix_NOPRE__desc;

extern struct record_description DAE_Type_T__COMPLEX__desc;

extern struct record_description DAE_Type_T__FUNCTION__desc;

extern struct record_description DAE_Type_T__UNKNOWN__desc;

extern struct record_description ErrorTypes_Message_MESSAGE__desc;

extern struct record_description ErrorTypes_MessageType_TRANSLATION__desc;

extern struct record_description ErrorTypes_Severity_ERROR__desc;

extern struct record_description ErrorTypes_Severity_WARNING__desc;

extern struct record_description Flags_DebugFlag_DEBUG__FLAG__desc;

extern struct record_description Gettext_TranslatableContent_gettext__desc;

extern struct record_description InstTypes_CallingScope_INNER__CALL__desc;

extern struct record_description InstTypes_CallingScope_TYPE__CALL__desc;

extern struct record_description Mod_ModScope_DERIVED__desc;

extern struct record_description SCode_ClassDef_PARTS__desc;

extern struct record_description SCode_Element_CLASS__desc;

extern struct record_description SCode_Partial_NOT__PARTIAL__desc;

extern struct record_description SCode_Visibility_PUBLIC__desc;

extern struct record_description SCodeDump_SCodeDumpOptions_OPTIONS__desc;

extern struct record_description SourceInfo_SOURCEINFO__desc;

extern struct record_description UnitAbsyn_InstStore_NOSTORE__desc;


#define boxptr_InstFunction_checkExtObjOutputWork omc_InstFunction_checkExtObjOutputWork


#define boxptr_InstFunction_checkExtObjOutput omc_InstFunction_checkExtObjOutput


DLLDirection
modelica_metatype omc_InstFunction_addRecordConstructorFunction(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inType, modelica_metatype _inInfo);
#define boxptr_InstFunction_addRecordConstructorFunction omc_InstFunction_addRecordConstructorFunction
static const MMC_DEFSTRUCTLIT(boxvar_lit_InstFunction_addRecordConstructorFunction,2,0) {(void*) boxptr_InstFunction_addRecordConstructorFunction,0}};
#define boxvar_InstFunction_addRecordConstructorFunction MMC_REFSTRUCTLIT(boxvar_lit_InstFunction_addRecordConstructorFunction)


DLLDirection
modelica_metatype omc_InstFunction_getRecordConstructorFunction(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inPath, modelica_metatype *out_outFunc);
#define boxptr_InstFunction_getRecordConstructorFunction omc_InstFunction_getRecordConstructorFunction
static const MMC_DEFSTRUCTLIT(boxvar_lit_InstFunction_getRecordConstructorFunction,2,0) {(void*) boxptr_InstFunction_getRecordConstructorFunction,0}};
#define boxvar_InstFunction_getRecordConstructorFunction MMC_REFSTRUCTLIT(boxvar_lit_InstFunction_getRecordConstructorFunction)


#define boxptr_InstFunction_addExtVarToCall omc_InstFunction_addExtVarToCall


#define boxptr_InstFunction_instExtMakeDefaultExternalCall omc_InstFunction_instExtMakeDefaultExternalCall


#define boxptr_InstFunction_instOverloadedFunctions omc_InstFunction_instOverloadedFunctions


DLLDirection
modelica_metatype omc_InstFunction_implicitFunctionTypeInstantiation(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inIH, modelica_metatype _inClass, modelica_metatype *out_outEnv, modelica_metatype *out_outIH);
#define boxptr_InstFunction_implicitFunctionTypeInstantiation omc_InstFunction_implicitFunctionTypeInstantiation
static const MMC_DEFSTRUCTLIT(boxvar_lit_InstFunction_implicitFunctionTypeInstantiation,2,0) {(void*) boxptr_InstFunction_implicitFunctionTypeInstantiation,0}};
#define boxvar_InstFunction_implicitFunctionTypeInstantiation MMC_REFSTRUCTLIT(boxvar_lit_InstFunction_implicitFunctionTypeInstantiation)


#define boxptr_InstFunction_instantiateDerivativeFuncs2 omc_InstFunction_instantiateDerivativeFuncs2


#define boxptr_InstFunction_instantiateDerivativeFuncs omc_InstFunction_instantiateDerivativeFuncs


DLLDirection
modelica_metatype omc_InstFunction_implicitFunctionInstantiation(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inIH, modelica_metatype _inMod, modelica_metatype _inPrefix, modelica_metatype _inClass, modelica_metatype _inInstDims, modelica_metatype *out_outEnv, modelica_metatype *out_outIH);
#define boxptr_InstFunction_implicitFunctionInstantiation omc_InstFunction_implicitFunctionInstantiation
static const MMC_DEFSTRUCTLIT(boxvar_lit_InstFunction_implicitFunctionInstantiation,2,0) {(void*) boxptr_InstFunction_implicitFunctionInstantiation,0}};
#define boxvar_InstFunction_implicitFunctionInstantiation MMC_REFSTRUCTLIT(boxvar_lit_InstFunction_implicitFunctionInstantiation)


#define boxptr_InstFunction_instantiateExternalObjectConstructor omc_InstFunction_instantiateExternalObjectConstructor


#define boxptr_InstFunction_instantiateExternalObjectDestructor omc_InstFunction_instantiateExternalObjectDestructor


#define boxptr_InstFunction_checkExternalObjectMod omc_InstFunction_checkExternalObjectMod


DLLDirection
modelica_metatype omc_InstFunction_instantiateExternalObject(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inIH, modelica_metatype _els, modelica_metatype _inMod, modelica_boolean _impl, modelica_metatype _comment, modelica_metatype _info, modelica_metatype *out_outEnv, modelica_metatype *out_outIH, modelica_metatype *out_dae, modelica_metatype *out_ciState);
DLLDirection
modelica_metatype boxptr_InstFunction_instantiateExternalObject(threadData_t *threadData, modelica_metatype _inCache, modelica_metatype _inEnv, modelica_metatype _inIH, modelica_metatype _els, modelica_metatype _inMod, modelica_metatype _impl, modelica_metatype _comment, modelica_metatype _info, modelica_metatype *out_outEnv, modelica_metatype *out_outIH, modelica_metatype *out_dae, modelica_metatype *out_ciState);
static const MMC_DEFSTRUCTLIT(boxvar_lit_InstFunction_instantiateExternalObject,2,0) {(void*) boxptr_InstFunction_instantiateExternalObject,0}};
#define boxvar_InstFunction_instantiateExternalObject MMC_REFSTRUCTLIT(boxvar_lit_InstFunction_instantiateExternalObject)

#ifdef __cplusplus
}
#endif
#endif
