//
//	PPP.h

#ifndef PPP_def
#define PPP_def

#ifdef _WIN32
// definitions for Microsoft Windows
#include "windows.h"
#define PPP_IMPORT __declspec(dllimport)
#define PPP_API    WINAPI
//  this version works with ASCII chars
#define PPP_WCHAR  char
#endif

extern "C" {
PPP_IMPORT PPP_WCHAR* PPP_API getDATAF();
PPP_IMPORT PPP_WCHAR* PPP_API getPRGF();
PPP_IMPORT PPP_WCHAR* PPP_API getLICS();
PPP_IMPORT PPP_WCHAR* PPP_API getHWID();
PPP_IMPORT int  PPP_API StoreKey(char *);
PPP_IMPORT int  PPP_API ACode(int); 
PPP_IMPORT int PPP_API setIData(int,int,int,int,int,int);
PPP_IMPORT int PPP_API setFData(int,int,int,int,int,double);
PPP_IMPORT int PPP_API getIData(int,int,int,int,int);
PPP_IMPORT double PPP_API getFData(int,int,int,int,int);
PPP_IMPORT int  PPP_API AFOpen(char*);
PPP_IMPORT int  PPP_API AFSave(char*);
PPP_IMPORT int PPP_API getErrFlag();
PPP_IMPORT void PPP_API setErrFlag(int);
PPP_IMPORT void PPP_API defErrMsg(int);
PPP_IMPORT int PPP_API MErrMsg(char*,int);
PPP_IMPORT PPP_WCHAR* PPP_API ErrMsg();
PPP_IMPORT int PPP_API isSDef(int);
PPP_IMPORT int PPP_API isSopDef(int);
PPP_IMPORT int  PPP_API getUMC(int);
PPP_IMPORT int  PPP_API setUMC(int, int);
PPP_IMPORT int  PPP_API getUMN(int);
PPP_IMPORT double PPP_API UMCR(double,int,int);
PPP_IMPORT double PPP_API UMCS(double,int,int);
PPP_IMPORT int PPP_API UMAU(double,double,PPP_WCHAR*,int);
PPP_IMPORT int PPP_API UMRAU(int);
PPP_IMPORT int PPP_API MgetUMS(int,int,char*,int);
PPP_IMPORT PPP_WCHAR* PPP_API getUMS(int, int);
PPP_IMPORT int PPP_API MgetSUMS(int,char*,int);
PPP_IMPORT PPP_WCHAR* PPP_API getSUMS(int);
PPP_IMPORT double  PPP_API getPatm();
PPP_IMPORT int PPP_API getPKnr();
PPP_IMPORT PPP_WCHAR* PPP_API getPKN(int);
PPP_IMPORT int PPP_API putPKN(int,PPP_WCHAR*);
PPP_IMPORT int PPP_API getPKM(int,int,int);
PPP_IMPORT int PPP_API putPKM(int,int,int,int);
PPP_IMPORT int PPP_API getPKS(int,int);
PPP_IMPORT int PPP_API putPKS(int,int,int);
PPP_IMPORT int PPP_API getMDnr();
PPP_IMPORT PPP_WCHAR* PPP_API getMDN(int);
PPP_IMPORT int PPP_API getMDP(int,int,int);
PPP_IMPORT int PPP_API getMDC(int);
PPP_IMPORT int PPP_API getMDR(int);
PPP_IMPORT int PPP_API getMDBnr(int,int);
PPP_IMPORT PPP_WCHAR* PPP_API getMDBN(int,int,int);
PPP_IMPORT int  PPP_API getMDRnr(int);
PPP_IMPORT int  PPP_API getMDInr(int);
PPP_IMPORT int PPP_API MStrN(int,char*,int);
PPP_IMPORT PPP_WCHAR* PPP_API StrN(int);
PPP_IMPORT int  PPP_API putN(int, PPP_WCHAR* );
PPP_IMPORT double  PPP_API StrZv(int);
PPP_IMPORT double PPP_API EStrZv(int, double, double);
PPP_IMPORT double  PPP_API StrMw(int);
PPP_IMPORT double  PPP_API StrGMw(int);
PPP_IMPORT double  PPP_API EStrGMw(int, double, double);
PPP_IMPORT double  PPP_API StrLMw(int);
PPP_IMPORT double  PPP_API EStrLMw(int, double, double);
PPP_IMPORT int     PPP_API setSB(int,double,double);
PPP_IMPORT double  PPP_API StrGSS(int);
PPP_IMPORT double  PPP_API EStrGSS(int, double, double);
PPP_IMPORT int     PPP_API setHB(int,double,double);
PPP_IMPORT double  PPP_API StrGH(int);
PPP_IMPORT double  PPP_API StrSGH(int);
PPP_IMPORT double  PPP_API StrLH(int);
PPP_IMPORT double  PPP_API StrSLH(int);
PPP_IMPORT double  PPP_API StrSH(int);
PPP_IMPORT double  PPP_API StrSSH(int);
PPP_IMPORT double  PPP_API StrGICp(int);
PPP_IMPORT double  PPP_API StrGCp(int);
PPP_IMPORT double  PPP_API EStrGCp(int, double, double);
PPP_IMPORT double  PPP_API StrLCp(int);
PPP_IMPORT double  PPP_API EStrLCp(int, double, double);
PPP_IMPORT double  PPP_API StrSCp(int);
PPP_IMPORT double  PPP_API EStrSCp(int, double, double);
PPP_IMPORT double  PPP_API StrGCv(int);
PPP_IMPORT double  PPP_API EStrGCv(int, double, double);
PPP_IMPORT double  PPP_API StrLCv(int);
PPP_IMPORT double  PPP_API EStrLCv(int, double, double);
PPP_IMPORT double  PPP_API StrLSS(int);
PPP_IMPORT double  PPP_API EStrLSS(int, double, double);
PPP_IMPORT double  PPP_API StrMSS(int);
PPP_IMPORT double  PPP_API EStrMSS(int, double, double);
PPP_IMPORT double  PPP_API StrGIC(int);
PPP_IMPORT double  PPP_API EStrGIC(int, double, double);
PPP_IMPORT double  PPP_API StrLIC(int);
PPP_IMPORT double  PPP_API EStrLIC(int, double, double);
PPP_IMPORT double  PPP_API StrGVE(int);
PPP_IMPORT double  PPP_API EStrGVE(int, double, double);
PPP_IMPORT double  PPP_API StrLVE(int);
PPP_IMPORT double  PPP_API EStrLVE(int, double, double);
PPP_IMPORT double  PPP_API StrGJT(int);
PPP_IMPORT double  PPP_API EStrGJT(int, double, double);
PPP_IMPORT double  PPP_API StrLJT(int);
PPP_IMPORT double  PPP_API EStrLJT(int, double, double);
PPP_IMPORT double PPP_API StrH(int);
PPP_IMPORT double PPP_API EStrH(int, double, double);
PPP_IMPORT double  PPP_API StrGS(int);
PPP_IMPORT double  PPP_API StrSGS(int);
PPP_IMPORT double  PPP_API StrLS(int);
PPP_IMPORT double  PPP_API StrSLS(int);
PPP_IMPORT double  PPP_API StrSS(int);
PPP_IMPORT double  PPP_API StrSSS(int);
PPP_IMPORT double PPP_API StrS(int);
PPP_IMPORT double PPP_API EStrS(int, double, double);
PPP_IMPORT double  PPP_API StrMDt(int);
PPP_IMPORT double  PPP_API BPF(int, double);
PPP_IMPORT double  PPP_API DPF(int, double);
PPP_IMPORT double PPP_API LfTF(int, double, double);
PPP_IMPORT double PPP_API LfPF(int, double, double);
PPP_IMPORT double PPP_API PfTF(int, double, double, int, int);
PPP_IMPORT double PPP_API PfPF(int, double, double, int, int);
PPP_IMPORT double PPP_API SPF(int, double, double, double);
PPP_IMPORT double PPP_API STF(int, double, double, double);
PPP_IMPORT double PPP_API HPF(int, double, double, double);
PPP_IMPORT double PPP_API HTF(int, double, double, double);
PPP_IMPORT double PPP_API VPF(int, double, double, double);
PPP_IMPORT double PPP_API VTF(int, double, double, double);
PPP_IMPORT int  PPP_API HVF(int, double, double, double, double);
PPP_IMPORT int  PPP_API SVF(int, double, double, double, double);
PPP_IMPORT int  PPP_API HSF(int, double, double, double, double);
PPP_IMPORT int PPP_API setOp(int, double, double);
PPP_IMPORT int  PPP_API setSOp(int);
PPP_IMPORT int PPP_API Divi(int, int, double);
PPP_IMPORT int PPP_API MixF(int, int, int, double, double);
PPP_IMPORT int PPP_API LSep(int, int);
PPP_IMPORT int PPP_API GSep(int, int);
PPP_IMPORT int  PPP_API VLLSep(int,int,int,int);
PPP_IMPORT int  PPP_API PSep(int,int,int);
PPP_IMPORT double  PPP_API StrFML(int);
PPP_IMPORT double PPP_API EStrFML(int, double, double);
PPP_IMPORT double  PPP_API StrFMH(int);
PPP_IMPORT double PPP_API EStrFMH(int, double, double);
PPP_IMPORT double  PPP_API StrRVP(int,int);
PPP_IMPORT double  PPP_API StrFLP(int);
PPP_IMPORT double  PPP_API StrHC(int);
PPP_IMPORT double PPP_API EStrHC(int, double, double);
PPP_IMPORT double PPP_API StrLV(int);
PPP_IMPORT double PPP_API EStrLV(int, double, double);
PPP_IMPORT double PPP_API StrGV(int);
PPP_IMPORT double PPP_API EStrGV(int, double, double);
PPP_IMPORT double PPP_API StrV(int);
PPP_IMPORT double PPP_API EStrV(int, double, double);
PPP_IMPORT double PPP_API StrLD(int);
PPP_IMPORT double PPP_API EStrLD(int, double, double);
PPP_IMPORT double PPP_API StrSD(int);
PPP_IMPORT double PPP_API EStrSD(int, double, double);
PPP_IMPORT double PPP_API StrGD(int);
PPP_IMPORT double PPP_API EStrGD(int, double, double);
PPP_IMPORT double PPP_API StrLC(int);
PPP_IMPORT double PPP_API EStrLC(int, double, double);
PPP_IMPORT double PPP_API StrGC(int);
PPP_IMPORT double PPP_API EStrGC(int, double, double);
PPP_IMPORT double PPP_API StrST(int);
PPP_IMPORT double PPP_API EStrST(int, double, double);
PPP_IMPORT double PPP_API StrLf(int);
PPP_IMPORT double PPP_API EStrLf(int, double, double);
PPP_IMPORT int	 PPP_API setValidSop(int);
PPP_IMPORT int	 PPP_API rstValidSop(int);
PPP_IMPORT int    PPP_API putPt(int,int,int);
PPP_IMPORT int    PPP_API putPf(int,int,double);
PPP_IMPORT int    PPP_API getPNr();
PPP_IMPORT int    PPP_API StrPt(int,int);
PPP_IMPORT PPP_WCHAR*  PPP_API StrPts(int,int);
PPP_IMPORT int    PPP_API MStrPts(int,int,char*,int);
PPP_IMPORT double PPP_API StrPf(int,int);
PPP_IMPORT int	 PPP_API isValidPhase(int,int);
PPP_IMPORT int	 PPP_API setValidPhase(int,int);
PPP_IMPORT double PPP_API EStrPf(int, int, double, double);
PPP_IMPORT int	 PPP_API StrCPnr(int);
PPP_IMPORT double PPP_API StrPc(int,int);
PPP_IMPORT double PPP_API StrTc(int,int);
PPP_IMPORT double PPP_API StrCBp(int);
PPP_IMPORT double PPP_API StrCBt(int);
PPP_IMPORT double PPP_API StrCTp(int);
PPP_IMPORT double PPP_API StrCTt(int);
PPP_IMPORT double PPP_API StrAc(int);
PPP_IMPORT double PPP_API StrPcm(int);
PPP_IMPORT double PPP_API StrTcm(int);
PPP_IMPORT int PPP_API StrCopy(int, int);
PPP_IMPORT int PPP_API StrCopyOp(int, int);
PPP_IMPORT int PPP_API setWm(int, double);
PPP_IMPORT double PPP_API getWm(int);
PPP_IMPORT double PPP_API getT(int);
PPP_IMPORT int PPP_API putT(int,double);
PPP_IMPORT double PPP_API getP(int);
PPP_IMPORT int PPP_API putP(int,double);
PPP_IMPORT int  PPP_API getMSNr();
PPP_IMPORT int PPP_API getCNr(int);
PPP_IMPORT int PPP_API getMCNr();
PPP_IMPORT double PPP_API getY(int, int);
PPP_IMPORT double PPP_API getX(int, int);
PPP_IMPORT double PPP_API getW(int, int, int);
PPP_IMPORT int    PPP_API putW(int,int,int,double);
PPP_IMPORT double PPP_API getZ(int, int);
PPP_IMPORT int PPP_API putZ(int, int, double);
PPP_IMPORT int PPP_API getCC(int, int);
PPP_IMPORT int PPP_API putCC(int, int, int);
PPP_IMPORT int PPP_API getFCNr();
PPP_IMPORT int PPP_API getFPNr();
PPP_IMPORT int PPP_API getMFCNr();
PPP_IMPORT int PPP_API CompCNL();
PPP_IMPORT int PPP_API MCompN(int,char*,int);
PPP_IMPORT PPP_WCHAR* PPP_API CompN(int);
PPP_IMPORT PPP_WCHAR* PPP_API CompN1(int);
PPP_IMPORT PPP_WCHAR* PPP_API CompN2(int);
PPP_IMPORT int PPP_API CompCFL();
PPP_IMPORT int PPP_API MCompF(int,char*,int);
PPP_IMPORT PPP_WCHAR* PPP_API CompF(int);
PPP_IMPORT int PPP_API sortUL(int);
PPP_IMPORT int PPP_API getULnr();
PPP_IMPORT int PPP_API codeToUL(int);
PPP_IMPORT int PPP_API ULtocode(int);
PPP_IMPORT int PPP_API CompID(int);
PPP_IMPORT int PPP_API CompCID(int);
PPP_IMPORT double PPP_API CompMw(int);
PPP_IMPORT double PPP_API CompTc(int);
PPP_IMPORT double PPP_API CompPc(int);
PPP_IMPORT double PPP_API CompAc(int);
PPP_IMPORT double PPP_API CompVc(int);
PPP_IMPORT double  PPP_API CompDm(int);
PPP_IMPORT double  PPP_API CompRg(int);
PPP_IMPORT double  PPP_API CompSol(int);
PPP_IMPORT double  PPP_API CompHf(int);
PPP_IMPORT double  PPP_API CompGf(int);
PPP_IMPORT double  PPP_API CompSf(int);
PPP_IMPORT double  PPP_API CompNb(int);
PPP_IMPORT double  PPP_API CompMp(int);
PPP_IMPORT double PPP_API CompVP(int, double);
PPP_IMPORT double PPP_API CompHG(int, double, double);
PPP_IMPORT double PPP_API CompSG(int, double, double);
PPP_IMPORT double PPP_API CompHL(int, double, double);
PPP_IMPORT double PPP_API CompSL(int, double, double);
PPP_IMPORT double PPP_API CompHS(int, double, double);
PPP_IMPORT double PPP_API CompSS(int, double, double);
PPP_IMPORT double PPP_API CompHV(int, double);
PPP_IMPORT double PPP_API CompLV(int, double);
PPP_IMPORT double PPP_API CompGV(int, double);
PPP_IMPORT double PPP_API CompLD(int, double);
PPP_IMPORT double PPP_API CompSD(int, double);
PPP_IMPORT double PPP_API CompLC(int, double);
PPP_IMPORT double PPP_API CompSC(int, double);
PPP_IMPORT double PPP_API CompGC(int, double);
PPP_IMPORT double PPP_API CompST(int, double);
PPP_IMPORT int PPP_API initS(int);
PPP_IMPORT int PPP_API setS(int);
PPP_IMPORT int PPP_API loadSB(int,int);
PPP_IMPORT int  PPP_API loadSBM(int,int*,int,int*,int,int);
PPP_IMPORT int  PPP_API loadSBL(int);
PPP_IMPORT int  PPP_API SBIPnr(int,int);
PPP_IMPORT int PPP_API setKM(int, int);
PPP_IMPORT int PPP_API setMP(int, int, int, int);
PPP_IMPORT int PPP_API getMP(int, int, int);
PPP_IMPORT int PPP_API getKO(int);
PPP_IMPORT int PPP_API getKS(int,int);
PPP_IMPORT int PPP_API putKO(int, int);
PPP_IMPORT int PPP_API putKS(int, int, int);
PPP_IMPORT int PPP_API getMBPNr();
PPP_IMPORT int PPP_API putCi(int, int, int);
PPP_IMPORT int PPP_API getCi(int, int);
PPP_IMPORT int PPP_API putCj(int, int, int);
PPP_IMPORT int PPP_API getCj(int, int);
PPP_IMPORT int  PPP_API putMB(int,int,int);
PPP_IMPORT int  PPP_API getMB(int,int);
PPP_IMPORT int PPP_API putBIP(int, int, int, double);
PPP_IMPORT double PPP_API getBIP(int, int, int);
PPP_IMPORT int PPP_API DCOL(int,int,int,double*,double*,double*,double*,int,int,int,int*,int*,int,
			      int*,int*,int*,double*,int,double*,int*,int*,int*,double*,double*);
PPP_IMPORT int PPP_API PIPE(int,int,double,double,double,double,double); 
PPP_IMPORT int PPP_API REACT(int,int,int,int,double**,double,double);
PPP_IMPORT double PPP_API ISPF(int,double,int,double);
PPP_IMPORT double PPP_API PSPF(int,double,int,double);
PPP_IMPORT double PPP_API HPFORM(int,double,int);
PPP_IMPORT double PPP_API HTFORM(int,double,int);
PPP_IMPORT int PPP_API PELNr(int);
PPP_IMPORT int PPP_API PELT(int,int);
PPP_IMPORT int PPP_API PELP(int,int);
PPP_IMPORT int PPP_API PELine(int,int,double*,double*,int);
PPP_IMPORT int PPP_API PVLine(int,int,double*,double*,double*,double*,double*,int);
PPP_IMPORT int PPP_API PFLine(int,int,double,double*,double*,int);
PPP_IMPORT int PPP_API DPinit(int,int);
PPP_IMPORT int PPP_API StrFv(int, int, double, double, double *, double*);
PPP_IMPORT int PPP_API StrFvd(int,int,double,double,double*,double*,double*,double*,double**);
PPP_IMPORT int PPP_API StrFvdv(int,int,double,double,double*,double*,double*,double*,double*);
PPP_IMPORT int PPP_API StrVv(int, int, double, double, double *, double*);
PPP_IMPORT int PPP_API StrVvd(int,int,double,double,double*,double*,double*,double*,double*);
PPP_IMPORT int PPP_API StrHv(int, int, double, double, double *, double*);
PPP_IMPORT int PPP_API StrHvd(int,int,double,double,double*,double*,double*,double*,double*);
PPP_IMPORT int PPP_API StrSv(int, int, double, double, double *, double*);
PPP_IMPORT int PPP_API StrSvd(int,int,double,double,double*,double*,double*,double*,double*);
PPP_IMPORT int PPP_API StrDFv(int, int, double, double, double *, double*);
PPP_IMPORT int PPP_API StrDFvd(int,int,double,double,double*,double*,double*,double*,double**);
PPP_IMPORT int PPP_API StrDFvdv(int,int,double,double,double*,double*,double*,double*,double*);
PPP_IMPORT int PPP_API StrDVv(int, int, double, double, double *, double*);
PPP_IMPORT int PPP_API StrDVvd(int,int,double,double,double*,double*,double*,double*,double*);
PPP_IMPORT int PPP_API StrDHv(int, int, double, double, double *, double*);
PPP_IMPORT int PPP_API StrDHvd(int,int,double,double,double*,double*,double*,double*,double*);
PPP_IMPORT int PPP_API StrDSv(int, int, double, double, double *, double*);
PPP_IMPORT int PPP_API StrDSvd(int,int,double,double,double*,double*,double*,double*,double*);
PPP_IMPORT int PPP_API DRegr(int,int,int,int,int,double*,double*,double*,double*);
PPP_IMPORT int PPP_API CMPNr();
PPP_IMPORT PPP_WCHAR* PPP_API CMPN(int);
PPP_IMPORT int PPP_API CMPUM(int);
PPP_IMPORT int PPP_API CMFNr();
PPP_IMPORT PPP_WCHAR* PPP_API CMFN(int);
PPP_IMPORT int PPP_API CMFPNr(int);
PPP_IMPORT int PPP_API BRegr(int,int,int,int,int,int,int,int*,double*,double*,double*,double*,double*,double*,double*);
PPP_IMPORT int PPP_API BFsave();
PPP_IMPORT int PPP_API putBD(unsigned int,unsigned int,int,int,int,int,double);
PPP_IMPORT double PPP_API getBD(unsigned int,unsigned int,int,int,int,int);
PPP_IMPORT int PPP_API FBIP();
PPP_IMPORT int PPP_API setMw(int, double);
PPP_IMPORT int PPP_API setPc(int, double);
PPP_IMPORT int PPP_API setTc(int, double);
PPP_IMPORT int PPP_API setVc(int, double);
PPP_IMPORT int PPP_API setAc(int, double);
PPP_IMPORT PPP_WCHAR* PPP_API GetRes(PPP_WCHAR*);
PPP_IMPORT int PPP_API putSCoeff(int,int,int,int);
PPP_IMPORT int PPP_API getSCoeff(int,int,int);
PPP_IMPORT int PPP_API CEBal(int,int);
PPP_IMPORT int PPP_API LoadAtCmp(int);
PPP_IMPORT int  PPP_API CFGInt(int);
PPP_IMPORT double  PPP_API CFGReal(int);
PPP_IMPORT int PPP_API loadCPT1(int);
PPP_IMPORT int PPP_API saveCPT1(int);
PPP_IMPORT int PPP_API loadCPT2();
PPP_IMPORT int PPP_API saveCPT2();
PPP_IMPORT int PPP_API loadBPT1(unsigned int,unsigned int, unsigned int, unsigned int);
PPP_IMPORT int PPP_API saveBPT1(unsigned int, unsigned int, unsigned int, unsigned int);
PPP_IMPORT int PPP_API loadBPT2(int, int *, int, int);
PPP_IMPORT int PPP_API saveBPT2(int, int, int);
PPP_IMPORT int PPP_API loadCFT1();
PPP_IMPORT int PPP_API saveCFT1();
PPP_IMPORT int PPP_API loadCFT2();
PPP_IMPORT int PPP_API saveCFT2();
PPP_IMPORT int PPP_API loadMDT1(unsigned int, int);
PPP_IMPORT int PPP_API saveMDT1(unsigned int, int);
PPP_IMPORT int PPP_API getCPT1();
PPP_IMPORT int PPP_API getCPT2();
PPP_IMPORT int PPP_API getBPT1();
PPP_IMPORT int PPP_API getBPT2();
PPP_IMPORT int PPP_API getCFT1();
PPP_IMPORT int PPP_API getCFT2();
PPP_IMPORT int PPP_API getMDT1();
PPP_IMPORT int PPP_API Tclear(int);
PPP_IMPORT int PPP_API TRnr(int);
PPP_IMPORT int PPP_API TCnr(int);
PPP_IMPORT int PPP_API TEnr(int);
PPP_IMPORT int PPP_API isTRH(int);
PPP_IMPORT int PPP_API getTRH(int,int,PPP_WCHAR*,int);
PPP_IMPORT int PPP_API isTCH(int);
PPP_IMPORT int PPP_API getTCH(int,int,PPP_WCHAR*,int);
PPP_IMPORT PPP_WCHAR* PPP_API getTSel(int,int,int);
PPP_IMPORT int PPP_API getTInt(int,int,int);
PPP_IMPORT double PPP_API getTReal(int,int,int);
PPP_IMPORT int PPP_API getTChar(int,int,int,PPP_WCHAR*,int);
PPP_IMPORT int PPP_API putTInt(int,int,int,int);
PPP_IMPORT int PPP_API putTReal(int,int,int,double);
PPP_IMPORT int PPP_API putTChar(int,int,int,PPP_WCHAR*);
PPP_IMPORT int PPP_API TisReal(int);
PPP_IMPORT int PPP_API TisInt(int);
PPP_IMPORT int PPP_API TisString(int);
PPP_IMPORT int PPP_API TisList(int);
PPP_IMPORT int PPP_API FCsave();
PPP_IMPORT int PPP_API FBsave();
PPP_IMPORT int PPP_API FMsave();

} // extern "C" {

#endif // PPP_def declaration