// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Cioina.pas' rev: 6.00

#ifndef CioinaHPP
#define CioinaHPP

#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include <SysInit.hpp>	// Pascal unit
#include <System.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Cioina
{
//-- type declarations -------------------------------------------------------
typedef double __stdcall (*TUserFunction)(int ParamCount);

//-- var, const, procedure ---------------------------------------------------
static const int MAX_PARAM_COUNT = 0x7fffffff;
#define ExtDll "libCioina.so"
extern "C" void __stdcall CreateList(void);
extern "C" void __stdcall ClearList(void);
extern "C" void __stdcall ClearSharedVariables(void);
extern "C" void __stdcall ClearUserFunctions(void);
extern "C" void __stdcall FreeAll(void);
extern "C" void __stdcall AddMathExpression(void);
extern "C" void __stdcall AddMathExpressionWithUserFunctions(void);
extern "C" void __stdcall AddSharedVar(const char * VarName, double DefValue, Word Protect);
extern "C" void __stdcall AddUserFunction(const char * FuncName, TUserFunction FuncAddress, int ParamCount);
extern "C" void __stdcall AddUserFunctionInVB(const char * FuncName, int FuncAddress, int ParamCount);
extern "C" void __stdcall ClearMathExpression(int id);
extern "C" void __stdcall DeleteParantheses(int id, char * &res);
extern "C" void __stdcall ExpressionReplace(int id, char * &res, const char * OldPattern, const char * NewPattern);
extern "C" void __stdcall Parse(int id, const char * MathStr, const char * VarStr, Word CheckUnknownVar);
extern "C" void __stdcall ParseAndDifferentiate(int id, const char * MathStr, const char * VarStr, const char * DerStr, Word CheckUnknownVar);
extern "C" void __stdcall ParseAndDifferentiateWithSharedVar(int id, const char * MathStr, const char * DerStr, Word CheckUnknownVar);
extern "C" void __stdcall ParseWithSharedVar(int id, const char * MathStr, Word CheckUnknownVar);
extern "C" double __stdcall DoMathExpression(int id);
extern "C" void __stdcall DoVectorOfMathExpressions(int id);
extern "C" int __stdcall GetListCount(void);
extern "C" Word __stdcall GetErrorFlag(int id);
extern "C" Word __stdcall GetIsMathExpressionVariable(int id);
extern "C" Word __stdcall GetIsMathExpressionPublic(int id);
extern "C" Word __stdcall GetIsMathExpressionProtected(int id);
extern "C" Word __stdcall GetIsMathExpressionLinear(int id);
extern "C" void __stdcall GetErrorMessageInfo(int id, char * &res);
extern "C" int __stdcall GetErrorNumber(int id);
extern "C" double __stdcall GetSharedVar(int i);
extern "C" int __stdcall GetSharedVarCount(void);
extern "C" int __stdcall GetVariableCount(int id);
extern "C" int __stdcall GetVariableLowIndex(int id);
extern "C" void __stdcall GetVariableName(int id, int i, char * &res);
extern "C" double __stdcall GetVariableValue(int id, int i);
extern "C" Word __stdcall IsValidIdentName(int id, const char * s);
extern "C" void __stdcall ClearDerivativeExpressionString(int id);
extern "C" void __stdcall ClearMathExpressionString(int id);
extern "C" void __stdcall SetSharedVar(int i, double Value);
extern "C" void __stdcall SetVariableValue(int id, int i, double Value);
extern "C" void __stdcall GetMathematicaFormVariableNames(int id, char * &res);
extern "C" int __stdcall GetMathExpressionCount(int id);
extern "C" void __stdcall GetMathExpressionString(int id, char * &res);
extern "C" int __stdcall GetMaxIterations(int id);
extern "C" Word __stdcall GetProtectVariablesEndedWithNumber(int id);
extern "C" Word __stdcall GetProtectVariablesEndedWithoutNumber(int id);
extern "C" int __stdcall GetValuesVectorCount(void);
extern "C" double __stdcall GetValuesVector(int i);
extern "C" void __stdcall SetProtectVariablesEndedWithNumber(int id, Word Value);
extern "C" void __stdcall SetProtectVariablesEndedWithoutNumber(int id, Word Value);
extern "C" int __stdcall GetMaxStack(int id);
extern "C" Word __stdcall GetSpaceLikeMultiply(int id);
extern "C" int __stdcall GetTotalFunctionCount(int id);
extern "C" void __stdcall SetMaxIterations(int id, int Value);
extern "C" void __stdcall SetMaxStack(int id, int Value);
extern "C" void __stdcall SetSpaceLikeMultiply(int id, Word Value);
extern "C" void __stdcall GetDerivativeExpressionString(int id, char * &res);
extern "C" void __stdcall GetDerivativeVariableString(int id, char * &res);
extern "C" void __stdcall GetMathematicaFormDerivativeExpressionString(int id, char * &res);
extern "C" void __stdcall GetMathematicaFormMathExpressionString(int id, char * &res);
extern "C" int __stdcall GetMathException(int id);
extern "C" Word __stdcall GetPowerOperator(int id);
extern "C" void __stdcall SetPowerOperator(int id, Word Value);
extern "C" int __stdcall GetAllocDynamicMemoryInfo(int id);
extern "C" int __stdcall GetRunTimeFunctionCount(int id);
extern "C" void __stdcall GetBuiltInFunctionInfo(int id, int i, char * &res);
extern "C" int __stdcall GetBuiltInFunctionCount(void);
extern "C" void __stdcall GetBuiltInFunctionName(int i, char * &res);
extern "C" void __stdcall GetRunTimeFunctionName(int id, int i, char * &res);
extern "C" void __stdcall GetRunTimeFunctionDefinition(int id, int i, char * &res);
extern "C" void __stdcall GetExceptionInfo(int id, int i, char * &res);
extern "C" Word __stdcall GetOriginalMathExpressionString(int id);
extern "C" void __stdcall GetOwnerInfo(char * &res);
extern "C" void __stdcall GetTypeInfo(char * &res);
extern "C" void __stdcall GetVersionInfo(char * &res);
extern "C" void __stdcall GetDedicationInfo(char * &res);
extern "C" void __stdcall SetOriginalMathExpressionString(int id, Word Value);
extern "C" void __stdcall GetLastErrorMessage(char * &res);
extern "C" void __stdcall SetLastErrorMessage(char * s);
extern "C" Word __stdcall GetLastErrorFlag(void);
extern "C" void __stdcall SetLastErrorFlag(Word flg);
extern "C" int __stdcall GetLastErrorNumber(void);
extern "C" void __stdcall SetLastErrorNumber(int i);
extern "C" double __stdcall Prm(int i);
extern "C" void __stdcall SetFPU8087CW(Word w);
extern "C" Word __stdcall GetFPU8087CW(void);

}	/* namespace Cioina */
using namespace Cioina;
#pragma option pop	// -w-
#pragma option pop	// -Vx

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Cioina
