CoolProp  4.2.5
An open-source fluid property and humid air property database
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
REFPROP_lib.h
Go to the documentation of this file.
1 
2 #ifndef REFPROP_LIB_H
3 #define REFPROP_LIB_H
4 
5 /*
6 // The idea here is to have a common header for Windows
7 // and gcc-like systems. The Windows branch should cover the
8 // functions provided by the .dll and the gcc part covers
9 // the compiled .so/.dym file. Name changes caused by gfortran
10 // are respected and should be accounted for.
11 */
12 // Get the platform identifiers
13 #include "CoolPropTools.h"
14 
15 // Do some manual changes to the function names
16 // if needed, uses CoolProp platform detection.
17 #if defined(__ISWINDOWS__)
18 // Define compiler specific calling conventions
19 // for the shared library.
20 # define CALLCONV __stdcall // __declspec(dllexport)
21 // Do not redefine function names for the shared library,
22 // in this case it is the REFPROP.dll and no special
23 // names are needed. Macros still need a value for the
24 // name function used below.
25 # define RPVersion RPVersion
26 # define SETPATHdll SETPATHdll
27 # define ABFL1dll ABFL1dll
28 # define ABFL2dll ABFL2dll
29 # define ACTVYdll ACTVYdll
30 # define AGdll AGdll
31 # define CCRITdll CCRITdll
32 # define CP0dll CP0dll
33 # define CRITPdll CRITPdll
34 # define CSATKdll CSATKdll
35 # define CV2PKdll CV2PKdll
36 # define CVCPKdll CVCPKdll
37 # define CVCPdll CVCPdll
38 # define DBDTdll DBDTdll
39 # define DBFL1dll DBFL1dll
40 # define DBFL2dll DBFL2dll
41 # define DDDPdll DDDPdll
42 # define DDDTdll DDDTdll
43 # define DEFLSHdll DEFLSHdll
44 # define DHD1dll DHD1dll
45 # define DHFL1dll DHFL1dll
46 # define DHFL2dll DHFL2dll
47 # define DHFLSHdll DHFLSHdll
48 # define DIELECdll DIELECdll
49 # define DOTFILLdll DOTFILLdll
50 # define DPDD2dll DPDD2dll
51 # define DPDDKdll DPDDKdll
52 # define DPDDdll DPDDdll
53 # define DPDTKdll DPDTKdll
54 # define DPDTdll DPDTdll
55 # define DPTSATKdll DPTSATKdll
56 # define DSFLSHdll DSFLSHdll
57 # define DSFL1dll DSFL1dll
58 # define DSFL2dll DSFL2dll
59 # define ENTHALdll ENTHALdll
60 # define ENTROdll ENTROdll
61 # define ESFLSHdll ESFLSHdll
62 # define FGCTYdll FGCTYdll
63 # define FPVdll FPVdll
64 # define GERG04dll GERG04dll
65 # define GETFIJdll GETFIJdll
66 # define GETKTVdll GETKTVdll
67 # define GIBBSdll GIBBSdll
68 # define HSFLSHdll HSFLSHdll
69 # define INFOdll INFOdll
70 # define LIMITKdll LIMITKdll
71 # define LIMITSdll LIMITSdll
72 # define LIMITXdll LIMITXdll
73 # define MELTPdll MELTPdll
74 # define MELTTdll MELTTdll
75 # define MLTH2Odll MLTH2Odll
76 # define NAMEdll NAMEdll
77 # define PDFL1dll PDFL1dll
78 # define PDFLSHdll PDFLSHdll
79 # define PEFLSHdll PEFLSHdll
80 # define PHFL1dll PHFL1dll
81 # define PHFLSHdll PHFLSHdll
82 # define PQFLSHdll PQFLSHdll
83 # define PREOSdll PREOSdll
84 # define PRESSdll PRESSdll
85 # define PSFL1dll PSFL1dll
86 # define PSFLSHdll PSFLSHdll
87 # define PUREFLDdll PUREFLDdll
88 # define QMASSdll QMASSdll
89 # define QMOLEdll QMOLEdll
90 # define RESIDUALdll RESIDUALdll
91 # define SATDdll SATDdll
92 # define SATEdll SATEdll
93 # define SATHdll SATHdll
94 # define SATPdll SATPdll
95 # define SATSdll SATSdll
96 # define SATTdll SATTdll
97 # define SETAGAdll SETAGAdll
98 # define SETKTVdll SETKTVdll
99 # define SETMIXdll SETMIXdll
100 # define SETMODdll SETMODdll
101 # define SETREFdll SETREFdll
102 # define SETUPdll SETUPdll
103 //# define SPECGRdll SPECGRdll // not found in library
104 # define SUBLPdll SUBLPdll
105 # define SUBLTdll SUBLTdll
106 # define SURFTdll SURFTdll
107 # define SURTENdll SURTENdll
108 # define TDFLSHdll TDFLSHdll
109 # define TEFLSHdll TEFLSHdll
110 # define THERM0dll THERM0dll
111 # define THERM2dll THERM2dll
112 # define THERM3dll THERM3dll
113 # define THERMdll THERMdll
114 # define THFLSHdll THFLSHdll
115 # define TPFLSHdll TPFLSHdll
116 # define TPFL2dll TPFL2dll
117 # define TPRHOdll TPRHOdll
118 # define TQFLSHdll TQFLSHdll
119 # define TRNPRPdll TRNPRPdll
120 # define TSFLSHdll TSFLSHdll
121 # define VIRBdll VIRBdll
122 # define VIRCdll VIRCdll
123 # define WMOLdll WMOLdll
124 # define XMASSdll XMASSdll
125 # define XMOLEdll XMOLEdll
126 #elif defined(__ISLINUX__) // defined(__ISWINDOWS__)
127 // Define compiler specific calling conventions
128 // for the shared library.
129 # define CALLCONV
130 // Define function names for the shared library,
131 // in this case it is the librefprop.so and the
132 // names might change on some systems during
133 // the compilation of the Fortran files.
134 // Possible other branches for this code could be:
135 // # if !defined(_AIX)
136 // # if !defined(__hpux)
137 // # ifdef _CRAY
138 // However, I cannot test that and therefore do not include it.
139 # define RPVersion rpversion_
140 # define SETPATHdll setpathdll_
141 # define ABFL1dll abfl1dll_
142 # define ABFL2dll abfl2dll_
143 # define ACTVYdll actvydll_
144 # define AGdll agdll_
145 # define CCRITdll ccritdll_
146 # define CP0dll cp0dll_
147 # define CRITPdll critpdll_
148 # define CSATKdll csatkdll_
149 # define CV2PKdll cv2pkdll_
150 # define CVCPKdll cvcpkdll_
151 # define CVCPdll cvcpdll_
152 # define DBDTdll dbdtdll_
153 # define DBFL1dll dbfl1dll_
154 # define DBFL2dll dbfl2dll_
155 # define DDDPdll dddpdll_
156 # define DDDTdll dddtdll_
157 # define DEFLSHdll deflshdll_
158 # define DHD1dll dhd1dll_
159 # define DHFL1dll dhfl1dll_
160 # define DHFL2dll dhfl2dll_
161 # define DHFLSHdll dhflshdll_
162 # define DIELECdll dielecdll_
163 # define DOTFILLdll dotfilldll_
164 # define DPDD2dll dpdd2dll_
165 # define DPDDKdll dpddkdll_
166 # define DPDDdll dpdddll_
167 # define DPDTKdll dpdtkdll_
168 # define DPDTdll dpdtdll_
169 # define DPTSATKdll dptsatkdll_
170 # define DSFLSHdll dsflshdll_
171 # define DSFL1dll dsfl1dll_
172 # define DSFL2dll dsfl2dll_
173 # define ENTHALdll enthaldll_
174 # define ENTROdll entrodll_
175 # define ESFLSHdll esflshdll_
176 # define FGCTYdll fgctydll_
177 # define FPVdll fpvdll_
178 # define GERG04dll gerg04dll_
179 # define GETFIJdll getfijdll_
180 # define GETKTVdll getktvdll_
181 # define GIBBSdll gibbsdll_
182 # define HSFLSHdll hsflshdll_
183 # define INFOdll infodll_
184 # define LIMITKdll limitkdll_
185 # define LIMITSdll limitsdll_
186 # define LIMITXdll limitxdll_
187 # define MELTPdll meltpdll_
188 # define MELTTdll melttdll_
189 # define MLTH2Odll mlth2odll_
190 # define NAMEdll namedll_
191 # define PDFL1dll pdfl1dll_
192 # define PDFLSHdll pdflshdll_
193 # define PEFLSHdll peflshdll_
194 # define PHFL1dll phfl1dll_
195 # define PHFLSHdll phflshdll_
196 # define PQFLSHdll pqflshdll_
197 # define PREOSdll preosdll_
198 # define PRESSdll pressdll_
199 # define PSFL1dll psfl1dll_
200 # define PSFLSHdll psflshdll_
201 # define PUREFLDdll pureflddll_
202 # define QMASSdll qmassdll_
203 # define QMOLEdll qmoledll_
204 # define RESIDUALdll residualdll_
205 # define SATDdll satddll_
206 # define SATEdll satedll_
207 # define SATHdll sathdll_
208 # define SATPdll satpdll_
209 # define SATSdll satsdll_
210 # define SATTdll sattdll_
211 # define SETAGAdll setagadll_
212 # define SETKTVdll setktvdll_
213 # define SETMIXdll setmixdll_
214 # define SETMODdll setmoddll_
215 # define SETREFdll setrefdll_
216 # define SETUPdll setupdll_
217 //# define SPECGRdll specgrdll_ // not found in library
218 # define SUBLPdll sublpdll_
219 # define SUBLTdll subltdll_
220 # define SURFTdll surftdll_
221 # define SURTENdll surtendll_
222 # define TDFLSHdll tdflshdll_
223 # define TEFLSHdll teflshdll_
224 # define THERM0dll therm0dll_
225 # define THERM2dll therm2dll_
226 # define THERM3dll therm3dll_
227 # define THERMdll thermdll_
228 # define THFLSHdll thflshdll_
229 # define TPFLSHdll tpflshdll_
230 # define TPFL2dll tpfl2dll_
231 # define TPRHOdll tprhodll_
232 # define TQFLSHdll tqflshdll_
233 # define TRNPRPdll trnprpdll_
234 # define TSFLSHdll tsflshdll_
235 # define VIRBdll virbdll_
236 # define VIRCdll vircdll_
237 # define WMOLdll wmoldll_
238 # define XMASSdll xmassdll_
239 # define XMOLEdll xmoledll_
240 #elif defined(__ISAPPLE__) // defined(__ISLINUX__)
241 // Define compiler specific calling conventions
242 // for the shared library.
243 # define CALLCONV
244 # define RPVersion rpversion_
245 # define SETPATHdll setpathdll_
246 # define ABFL1dll abfl1dll_
247 # define ABFL2dll abfl2dll_
248 # define ACTVYdll actvydll_
249 # define AGdll agdll_
250 # define CCRITdll ccritdll_
251 # define CP0dll cp0dll_
252 # define CRITPdll critpdll_
253 # define CSATKdll csatkdll_
254 # define CV2PKdll cv2pkdll_
255 # define CVCPKdll cvcpkdll_
256 # define CVCPdll cvcpdll_
257 # define DBDTdll dbdtdll_
258 # define DBFL1dll dbfl1dll_
259 # define DBFL2dll dbfl2dll_
260 # define DDDPdll dddpdll_
261 # define DDDTdll dddtdll_
262 # define DEFLSHdll deflshdll_
263 # define DHD1dll dhd1dll_
264 # define DHFL1dll dhfl1dll_
265 # define DHFL2dll dhfl2dll_
266 # define DHFLSHdll dhflshdll_
267 # define DIELECdll dielecdll_
268 # define DOTFILLdll dotfilldll_
269 # define DPDD2dll dpdd2dll_
270 # define DPDDKdll dpddkdll_
271 # define DPDDdll dpdddll_
272 # define DPDTKdll dpdtkdll_
273 # define DPDTdll dpdtdll_
274 # define DPTSATKdll dptsatkdll_
275 # define DSFLSHdll dsflshdll_
276 # define DSFL1dll dsfl1dll_
277 # define DSFL2dll dsfl2dll_
278 # define ENTHALdll enthaldll_
279 # define ENTROdll entrodll_
280 # define ESFLSHdll esflshdll_
281 # define FGCTYdll fgctydll_
282 # define FPVdll fpvdll_
283 # define GERG04dll gerg04dll_
284 # define GETFIJdll getfijdll_
285 # define GETKTVdll getktvdll_
286 # define GIBBSdll gibbsdll_
287 # define HSFLSHdll hsflshdll_
288 # define INFOdll infodll_
289 # define LIMITKdll limitkdll_
290 # define LIMITSdll limitsdll_
291 # define LIMITXdll limitxdll_
292 # define MELTPdll meltpdll_
293 # define MELTTdll melttdll_
294 # define MLTH2Odll mlth2odll_
295 # define NAMEdll namedll_
296 # define PDFL1dll pdfl1dll_
297 # define PDFLSHdll pdflshdll_
298 # define PEFLSHdll peflshdll_
299 # define PHFL1dll phfl1dll_
300 # define PHFLSHdll phflshdll_
301 # define PQFLSHdll pqflshdll_
302 # define PREOSdll preosdll_
303 # define PRESSdll pressdll_
304 # define PSFL1dll psfl1dll_
305 # define PSFLSHdll psflshdll_
306 # define PUREFLDdll pureflddll_
307 # define QMASSdll qmassdll_
308 # define QMOLEdll qmoledll_
309 # define RESIDUALdll residualdll_
310 # define SATDdll satddll_
311 # define SATEdll satedll_
312 # define SATHdll sathdll_
313 # define SATPdll satpdll_
314 # define SATSdll satsdll_
315 # define SATTdll sattdll_
316 # define SETAGAdll setagadll_
317 # define SETKTVdll setktvdll_
318 # define SETMIXdll setmixdll_
319 # define SETMODdll setmoddll_
320 # define SETREFdll setrefdll_
321 # define SETUPdll setupdll_
322 //# define SPECGRdll specgrdll_ // not found in library
323 # define SUBLPdll sublpdll_
324 # define SUBLTdll subltdll_
325 # define SURFTdll surftdll_
326 # define SURTENdll surtendll_
327 # define TDFLSHdll tdflshdll_
328 # define TEFLSHdll teflshdll_
329 # define THERM0dll therm0dll_
330 # define THERM2dll therm2dll_
331 # define THERM3dll therm3dll_
332 # define THERMdll thermdll_
333 # define THFLSHdll thflshdll_
334 # define TPFLSHdll tpflshdll_
335 # define TPFL2dll tpfl2dll_
336 # define TPRHOdll tprhodll_
337 # define TQFLSHdll tqflshdll_
338 # define TRNPRPdll trnprpdll_
339 # define TSFLSHdll tsflshdll_
340 # define VIRBdll virbdll_
341 # define VIRCdll vircdll_
342 # define WMOLdll wmoldll_
343 # define XMASSdll xmassdll_
344 # define XMOLEdll xmoledll_
345 #else // #elif defined(__ISAPPLE__)
346 // Set some dummy names for the compiler
347 # define CALLCONV
348 # define RPVersion NOTAVAILABLE
349 # define SETPATHdll setpathdll
350 # define ABFL1dll abfl1dll
351 # define ABFL2dll abfl2dll
352 # define ACTVYdll actvydll
353 # define AGdll agdll
354 # define CCRITdll ccritdll
355 # define CP0dll cp0dll
356 # define CRITPdll critpdll
357 # define CSATKdll csatkdll
358 # define CV2PKdll cv2pkdll
359 # define CVCPKdll cvcpkdll
360 # define CVCPdll cvcpdll
361 # define DBDTdll dbdtdll
362 # define DBFL1dll dbfl1dll
363 # define DBFL2dll dbfl2dll
364 # define DDDPdll dddpdll
365 # define DDDTdll dddtdll
366 # define DEFLSHdll deflshdll
367 # define DHD1dll dhd1dll
368 # define DHFL1dll dhfl1dll
369 # define DHFL2dll dhfl2dll
370 # define DHFLSHdll dhflshdll
371 # define DIELECdll dielecdll
372 # define DOTFILLdll dotfilldll
373 # define DPDD2dll dpdd2dll
374 # define DPDDKdll dpddkdll
375 # define DPDDdll dpdddll
376 # define DPDTKdll dpdtkdll
377 # define DPDTdll dpdtdll
378 # define DPTSATKdll dptsatkdll
379 # define DSFLSHdll dsflshdll
380 # define DSFL1dll dsfl1dll
381 # define DSFL2dll dsfl2dll
382 # define ENTHALdll enthaldll
383 # define ENTROdll entrodll
384 # define ESFLSHdll esflshdll
385 # define FGCTYdll fgctydll
386 # define FPVdll fpvdll
387 # define GERG04dll gerg04dll
388 # define GETFIJdll getfijdll
389 # define GETKTVdll getktvdll
390 # define GIBBSdll gibbsdll
391 # define HSFLSHdll hsflshdll
392 # define INFOdll infodll
393 # define LIMITKdll limitkdll
394 # define LIMITSdll limitsdll
395 # define LIMITXdll limitxdll
396 # define MELTPdll meltpdll
397 # define MELTTdll melttdll
398 # define MLTH2Odll mlth2odll
399 # define NAMEdll namedll
400 # define PDFL1dll pdfl1dll
401 # define PDFLSHdll pdflshdll
402 # define PEFLSHdll peflshdll
403 # define PHFL1dll phfl1dll
404 # define PHFLSHdll phflshdll
405 # define PQFLSHdll pqflshdll
406 # define PREOSdll preosdll
407 # define PRESSdll pressdll
408 # define PSFL1dll psfl1dll
409 # define PSFLSHdll psflshdll
410 # define PUREFLDdll pureflddll
411 # define QMASSdll qmassdll
412 # define QMOLEdll qmoledll
413 # define RESIDUALdll residualdll
414 # define SATDdll satddll
415 # define SATEdll satedll
416 # define SATHdll sathdll
417 # define SATPdll satpdll
418 # define SATSdll satsdll
419 # define SATTdll sattdll
420 # define SETAGAdll setagadll
421 # define SETKTVdll setktvdll
422 # define SETMIXdll setmixdll
423 # define SETMODdll setmoddll
424 # define SETREFdll setrefdll
425 # define SETUPdll setupdll
426 //# define SPECGRdll specgrdll // not found in library
427 # define SUBLPdll sublpdll
428 # define SUBLTdll subltdll
429 # define SURFTdll surftdll
430 # define SURTENdll surtendll
431 # define TDFLSHdll tdflshdll
432 # define TEFLSHdll teflshdll
433 # define THERM0dll therm0dll
434 # define THERM2dll therm2dll
435 # define THERM3dll therm3dll
436 # define THERMdll thermdll
437 # define THFLSHdll thflshdll
438 # define TPFLSHdll tpflshdll
439 # define TPFL2dll tpfl2dll
440 # define TPRHOdll tprhodll
441 # define TQFLSHdll tqflshdll
442 # define TRNPRPdll trnprpdll
443 # define TSFLSHdll tsflshdll
444 # define VIRBdll virbdll
445 # define VIRCdll vircdll
446 # define WMOLdll wmoldll
447 # define XMASSdll xmassdll
448 # define XMOLEdll xmoledll
449 #endif // else branch
450 //
451 //
452 // Only continue if function names have been defined.
453 // We might want to include some more tests here...
454 #if defined(RPVersion)
455 // define new macros for function names
456 // http://stackoverflow.com/questions/195975/how-to-make-a-char-string-from-a-c-macros-value
457 #include <string.h>
458 #define STR_VALUE(arg) #arg
459 #define FUNCTION_NAME(name) STR_VALUE(name)
460 //
461 // Prepare the strings to be used by the functions that
462 // handle the library later on.
463 #define RPVersion_NAME FUNCTION_NAME(RPVersion)
464 #define SETPATHdll_NAME FUNCTION_NAME(SETPATHdll)
465 #define ABFL1dll_NAME FUNCTION_NAME(ABFL1dll)
466 #define ABFL2dll_NAME FUNCTION_NAME(ABFL2dll)
467 #define ACTVYdll_NAME FUNCTION_NAME(ACTVYdll)
468 #define AGdll_NAME FUNCTION_NAME(AGdll)
469 #define CCRITdll_NAME FUNCTION_NAME(CCRITdll)
470 #define CP0dll_NAME FUNCTION_NAME(CP0dll)
471 #define CRITPdll_NAME FUNCTION_NAME(CRITPdll)
472 #define CSATKdll_NAME FUNCTION_NAME(CSATKdll)
473 #define CV2PKdll_NAME FUNCTION_NAME(CV2PKdll)
474 #define CVCPKdll_NAME FUNCTION_NAME(CVCPKdll)
475 #define CVCPdll_NAME FUNCTION_NAME(CVCPdll)
476 #define DBDTdll_NAME FUNCTION_NAME(DBDTdll)
477 #define DBFL1dll_NAME FUNCTION_NAME(DBFL1dll)
478 #define DBFL2dll_NAME FUNCTION_NAME(DBFL2dll)
479 #define DDDPdll_NAME FUNCTION_NAME(DDDPdll)
480 #define DDDTdll_NAME FUNCTION_NAME(DDDTdll)
481 #define DEFLSHdll_NAME FUNCTION_NAME(DEFLSHdll)
482 #define DHD1dll_NAME FUNCTION_NAME(DHD1dll)
483 #define DHFL1dll_NAME FUNCTION_NAME(DHFL1dll)
484 #define DHFL2dll_NAME FUNCTION_NAME(DHFL2dll)
485 #define DHFLSHdll_NAME FUNCTION_NAME(DHFLSHdll)
486 #define DIELECdll_NAME FUNCTION_NAME(DIELECdll)
487 #define DOTFILLdll_NAME FUNCTION_NAME(DOTFILLdll)
488 #define DPDD2dll_NAME FUNCTION_NAME(DPDD2dll)
489 #define DPDDKdll_NAME FUNCTION_NAME(DPDDKdll)
490 #define DPDDdll_NAME FUNCTION_NAME(DPDDdll)
491 #define DPDTKdll_NAME FUNCTION_NAME(DPDTKdll)
492 #define DPDTdll_NAME FUNCTION_NAME(DPDTdll)
493 #define DPTSATKdll_NAME FUNCTION_NAME(DPTSATKdll)
494 #define DSFLSHdll_NAME FUNCTION_NAME(DSFLSHdll)
495 #define DSFL1dll_NAME FUNCTION_NAME(DSFL1dll)
496 #define DSFL2dll_NAME FUNCTION_NAME(DSFL2dll)
497 #define ENTHALdll_NAME FUNCTION_NAME(ENTHALdll)
498 #define ENTROdll_NAME FUNCTION_NAME(ENTROdll)
499 #define ESFLSHdll_NAME FUNCTION_NAME(ESFLSHdll)
500 #define FGCTYdll_NAME FUNCTION_NAME(FGCTYdll)
501 #define FPVdll_NAME FUNCTION_NAME(FPVdll)
502 #define GERG04dll_NAME FUNCTION_NAME(GERG04dll)
503 #define GETFIJdll_NAME FUNCTION_NAME(GETFIJdll)
504 #define GETKTVdll_NAME FUNCTION_NAME(GETKTVdll)
505 #define GIBBSdll_NAME FUNCTION_NAME(GIBBSdll)
506 #define HSFLSHdll_NAME FUNCTION_NAME(HSFLSHdll)
507 #define INFOdll_NAME FUNCTION_NAME(INFOdll)
508 #define LIMITKdll_NAME FUNCTION_NAME(LIMITKdll)
509 #define LIMITSdll_NAME FUNCTION_NAME(LIMITSdll)
510 #define LIMITXdll_NAME FUNCTION_NAME(LIMITXdll)
511 #define MELTPdll_NAME FUNCTION_NAME(MELTPdll)
512 #define MELTTdll_NAME FUNCTION_NAME(MELTTdll)
513 #define MLTH2Odll_NAME FUNCTION_NAME(MLTH2Odll)
514 #define NAMEdll_NAME FUNCTION_NAME(NAMEdll)
515 #define PDFL1dll_NAME FUNCTION_NAME(PDFL1dll)
516 #define PDFLSHdll_NAME FUNCTION_NAME(PDFLSHdll)
517 #define PEFLSHdll_NAME FUNCTION_NAME(PEFLSHdll)
518 #define PHFL1dll_NAME FUNCTION_NAME(PHFL1dll)
519 #define PHFLSHdll_NAME FUNCTION_NAME(PHFLSHdll)
520 #define PQFLSHdll_NAME FUNCTION_NAME(PQFLSHdll)
521 #define PREOSdll_NAME FUNCTION_NAME(PREOSdll)
522 #define PRESSdll_NAME FUNCTION_NAME(PRESSdll)
523 #define PSFL1dll_NAME FUNCTION_NAME(PSFL1dll)
524 #define PSFLSHdll_NAME FUNCTION_NAME(PSFLSHdll)
525 #define PUREFLDdll_NAME FUNCTION_NAME(PUREFLDdll)
526 #define QMASSdll_NAME FUNCTION_NAME(QMASSdll)
527 #define QMOLEdll_NAME FUNCTION_NAME(QMOLEdll)
528 #define RESIDUALdll_NAME FUNCTION_NAME(RESIDUALdll)
529 #define SATDdll_NAME FUNCTION_NAME(SATDdll)
530 #define SATEdll_NAME FUNCTION_NAME(SATEdll)
531 #define SATHdll_NAME FUNCTION_NAME(SATHdll)
532 #define SATPdll_NAME FUNCTION_NAME(SATPdll)
533 #define SATSdll_NAME FUNCTION_NAME(SATSdll)
534 #define SATTdll_NAME FUNCTION_NAME(SATTdll)
535 #define SETAGAdll_NAME FUNCTION_NAME(SETAGAdll)
536 #define SETKTVdll_NAME FUNCTION_NAME(SETKTVdll)
537 #define SETMIXdll_NAME FUNCTION_NAME(SETMIXdll)
538 #define SETMODdll_NAME FUNCTION_NAME(SETMODdll)
539 #define SETREFdll_NAME FUNCTION_NAME(SETREFdll)
540 #define SETUPdll_NAME FUNCTION_NAME(SETUPdll)
541 //#define SPECGRdll_NAME FUNCTION_NAME(SPECGRdll) // not found in library
542 #define SUBLPdll_NAME FUNCTION_NAME(SUBLPdll)
543 #define SUBLTdll_NAME FUNCTION_NAME(SUBLTdll)
544 #define SURFTdll_NAME FUNCTION_NAME(SURFTdll)
545 #define SURTENdll_NAME FUNCTION_NAME(SURTENdll)
546 #define TDFLSHdll_NAME FUNCTION_NAME(TDFLSHdll)
547 #define TEFLSHdll_NAME FUNCTION_NAME(TEFLSHdll)
548 #define THERM0dll_NAME FUNCTION_NAME(THERM0dll)
549 #define THERM2dll_NAME FUNCTION_NAME(THERM2dll)
550 #define THERM3dll_NAME FUNCTION_NAME(THERM3dll)
551 #define THERMdll_NAME FUNCTION_NAME(THERMdll)
552 #define THFLSHdll_NAME FUNCTION_NAME(THFLSHdll)
553 #define TPFLSHdll_NAME FUNCTION_NAME(TPFLSHdll)
554 #define TPFL2dll_NAME FUNCTION_NAME(TPFL2dll)
555 #define TPRHOdll_NAME FUNCTION_NAME(TPRHOdll)
556 #define TQFLSHdll_NAME FUNCTION_NAME(TQFLSHdll)
557 #define TRNPRPdll_NAME FUNCTION_NAME(TRNPRPdll)
558 #define TSFLSHdll_NAME FUNCTION_NAME(TSFLSHdll)
559 #define VIRBdll_NAME FUNCTION_NAME(VIRBdll)
560 #define VIRCdll_NAME FUNCTION_NAME(VIRCdll)
561 #define WMOLdll_NAME FUNCTION_NAME(WMOLdll)
562 #define XMASSdll_NAME FUNCTION_NAME(XMASSdll)
563 #define XMOLEdll_NAME FUNCTION_NAME(XMOLEdll)
564 //
565 // I'll try to follow this example from:
566 // http://www.gershnik.com/tips/cpp.asp
567 // function type: typedef void [compiler stuff] func_t(int, float);
568 // function declaration: func_t func;
569 // pointer type: typedef func_t * func_ptr;
570 #ifdef __cplusplus
571 extern "C" {
572 #endif
573  // For C calling conventions, replaced all "double &" with "double *", and "long &" with "long *"
574  typedef void (CALLCONV RPVersion_TYPE)( char* );
575  typedef void (CALLCONV SETPATHdll_TYPE)( const char* );
576  //
577  typedef void (CALLCONV ABFL1dll_TYPE)(double *,double *,double *,long *,double *,double *,double *,double *,double *,double *,long *,char*,long );
578  typedef void (CALLCONV ABFL2dll_TYPE)(double *,double *,double *,long *,long *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
579  typedef void (CALLCONV ACTVYdll_TYPE)(double *,double *,double *,double *);
580  typedef void (CALLCONV AGdll_TYPE)(double *,double *,double *,double *,double *);
581  typedef void (CALLCONV CCRITdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
582  typedef void (CALLCONV CP0dll_TYPE)(double *,double *,double *);
583  typedef void (CALLCONV CRITPdll_TYPE)(double *,double *,double *,double *,long *,char*,long );
584  typedef void (CALLCONV CSATKdll_TYPE)(long *,double *,long *,double *,double *,double *,long *,char*,long );
585  typedef void (CALLCONV CV2PKdll_TYPE)(long *,double *,double *,double *,double *,long *,char*,long );
586  typedef void (CALLCONV CVCPKdll_TYPE)(long *,double *,double *,double *,double *);
587  typedef void (CALLCONV CVCPdll_TYPE)(double *,double *,double *,double *,double *);
588  typedef void (CALLCONV DBDTdll_TYPE)(double *,double *,double *);
589  typedef void (CALLCONV DBFL1dll_TYPE)(double *,double *,double *,double *,double *,double *,long *,char*,long );
590  typedef void (CALLCONV DBFL2dll_TYPE)(double *,double *,double *,long *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
591  typedef void (CALLCONV DDDPdll_TYPE)(double *,double *,double *,double *);
592  typedef void (CALLCONV DDDTdll_TYPE)(double *,double *,double *,double *);
593  typedef void (CALLCONV DEFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
594  typedef void (CALLCONV DHD1dll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *);
595  typedef void (CALLCONV DHFL1dll_TYPE)(double *,double *,double *,double *,long *,char*,long );
596  typedef void (CALLCONV DHFL2dll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
597  typedef void (CALLCONV DHFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
598  typedef void (CALLCONV DIELECdll_TYPE)(double *,double *,double *,double *);
599  typedef void (CALLCONV DOTFILLdll_TYPE)(long *,double *,double *,double *,long *,char*,long );
600  typedef void (CALLCONV DPDD2dll_TYPE)(double *,double *,double *,double *);
601  typedef void (CALLCONV DPDDKdll_TYPE)(long *,double *,double *,double *);
602  typedef void (CALLCONV DPDDdll_TYPE)(double *,double *,double *,double *);
603  typedef void (CALLCONV DPDTKdll_TYPE)(long *,double *,double *,double *);
604  typedef void (CALLCONV DPDTdll_TYPE)(double *,double *,double *,double *);
605  typedef void (CALLCONV DPTSATKdll_TYPE)(long *,double *,long *,double *,double *,double *,double *,long *,char*,long );
606  typedef void (CALLCONV DSFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
607  typedef void (CALLCONV DSFL1dll_TYPE)(double *,double *,double *,double *,long *,char*,long );
608  typedef void (CALLCONV DSFL2dll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
609  typedef void (CALLCONV ENTHALdll_TYPE)(double *,double *,double *,double *);
610  typedef void (CALLCONV ENTROdll_TYPE)(double *,double *,double *,double *);
611  typedef void (CALLCONV ESFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
612  typedef void (CALLCONV FGCTYdll_TYPE)(double *,double *,double *,double *);
613  typedef void (CALLCONV FPVdll_TYPE)(double *,double *,double *,double *,double *);
614  typedef void (CALLCONV GERG04dll_TYPE)(long *,long *,long *,char*,long );
615  typedef void (CALLCONV GETFIJdll_TYPE)(char*,double *,char*,char*,long ,long ,long );
616  typedef void (CALLCONV GETKTVdll_TYPE)(long *,long *,char*,double *,char*,char*,char*,char*,long ,long ,long ,long ,long );
617  typedef void (CALLCONV GIBBSdll_TYPE)(double *,double *,double *,double *,double *);
618  typedef void (CALLCONV HSFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
619  typedef void (CALLCONV INFOdll_TYPE)(long *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *);
620  typedef void (CALLCONV LIMITKdll_TYPE)(char*,long *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long ,long );
621  typedef void (CALLCONV LIMITSdll_TYPE)(char*,double *,double *,double *,double *,double *,long );
622  typedef void (CALLCONV LIMITXdll_TYPE)(char*,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long ,long );
623  typedef void (CALLCONV MELTPdll_TYPE)(double *,double *,double *,long *,char*,long );
624  typedef void (CALLCONV MELTTdll_TYPE)(double *,double *,double *,long *,char*,long );
625  typedef void (CALLCONV MLTH2Odll_TYPE)(double *,double *,double *);
626  typedef void (CALLCONV NAMEdll_TYPE)(long *,char*,char*,char*,long ,long ,long );
627  typedef void (CALLCONV PDFL1dll_TYPE)(double *,double *,double *,double *,long *,char*,long );
628  typedef void (CALLCONV PDFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
629  typedef void (CALLCONV PEFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
630  typedef void (CALLCONV PHFL1dll_TYPE)(double *,double *,double *,long *,double *,double *,long *,char*,long );
631  typedef void (CALLCONV PHFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
632  typedef void (CALLCONV PQFLSHdll_TYPE)(double *,double *,double *,long *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
633  typedef void (CALLCONV PREOSdll_TYPE)(long *);
634  typedef void (CALLCONV PRESSdll_TYPE)(double *,double *,double *,double *);
635  typedef void (CALLCONV PSFL1dll_TYPE)(double *,double *,double *,long *,double *,double *,long *,char*,long );
636  typedef void (CALLCONV PSFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
637  typedef void (CALLCONV PUREFLDdll_TYPE)(long *);
638  typedef void (CALLCONV QMASSdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
639  typedef void (CALLCONV QMOLEdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
640  typedef void (CALLCONV RESIDUALdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *);
641  typedef void (CALLCONV SATDdll_TYPE)(double *,double *,long *,long *,double *,double *,double *,double *,double *,double *,long *,char*,long );
642  typedef void (CALLCONV SATEdll_TYPE)(double *,double *,long *,long *,long *,double *,double *,double *,long *,double *,double *,double *,long *,char*,long );
643  typedef void (CALLCONV SATHdll_TYPE)(double *,double *,long *,long *,long *,double *,double *,double *,long *,double *,double *,double *,long *,char*,long );
644  typedef void (CALLCONV SATPdll_TYPE)(double *,double *,long *,double *,double *,double *,double *,double *,long *,char*,long );
645  typedef void (CALLCONV SATSdll_TYPE)(double *,double *,long *,long *,long *,double *,double *,double *,long *,double *,double *,double *,long *,double *,double *,double *,long *,char*,long );
646  typedef void (CALLCONV SATTdll_TYPE)(double *,double *,long *,double *,double *,double *,double *,double *,long *,char*,long );
647  typedef void (CALLCONV SETAGAdll_TYPE)(long *,char*,long );
648  typedef void (CALLCONV SETKTVdll_TYPE)(long *,long *,char*,double *,char*,long *,char*,long ,long ,long );
649  typedef void (CALLCONV SETMIXdll_TYPE)(char*,char*,char*,long *,char*,double *,long *,char*,long ,long ,long ,long ,long );
650  typedef void (CALLCONV SETMODdll_TYPE)(long *,char*,char*,char*,long *,char*,long ,long ,long ,long );
651  typedef void (CALLCONV SETREFdll_TYPE)(char*,long *,double *,double *,double *,double *,double *,long *,char*,long ,long );
652  typedef void (CALLCONV SETUPdll_TYPE)(long *,char*,char*,char*,long *,char*,long ,long ,long ,long );
653  //typedef void (CALLCONV SETUPdll_TYPE)(long *,char*,char*,char*,long *,char*);
654 // typedef void (CALLCONV SPECGRdll_TYPE)(double *,double *,double *,double *); // not found in library
655  typedef void (CALLCONV SUBLPdll_TYPE)(double *,double *,double *,long *,char*,long );
656  typedef void (CALLCONV SUBLTdll_TYPE)(double *,double *,double *,long *,char*,long );
657  typedef void (CALLCONV SURFTdll_TYPE)(double *,double *,double *,double *,long *,char*,long );
658  typedef void (CALLCONV SURTENdll_TYPE)(double *,double *,double *,double *,double *,double *,long *,char*,long );
659  typedef void (CALLCONV TDFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
660  typedef void (CALLCONV TEFLSHdll_TYPE)(double *,double *,double *,long *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
661  typedef void (CALLCONV THERM0dll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *);
662  typedef void (CALLCONV THERM2dll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *);
663  typedef void (CALLCONV THERM3dll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *);
664  typedef void (CALLCONV THERMdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *);
665  typedef void (CALLCONV THFLSHdll_TYPE)(double *,double *,double *,long *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
666  typedef void (CALLCONV TPFLSHdll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
667  typedef void (CALLCONV TPFL2dll_TYPE)(double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
668  typedef void (CALLCONV TPRHOdll_TYPE)(double *,double *,double *,long *,long *,double *,long *,char*,long );
669  typedef void (CALLCONV TQFLSHdll_TYPE)(double *,double *,double *,long *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
670  typedef void (CALLCONV TRNPRPdll_TYPE)(double *,double *,double *,double *,double *,long *,char*,long );
671  typedef void (CALLCONV TSFLSHdll_TYPE)(double *,double *,double *,long *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,double *,long *,char*,long );
672  typedef void (CALLCONV VIRBdll_TYPE)(double *,double *,double *);
673  typedef void (CALLCONV VIRCdll_TYPE)(double *,double *,double *);
674  typedef void (CALLCONV WMOLdll_TYPE)(double *,double *);
675  typedef void (CALLCONV XMASSdll_TYPE)(double *,double *,double *);
676  typedef void (CALLCONV XMOLEdll_TYPE)(double *,double *,double *);
677  //
678  // Diabled because we prefer pointers here!
679 // // Declare the functions for direct access,
680 // RPVersion_TYPE RPVersion;
681 // SETPATHdll_TYPE SETPATHdll;
682 // ABFL1dll_TYPE ABFL1dll;
683 // ABFL2dll_TYPE ABFL2dll;
684 // ACTVYdll_TYPE ACTVYdll;
685 // AGdll_TYPE AGdll;
686 // CCRITdll_TYPE CCRITdll;
687 // CP0dll_TYPE CP0dll;
688 // CRITPdll_TYPE CRITPdll;
689 // CSATKdll_TYPE CSATKdll;
690 // CV2PKdll_TYPE CV2PKdll;
691 // CVCPKdll_TYPE CVCPKdll;
692 // CVCPdll_TYPE CVCPdll;
693 // DBDTdll_TYPE DBDTdll;
694 // DBFL1dll_TYPE DBFL1dll;
695 // DBFL2dll_TYPE DBFL2dll;
696 // DDDPdll_TYPE DDDPdll;
697 // DDDTdll_TYPE DDDTdll;
698 // DEFLSHdll_TYPE DEFLSHdll;
699 // DHD1dll_TYPE DHD1dll;
700 // DHFLSHdll_TYPE DHFLSHdll;
701 // DHFL1dll_TYPE DHFL1dll;
702 // DHFL2dll_TYPE DHFL2dll;
703 // DIELECdll_TYPE DIELECdll;
704 // DOTFILLdll_TYPE DOTFILLdll;
705 // DPDD2dll_TYPE DPDD2dll;
706 // DPDDKdll_TYPE DPDDKdll;
707 // DPDDdll_TYPE DPDDdll;
708 // DPDTKdll_TYPE DPDTKdll;
709 // DPDTdll_TYPE DPDTdll;
710 // DPTSATKdll_TYPE DPTSATKdll;
711 // DSFLSHdll_TYPE DSFLSHdll;
712 // DSFL1dll_TYPE DSFL1dll;
713 // DSFL2dll_TYPE DSFL2dll;
714 // ENTHALdll_TYPE ENTHALdll;
715 // ENTROdll_TYPE ENTROdll;
716 // ESFLSHdll_TYPE ESFLSHdll;
717 // FGCTYdll_TYPE FGCTYdll;
718 // FPVdll_TYPE FPVdll;
719 // GERG04dll_TYPE GERG04dll;
720 // GETFIJdll_TYPE GETFIJdll;
721 // GETKTVdll_TYPE GETKTVdll;
722 // GIBBSdll_TYPE GIBBSdll;
723 // HSFLSHdll_TYPE HSFLSHdll;
724 // INFOdll_TYPE INFOdll;
725 // LIMITKdll_TYPE LIMITKdll;
726 // LIMITSdll_TYPE LIMITSdll;
727 // LIMITXdll_TYPE LIMITXdll;
728 // MELTPdll_TYPE MELTPdll;
729 // MELTTdll_TYPE MELTTdll;
730 // MLTH2Odll_TYPE MLTH2Odll;
731 // NAMEdll_TYPE NAMEdll;
732 // PDFL1dll_TYPE PDFL1dll;
733 // PDFLSHdll_TYPE PDFLSHdll;
734 // PEFLSHdll_TYPE PEFLSHdll;
735 // PHFL1dll_TYPE PHFL1dll;
736 // PHFLSHdll_TYPE PHFLSHdll;
737 // PQFLSHdll_TYPE PQFLSHdll;
738 // PREOSdll_TYPE PREOSdll;
739 // PRESSdll_TYPE PRESSdll;
740 // PSFL1dll_TYPE PSFL1dll;
741 // PSFLSHdll_TYPE PSFLSHdll;
742 // PUREFLDdll_TYPE PUREFLDdll;
743 // QMASSdll_TYPE QMASSdll;
744 // QMOLEdll_TYPE QMOLEdll;
745 // SATDdll_TYPE SATDdll;
746 // SATEdll_TYPE SATEdll;
747 // SATHdll_TYPE SATHdll;
748 // SATPdll_TYPE SATPdll;
749 // SATSdll_TYPE SATSdll;
750 // SATTdll_TYPE SATTdll;
751 // SETAGAdll_TYPE SETAGAdll;
752 // SETKTVdll_TYPE SETKTVdll;
753 // SETMIXdll_TYPE SETMIXdll;
754 // SETMODdll_TYPE SETMODdll;
755 // SETREFdll_TYPE SETREFdll;
756 // SETUPdll_TYPE SETUPdll;
758 // SUBLPdll_TYPE SUBLPdll;
759 // SUBLTdll_TYPE SUBLTdll;
760 // SURFTdll_TYPE SURFTdll;
761 // SURTENdll_TYPE SURTENdll;
762 // TDFLSHdll_TYPE TDFLSHdll;
763 // TEFLSHdll_TYPE TEFLSHdll;
764 // THERM0dll_TYPE THERM0dll;
765 // THERM2dll_TYPE THERM2dll;
766 // THERM3dll_TYPE THERM3dll;
767 // THERMdll_TYPE THERMdll;
768 // THFLSHdll_TYPE THFLSHdll;
769 // TPFLSHdll_TYPE TPFLSHdll;
770 // TPFL2dll_TYPE TPFL2dll;
771 // TPRHOdll_TYPE TPRHOdll;
772 // TQFLSHdll_TYPE TQFLSHdll;
773 // TRNPRPdll_TYPE TRNPRPdll;
774 // TSFLSHdll_TYPE TSFLSHdll;
775 // VIRBdll_TYPE VIRBdll;
776 // VIRCdll_TYPE VIRCdll;
777 // WMOLdll_TYPE WMOLdll;
778 // XMASSdll_TYPE XMASSdll;
779 // XMOLEdll_TYPE XMOLEdll;
780  //
781  // Define explicit function pointers
782  typedef RPVersion_TYPE * RPVersion_POINTER;
783  typedef SETPATHdll_TYPE * SETPATHdll_POINTER;
784  typedef ABFL1dll_TYPE * ABFL1dll_POINTER;
785  typedef ABFL2dll_TYPE * ABFL2dll_POINTER;
786  typedef ACTVYdll_TYPE * ACTVYdll_POINTER;
787  typedef AGdll_TYPE * AGdll_POINTER;
788  typedef CCRITdll_TYPE * CCRITdll_POINTER;
789  typedef CP0dll_TYPE * CP0dll_POINTER;
790  typedef CRITPdll_TYPE * CRITPdll_POINTER;
791  typedef CSATKdll_TYPE * CSATKdll_POINTER;
792  typedef CV2PKdll_TYPE * CV2PKdll_POINTER;
793  typedef CVCPKdll_TYPE * CVCPKdll_POINTER;
794  typedef CVCPdll_TYPE * CVCPdll_POINTER;
795  typedef DBDTdll_TYPE * DBDTdll_POINTER;
796  typedef DBFL1dll_TYPE * DBFL1dll_POINTER;
797  typedef DBFL2dll_TYPE * DBFL2dll_POINTER;
798  typedef DDDPdll_TYPE * DDDPdll_POINTER;
799  typedef DDDTdll_TYPE * DDDTdll_POINTER;
800  typedef DEFLSHdll_TYPE * DEFLSHdll_POINTER;
801  typedef DHD1dll_TYPE * DHD1dll_POINTER;
802  typedef DHFLSHdll_TYPE * DHFLSHdll_POINTER;
803  typedef DHFL1dll_TYPE * DHFL1dll_POINTER;
804  typedef DHFL2dll_TYPE * DHFL2dll_POINTER;
805  typedef DIELECdll_TYPE * DIELECdll_POINTER;
806  typedef DOTFILLdll_TYPE * DOTFILLdll_POINTER;
807  typedef DPDD2dll_TYPE * DPDD2dll_POINTER;
808  typedef DPDDKdll_TYPE * DPDDKdll_POINTER;
809  typedef DPDDdll_TYPE * DPDDdll_POINTER;
810  typedef DPDTKdll_TYPE * DPDTKdll_POINTER;
811  typedef DPDTdll_TYPE * DPDTdll_POINTER;
812  typedef DPTSATKdll_TYPE * DPTSATKdll_POINTER;
813  typedef DSFLSHdll_TYPE * DSFLSHdll_POINTER;
814  typedef DSFL1dll_TYPE * DSFL1dll_POINTER;
815  typedef DSFL2dll_TYPE * DSFL2dll_POINTER;
816  typedef ENTHALdll_TYPE * ENTHALdll_POINTER;
817  typedef ENTROdll_TYPE * ENTROdll_POINTER;
818  typedef ESFLSHdll_TYPE * ESFLSHdll_POINTER;
819  typedef FGCTYdll_TYPE * FGCTYdll_POINTER;
820  typedef FPVdll_TYPE * FPVdll_POINTER;
821  typedef GERG04dll_TYPE * GERG04dll_POINTER;
822  typedef GETFIJdll_TYPE * GETFIJdll_POINTER;
823  typedef GETKTVdll_TYPE * GETKTVdll_POINTER;
824  typedef GIBBSdll_TYPE * GIBBSdll_POINTER;
825  typedef HSFLSHdll_TYPE * HSFLSHdll_POINTER;
826  typedef INFOdll_TYPE * INFOdll_POINTER;
827  typedef LIMITKdll_TYPE * LIMITKdll_POINTER;
828  typedef LIMITSdll_TYPE * LIMITSdll_POINTER;
829  typedef LIMITXdll_TYPE * LIMITXdll_POINTER;
830  typedef MELTPdll_TYPE * MELTPdll_POINTER;
831  typedef MELTTdll_TYPE * MELTTdll_POINTER;
832  typedef MLTH2Odll_TYPE * MLTH2Odll_POINTER;
833  typedef NAMEdll_TYPE * NAMEdll_POINTER;
834  typedef PDFL1dll_TYPE * PDFL1dll_POINTER;
835  typedef PDFLSHdll_TYPE * PDFLSHdll_POINTER;
836  typedef PEFLSHdll_TYPE * PEFLSHdll_POINTER;
837  typedef PHFL1dll_TYPE * PHFL1dll_POINTER;
838  typedef PHFLSHdll_TYPE * PHFLSHdll_POINTER;
839  typedef PQFLSHdll_TYPE * PQFLSHdll_POINTER;
840  typedef PREOSdll_TYPE * PREOSdll_POINTER;
841  typedef PRESSdll_TYPE * PRESSdll_POINTER;
842  typedef PSFL1dll_TYPE * PSFL1dll_POINTER;
843  typedef PSFLSHdll_TYPE * PSFLSHdll_POINTER;
844  typedef PUREFLDdll_TYPE * PUREFLDdll_POINTER;
845  typedef QMASSdll_TYPE * QMASSdll_POINTER;
846  typedef QMOLEdll_TYPE * QMOLEdll_POINTER;
847  typedef RESIDUALdll_TYPE * RESIDUALdll_POINTER;
848  typedef SATDdll_TYPE * SATDdll_POINTER;
849  typedef SATEdll_TYPE * SATEdll_POINTER;
850  typedef SATHdll_TYPE * SATHdll_POINTER;
851  typedef SATPdll_TYPE * SATPdll_POINTER;
852  typedef SATSdll_TYPE * SATSdll_POINTER;
853  typedef SATTdll_TYPE * SATTdll_POINTER;
854  typedef SETAGAdll_TYPE * SETAGAdll_POINTER;
855  typedef SETKTVdll_TYPE * SETKTVdll_POINTER;
856  typedef SETMIXdll_TYPE * SETMIXdll_POINTER;
857  typedef SETMODdll_TYPE * SETMODdll_POINTER;
858  typedef SETREFdll_TYPE * SETREFdll_POINTER;
859  typedef SETUPdll_TYPE * SETUPdll_POINTER;
860 // typedef SPECGRdll_TYPE * SPECGRdll_POINTER; // not found in library
861  typedef SUBLPdll_TYPE * SUBLPdll_POINTER;
862  typedef SUBLTdll_TYPE * SUBLTdll_POINTER;
863  typedef SURFTdll_TYPE * SURFTdll_POINTER;
864  typedef SURTENdll_TYPE * SURTENdll_POINTER;
865  typedef TDFLSHdll_TYPE * TDFLSHdll_POINTER;
866  typedef TEFLSHdll_TYPE * TEFLSHdll_POINTER;
867  typedef THERM0dll_TYPE * THERM0dll_POINTER;
868  typedef THERM2dll_TYPE * THERM2dll_POINTER;
869  typedef THERM3dll_TYPE * THERM3dll_POINTER;
870  typedef THERMdll_TYPE * THERMdll_POINTER;
871  typedef THFLSHdll_TYPE * THFLSHdll_POINTER;
872  typedef TPFLSHdll_TYPE * TPFLSHdll_POINTER;
873  typedef TPFL2dll_TYPE * TPFL2dll_POINTER;
874  typedef TPRHOdll_TYPE * TPRHOdll_POINTER;
875  typedef TQFLSHdll_TYPE * TQFLSHdll_POINTER;
876  typedef TRNPRPdll_TYPE * TRNPRPdll_POINTER;
877  typedef TSFLSHdll_TYPE * TSFLSHdll_POINTER;
878  typedef VIRBdll_TYPE * VIRBdll_POINTER;
879  typedef VIRCdll_TYPE * VIRCdll_POINTER;
880  typedef WMOLdll_TYPE * WMOLdll_POINTER;
881  typedef XMASSdll_TYPE * XMASSdll_POINTER;
882  typedef XMOLEdll_TYPE * XMOLEdll_POINTER;
883 #ifdef __cplusplus
884 } // extern "C"
885 #endif // __cplusplus
886 #endif // defined(RPversion)
887 #endif // REFPROP_LIB_H
CV2PKdll_TYPE * CV2PKdll_POINTER
Definition: REFPROP_lib.h:792
LIMITSdll_TYPE * LIMITSdll_POINTER
Definition: REFPROP_lib.h:828
MLTH2Odll_TYPE * MLTH2Odll_POINTER
Definition: REFPROP_lib.h:832
DIELECdll_TYPE * DIELECdll_POINTER
Definition: REFPROP_lib.h:805
ENTROdll_TYPE * ENTROdll_POINTER
Definition: REFPROP_lib.h:817
THERMdll_TYPE * THERMdll_POINTER
Definition: REFPROP_lib.h:870
GERG04dll_TYPE * GERG04dll_POINTER
Definition: REFPROP_lib.h:821
SETPATHdll_TYPE * SETPATHdll_POINTER
Definition: REFPROP_lib.h:783
double double long double double double double double double long char long
Definition: REFPROP_lib.h:577
GETFIJdll_TYPE * GETFIJdll_POINTER
Definition: REFPROP_lib.h:822
DHFL1dll_TYPE * DHFL1dll_POINTER
Definition: REFPROP_lib.h:803
VIRCdll_TYPE * VIRCdll_POINTER
Definition: REFPROP_lib.h:879
DDDTdll_TYPE * DDDTdll_POINTER
Definition: REFPROP_lib.h:799
SETUPdll_TYPE * SETUPdll_POINTER
Definition: REFPROP_lib.h:859
ABFL1dll_TYPE * ABFL1dll_POINTER
Definition: REFPROP_lib.h:784
ESFLSHdll_TYPE * ESFLSHdll_POINTER
Definition: REFPROP_lib.h:818
QMASSdll_TYPE * QMASSdll_POINTER
Definition: REFPROP_lib.h:845
LIMITXdll_TYPE * LIMITXdll_POINTER
Definition: REFPROP_lib.h:829
PUREFLDdll_TYPE * PUREFLDdll_POINTER
Definition: REFPROP_lib.h:844
SATPdll_TYPE * SATPdll_POINTER
Definition: REFPROP_lib.h:851
#define CALLCONV
Definition: REFPROP_lib.h:347
SETAGAdll_TYPE * SETAGAdll_POINTER
Definition: REFPROP_lib.h:854
DPTSATKdll_TYPE * DPTSATKdll_POINTER
Definition: REFPROP_lib.h:812
DHD1dll_TYPE * DHD1dll_POINTER
Definition: REFPROP_lib.h:801
SETMIXdll_TYPE * SETMIXdll_POINTER
Definition: REFPROP_lib.h:856
FPVdll_TYPE * FPVdll_POINTER
Definition: REFPROP_lib.h:820
PHFL1dll_TYPE * PHFL1dll_POINTER
Definition: REFPROP_lib.h:837
THERM3dll_TYPE * THERM3dll_POINTER
Definition: REFPROP_lib.h:869
DPDTKdll_TYPE * DPDTKdll_POINTER
Definition: REFPROP_lib.h:810
DSFL1dll_TYPE * DSFL1dll_POINTER
Definition: REFPROP_lib.h:814
TPFL2dll_TYPE * TPFL2dll_POINTER
Definition: REFPROP_lib.h:873
PSFL1dll_TYPE * PSFL1dll_POINTER
Definition: REFPROP_lib.h:842
WMOLdll_TYPE * WMOLdll_POINTER
Definition: REFPROP_lib.h:880
SURTENdll_TYPE * SURTENdll_POINTER
Definition: REFPROP_lib.h:864
DHFL2dll_TYPE * DHFL2dll_POINTER
Definition: REFPROP_lib.h:804
SUBLPdll_TYPE * SUBLPdll_POINTER
Definition: REFPROP_lib.h:861
DSFL2dll_TYPE * DSFL2dll_POINTER
Definition: REFPROP_lib.h:815
SUBLTdll_TYPE * SUBLTdll_POINTER
Definition: REFPROP_lib.h:862
THFLSHdll_TYPE * THFLSHdll_POINTER
Definition: REFPROP_lib.h:871
PHFLSHdll_TYPE * PHFLSHdll_POINTER
Definition: REFPROP_lib.h:838
XMASSdll_TYPE * XMASSdll_POINTER
Definition: REFPROP_lib.h:881
PEFLSHdll_TYPE * PEFLSHdll_POINTER
Definition: REFPROP_lib.h:836
MELTPdll_TYPE * MELTPdll_POINTER
Definition: REFPROP_lib.h:830
TEFLSHdll_TYPE * TEFLSHdll_POINTER
Definition: REFPROP_lib.h:866
TDFLSHdll_TYPE * TDFLSHdll_POINTER
Definition: REFPROP_lib.h:865
AGdll_TYPE * AGdll_POINTER
Definition: REFPROP_lib.h:787
SETKTVdll_TYPE * SETKTVdll_POINTER
Definition: REFPROP_lib.h:855
QMOLEdll_TYPE * QMOLEdll_POINTER
Definition: REFPROP_lib.h:846
THERM0dll_TYPE * THERM0dll_POINTER
Definition: REFPROP_lib.h:867
RESIDUALdll_TYPE * RESIDUALdll_POINTER
Definition: REFPROP_lib.h:847
DBDTdll_TYPE * DBDTdll_POINTER
Definition: REFPROP_lib.h:795
SETREFdll_TYPE * SETREFdll_POINTER
Definition: REFPROP_lib.h:858
SATHdll_TYPE * SATHdll_POINTER
Definition: REFPROP_lib.h:850
CCRITdll_TYPE * CCRITdll_POINTER
Definition: REFPROP_lib.h:788
TRNPRPdll_TYPE * TRNPRPdll_POINTER
Definition: REFPROP_lib.h:876
CP0dll_TYPE * CP0dll_POINTER
Definition: REFPROP_lib.h:789
DBFL2dll_TYPE * DBFL2dll_POINTER
Definition: REFPROP_lib.h:797
INFOdll_TYPE * INFOdll_POINTER
Definition: REFPROP_lib.h:826
double double *typedef double double *typedef double *typedef double double *typedef double double *typedef RPVersion_TYPE * RPVersion_POINTER
Definition: REFPROP_lib.h:676
TQFLSHdll_TYPE * TQFLSHdll_POINTER
Definition: REFPROP_lib.h:875
TPRHOdll_TYPE * TPRHOdll_POINTER
Definition: REFPROP_lib.h:874
DPDTdll_TYPE * DPDTdll_POINTER
Definition: REFPROP_lib.h:811
PSFLSHdll_TYPE * PSFLSHdll_POINTER
Definition: REFPROP_lib.h:843
PRESSdll_TYPE * PRESSdll_POINTER
Definition: REFPROP_lib.h:841
VIRBdll_TYPE * VIRBdll_POINTER
Definition: REFPROP_lib.h:878
DPDDdll_TYPE * DPDDdll_POINTER
Definition: REFPROP_lib.h:809
CSATKdll_TYPE * CSATKdll_POINTER
Definition: REFPROP_lib.h:791
MELTTdll_TYPE * MELTTdll_POINTER
Definition: REFPROP_lib.h:831
TPFLSHdll_TYPE * TPFLSHdll_POINTER
Definition: REFPROP_lib.h:872
double double double *typedef void(CALLCONV AGdll_TYPE)(double *
Definition: REFPROP_lib.h:580
GETKTVdll_TYPE * GETKTVdll_POINTER
Definition: REFPROP_lib.h:823
CVCPKdll_TYPE * CVCPKdll_POINTER
Definition: REFPROP_lib.h:793
FGCTYdll_TYPE * FGCTYdll_POINTER
Definition: REFPROP_lib.h:819
SATEdll_TYPE * SATEdll_POINTER
Definition: REFPROP_lib.h:849
DSFLSHdll_TYPE * DSFLSHdll_POINTER
Definition: REFPROP_lib.h:813
LIMITKdll_TYPE * LIMITKdll_POINTER
Definition: REFPROP_lib.h:827
ACTVYdll_TYPE * ACTVYdll_POINTER
Definition: REFPROP_lib.h:786
SURFTdll_TYPE * SURFTdll_POINTER
Definition: REFPROP_lib.h:863
TSFLSHdll_TYPE * TSFLSHdll_POINTER
Definition: REFPROP_lib.h:877
PQFLSHdll_TYPE * PQFLSHdll_POINTER
Definition: REFPROP_lib.h:839
GIBBSdll_TYPE * GIBBSdll_POINTER
Definition: REFPROP_lib.h:824
SATTdll_TYPE * SATTdll_POINTER
Definition: REFPROP_lib.h:853
DPDD2dll_TYPE * DPDD2dll_POINTER
Definition: REFPROP_lib.h:807
DDDPdll_TYPE * DDDPdll_POINTER
Definition: REFPROP_lib.h:798
CRITPdll_TYPE * CRITPdll_POINTER
Definition: REFPROP_lib.h:790
XMOLEdll_TYPE * XMOLEdll_POINTER
Definition: REFPROP_lib.h:882
DOTFILLdll_TYPE * DOTFILLdll_POINTER
Definition: REFPROP_lib.h:806
ENTHALdll_TYPE * ENTHALdll_POINTER
Definition: REFPROP_lib.h:816
SATDdll_TYPE * SATDdll_POINTER
Definition: REFPROP_lib.h:848
DHFLSHdll_TYPE * DHFLSHdll_POINTER
Definition: REFPROP_lib.h:802
HSFLSHdll_TYPE * HSFLSHdll_POINTER
Definition: REFPROP_lib.h:825
DPDDKdll_TYPE * DPDDKdll_POINTER
Definition: REFPROP_lib.h:808
SATSdll_TYPE * SATSdll_POINTER
Definition: REFPROP_lib.h:852
SETMODdll_TYPE * SETMODdll_POINTER
Definition: REFPROP_lib.h:857
ABFL2dll_TYPE * ABFL2dll_POINTER
Definition: REFPROP_lib.h:785
PREOSdll_TYPE * PREOSdll_POINTER
Definition: REFPROP_lib.h:840
DEFLSHdll_TYPE * DEFLSHdll_POINTER
Definition: REFPROP_lib.h:800
DBFL1dll_TYPE * DBFL1dll_POINTER
Definition: REFPROP_lib.h:796
PDFLSHdll_TYPE * PDFLSHdll_POINTER
Definition: REFPROP_lib.h:835
CVCPdll_TYPE * CVCPdll_POINTER
Definition: REFPROP_lib.h:794
THERM2dll_TYPE * THERM2dll_POINTER
Definition: REFPROP_lib.h:868
PDFL1dll_TYPE * PDFL1dll_POINTER
Definition: REFPROP_lib.h:834
NAMEdll_TYPE * NAMEdll_POINTER
Definition: REFPROP_lib.h:833