00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __PLSTUBS_H__
00013 #define __PLSTUBS_H__
00014
00015 #include "plplotP.h"
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051 #define STUB_LAU 1
00052 #define STUB_L 2
00053 #define STUB_U 3
00054 #define STUB_FORTRAN 4
00055 #define STUB_STDCALL 5
00056 #define STUB_MINGW 6
00057 #define STUB_IVF 7
00058
00059 #ifndef STUB_LINKAGE
00060
00061 #if defined ( SX ) // NEC Super-UX (SX-3)
00062 #define STUB_LINKAGE STUB_LAU
00063 #endif
00064
00065 #if defined ( _IBMR2 ) && defined ( _AIX ) // AIX
00066 #define STUB_LINKAGE STUB_L
00067 #endif
00068
00069 #ifdef __hpux // HP/UX
00070 #define STUB_LINKAGE STUB_L
00071 #endif
00072
00073 #ifdef __mips // IRIX (SGI systems)
00074 #define STUB_LINKAGE STUB_LAU
00075 #endif
00076
00077 #ifdef sun // Suns
00078 #define STUB_LINKAGE STUB_LAU
00079 #endif
00080
00081 #ifdef CRAY // Cray/UNICOS
00082 #define STUB_LINKAGE STUB_U
00083 #endif
00084
00085 #if defined ( __alpha ) && defined ( __osf__ ) // DEC Alpha AXP/OSF
00086 #define STUB_LINKAGE STUB_LAU
00087 #endif
00088
00089 #ifdef __GO32__ // dos386/djgpp
00090 #ifdef MSDOS
00091 #undef MSDOS
00092 #endif
00093 #endif
00094
00095 #ifdef WIN32 // MS-DOS based
00096 #ifdef IVF // Intel Visual Fortran
00097 #define STUB_LINKAGE STUB_IVF
00098 #elif defined ( CVF )
00099 #define STUB_LINKAGE STUB_U
00100 #elif defined ( MSDOS )
00101 #define STUB_LINKAGE STUB_FORTRAN
00102 #elif defined ( _MSC_VER )
00103 #define STUB_LINKAGE STUB_STDCALL
00104 #elif defined ( __GNUC__ )
00105 #define STUB_LINKAGE STUB_MINGW
00106 #endif
00107 #elif defined ( MSDOS ) // MS-DOS based
00108 #define STUB_LINKAGE STUB_FORTRAN
00109 #endif // Windows 32-bit
00110
00111 #ifndef STUB_LINKAGE // The default
00112 #define STUB_LINKAGE STUB_LAU
00113 #endif
00114
00115 #endif // ifndef STUB_LINKAGE
00116
00117
00118
00119
00120
00121
00122
00123 #if STUB_LINKAGE == STUB_LAU
00124 #define FNAME( x, y ) PLDLLIMPEXP_F95C y ## _
00125 #define FNAME_( x, y ) y ## _
00126
00127 #elif STUB_LINKAGE == STUB_L
00128 #define FNAME( x, y ) y
00129 #define FNAME_( x, y ) y
00130
00131 #elif STUB_LINKAGE == STUB_U
00132 #define FNAME( x, y ) PLDLLIMPEXP_F95C __stdcall x
00133 #define FNAME_( x, y ) x
00134
00135 #elif STUB_LINKAGE == STUB_FORTRAN
00136 #define FNAME( x, y ) fortran x
00137 #define FNAME_( x, y ) x
00138
00139 #elif STUB_LINKAGE == STUB_STDCALL
00140 #define FNAME( x, y ) PLDLLIMPEXP_F95C __stdcall x
00141 #define FNAME_( x, y ) x
00142
00143 #elif STUB_LINKAGE == STUB_MINGW
00144 #define FNAME( x, y ) PLDLLIMPEXP_F95C y ## _
00145 #define FNAME_( x, y ) y
00146
00147 #elif STUB_LINKAGE == STUB_IVF
00148 #define FNAME( x, y ) PLDLLIMPEXP_F95C x
00149 #define FNAME_( x, y ) x
00150
00151 #else
00152 #error "Illegal setting for STUB_LINKAGE"
00153 #endif
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169 #define PL_SETCONTLABELFORMAT FNAME( PL_SETCONTLABELFORMAT, pl_setcontlabelformat )
00170 #define PL_SETCONTLABELFORMATa FNAME( PL_SETCONTLABELFORMAT_, pl_setcontlabelformat_ )
00171 #define PL_SETCONTLABELPARAM FNAME( PL_SETCONTLABELPARAM, pl_setcontlabelparam )
00172 #define PL_SETCONTLABELPARAMa FNAME( PL_SETCONTLABELPARAM_, pl_setcontlabelparam_ )
00173 #define PLABORT7 FNAME( PLABORT7, plabort7 )
00174 #define PLADV FNAME( PLADV, pladv )
00175 #define PLARC FNAME( PLARC, plarc )
00176 #define PLAXES7 FNAME( PLAXES7, plaxes7 )
00177 #define PLBIN FNAME( PLBINF77, plbinf77 )
00178 #define PLBOP FNAME( PLBOP, plbop )
00179 #define PLBOX37 FNAME( PLBOX37, plbox37 )
00180 #define PLBOX7 FNAME( PLBOX7, plbox7 )
00181 #define PLBTIME FNAME( PLBTIME, plbtime )
00182 #define PLCALC_WORLD FNAME( PLCALC_WORLD, plcalc_world )
00183 #define PLCALC_WORLDa FNAME( PLCALC_WORLD_, plcalc_world_ )
00184 #define PLCLEAR FNAME( PLCLEAR, plclear )
00185 #define PLCLR FNAME( PLCLR, plclr )
00186 #define PLCOL0 FNAME( PLCOL0, plcol0 )
00187 #define PLCOL1 FNAME( PLCOL1, plcol1 )
00188 #define PLCONFIGTIME FNAME( PLCONFIGTIME, plconfigtime )
00189 #define PLCON07 FNAME( PLCON07, plcon07 )
00190 #define PLCON17 FNAME( PLCON17, plcon17 )
00191 #define PLCON27 FNAME( PLCON27, plcon27 )
00192 #define PLCONT7 FNAME( PLCONT7, plcont7 )
00193 #define PLCPSTRM FNAME( PLCPSTRMF77, plcpstrmf77 )
00194 #define PLCTIME FNAME( PLCTIME, plctime )
00195 #define PLEND FNAME( PLEND, plend )
00196 #define PLEND1 FNAME( PLEND1, plend1 )
00197 #define PLENV FNAME( PLENV, plenv )
00198 #define PLENV0 FNAME( PLENV0, plenv0 )
00199 #define PLEOP FNAME( PLEOP, pleop )
00200 #define PLERRX FNAME( PLERRXF77, plerrxf77 )
00201 #define PLERRY FNAME( PLERRYF77, plerryf77 )
00202 #define PLFAMADV FNAME( PLFAMADV, plfamadv )
00203 #define PLFILL FNAME( PLFILLF77, plfillf77 )
00204 #define PLFILL3 FNAME( PLFILL3F77, plfill3f77 )
00205 #define PLFLUSH FNAME( PLFLUSH, plflush )
00206 #define PLFONT FNAME( PLFONT, plfont )
00207 #define PLFONTLD FNAME( PLFONTLD, plfontld )
00208 #define PLGCHR FNAME( PLGCHR, plgchr )
00209 #define PLGCOL0 FNAME( PLGCOL0, plgcol0 )
00210 #define PLGCOL0A FNAME( PLGCOL0A, plgcol0a )
00211 #define PLGCOLBG FNAME( PLGCOLBG, plgcolbg )
00212 #define PLGCOLBGA FNAME( PLGCOLBGA, plgcolbga )
00213 #define PLGCOMPRESSION FNAME( PLGCOMPRESSION, plgcompression )
00214 #define PLGDEV7 FNAME( PLGDEV7, plgdev7 )
00215 #define PLGDIDEV FNAME( PLGDIDEV, plgdidev )
00216 #define PLGDIORI FNAME( PLGDIORI, plgdiori )
00217 #define PLGDIPLT FNAME( PLGDIPLT, plgdiplt )
00218 #define PLGETCURSOR FNAME( PLGETCURSOR, plgetcursor )
00219 #define PLGFAM FNAME( PLGFAM, plgfam )
00220 #define PLGFCI FNAME( PLGFCI, plgfci )
00221 #define PLGFNAM7 FNAME( PLGFNAM7, plgfnam7 )
00222 #define PLGFONT FNAME( PLGFONT, plgfont )
00223 #define PLGLEVEL FNAME( PLGLEVEL, plglevel )
00224 #define PLGPAGE FNAME( PLGPAGE, plgpage )
00225 #define PLGRA FNAME( PLGRA, plgra )
00226 #define PLGRADIENT FNAME( PLGRADIENTF77, plgradientf77 )
00227 #define PLGRIDDATA FNAME( PLGRIDDATAF77, plgriddataf77 )
00228 #define PLGSPA FNAME( PLGSPA, plgspa )
00229 #define PLGSTRM FNAME( PLGSTRM, plgstrm )
00230 #define PLGVER7 FNAME( PLGVER7, plgver7 )
00231 #define PLGVPD FNAME( PLGVPD, plgvpd )
00232 #define PLGVPW FNAME( PLGVPW, plgvpw )
00233 #define PLGXAX FNAME( PLGXAX, plgxax )
00234 #define PLGYAX FNAME( PLGYAX, plgyax )
00235 #define PLGZAX FNAME( PLGZAX, plgzax )
00236 #define PLHIST FNAME( PLHISTF77, plhistf77 )
00237 #define PLHLSRGB FNAME( PLHLSRGB, plhlsrgb )
00238 #define PLIMAGE FNAME( PLIMAGEF77, plimagef77 )
00239 #define PLIMAGEFR07 FNAME( PLIMAGEFR07, plimagefr07 )
00240 #define PLIMAGEFR17 FNAME( PLIMAGEFR17, plimagefr17 )
00241 #define PLIMAGEFR27 FNAME( PLIMAGEFR27, plimagefr27 )
00242 #define PLIMAGEFR7 FNAME( PLIMAGEFR7, plimagefr7 )
00243 #define PLINIT FNAME( PLINIT, plinit )
00244 #define PLJOIN FNAME( PLJOIN, pljoin )
00245 #define PLLAB7 FNAME( PLLAB7, pllab7 )
00246 #define PLLEGEND_CNV_TEXT FNAME( PLLEGEND07_CNV_TEXT, pllegend07_cnv_text )
00247 #define PLLEGEND FNAME( PLLEGEND07, pllegend07 )
00248 #define PLLIGHTSOURCE FNAME( PLLIGHTSOURCE, pllightsource )
00249 #define PLLINE FNAME( PLLINEF77, pllinef77 )
00250 #define PLLINE3 FNAME( PLLINE3F77, plline3f77 )
00251 #define PLLSTY FNAME( PLLSTY, pllsty )
00252 #define PLMAP7 FNAME( PLMAP7, plmap7 )
00253 #define PLMERIDIANS7 FNAME( PLMERIDIANS7, plmeridians7 )
00254 #define PLMESH FNAME( PLMESHF77, plmeshf77 )
00255 #define PLMESHC FNAME( PLMESHCF77, plmeshcf77 )
00256 #define PLMKSTRM FNAME( PLMKSTRM, plmkstrm )
00257 #define PLMTEX7 FNAME( PLMTEX7, plmtex7 )
00258 #define PLMTEX37 FNAME( PLMTEX37, plmtex37 )
00259 #define PLOT3D FNAME( PLOT3DF77, plot3df77 )
00260 #define PLOT3DC FNAME( PLOT3DCF77, plot3dcf77 )
00261
00262 #if STUB_LINKAGE == STUB_STDCALL || STUB_LINKAGE == STUB_FORTRAN
00263 #define CALL_PLOT3DC PLOT3DCF77
00264 #elif STUB_LINKAGE == STUB_LAU
00265 #define CALL_PLOT3DC plot3dcf77_
00266 #else
00267 #define CALL_PLOT3DC PLOT3DC
00268 #endif
00269
00270 #define PLPARSEOPTS7 FNAME( PLPARSEOPTS7, plparseopts7 )
00271 #define PLPAT FNAME( PLPAT, plpat )
00272 #define PLPOIN FNAME( PLPOINF77, plpoinf77 )
00273 #define PLPOIN3 FNAME( PLPOIN3F77, plpoin3f77 )
00274 #define PLPOLY3 FNAME( PLPOLY3F77, plpoly3f77 )
00275 #define PLPREC FNAME( PLPREC, plprec )
00276 #define PLPSTY FNAME( PLPSTY, plpsty )
00277 #define PLPTEX7 FNAME( PLPTEX7, plptex7 )
00278 #define PLPTEX37 FNAME( PLPTEX37, plptex37 )
00279 #define PLRANDD FNAME( PLRANDDF77, plranddf77 )
00280 #define PLREPLOT FNAME( PLREPLOT, plreplot )
00281 #define PLRGBHLS FNAME( PLRGBHLS, plrgbhls )
00282 #define PLSCHR FNAME( PLSCHR, plschr )
00283 #define PLSCMAP0 FNAME( PLSCMAP0F77, plscmap0f77 )
00284 #define PLSCMAP0A FNAME( PLSCMAP0AF77, plscmap0af77 )
00285 #define PLSCMAP0N FNAME( PLSCMAP0N, plscmap0n )
00286 #define PLSCMAP1 FNAME( PLSCMAP1F77, plscmap1f77 )
00287 #define PLSCMAP1A FNAME( PLSCMAP1AF77, plscmap1af77 )
00288 #define PLSCMAP1L FNAME( PLSCMAP1LF77, plscmap1lf77 )
00289 #define PLSCMAP1L2 FNAME( PLSCMAP1L2F77, plscmap1l2f77 )
00290 #define PLSCMAP1LA FNAME( PLSCMAP1LAF77, plscmap1laf77 )
00291 #define PLSCMAP1LA2 FNAME( PLSCMAP1LA2F77, plscmap1la2f77 )
00292 #define PLSCMAP1N FNAME( PLSCMAP1N, plscmap1n )
00293 #define PLSCOL0 FNAME( PLSCOL0, plscol0 )
00294 #define PLSCOL0A FNAME( PLSCOL0A, plscol0a )
00295 #define PLSCOLBG FNAME( PLSCOLBG, plscolbg )
00296 #define PLSCOLBGA FNAME( PLSCOLBGA, plscolbga )
00297 #define PLSCOLOR FNAME( PLSCOLOR, plscolor )
00298 #define PLSCOMPRESSION FNAME( PLSCOMPRESSION, plscompression )
00299 #define PLSDEV7 FNAME( PLSDEV7, plsdev7 )
00300 #define PLSDIDEV FNAME( PLSDIDEV, plsdidev )
00301 #define PLSDIMAP FNAME( PLSDIMAP, plsdimap )
00302 #define PLSDIORI FNAME( PLSDIORI, plsdiori )
00303 #define PLSDIPLT FNAME( PLSDIPLT, plsdiplt )
00304 #define PLSDIPLZ FNAME( PLSDIPLZ, plsdiplz )
00305 #define PLSEED FNAME( PLSEED, plseed )
00306 #define PLSESC FNAME( PLSESC, plsesc )
00307 #define PLSETOPT7 FNAME( PLSETOPT7, plsetopt7 )
00308 #define PLSFAM FNAME( PLSFAM, plsfam )
00309 #define PLSFCI FNAME( PLSFCI, plsfci )
00310 #define PLSFNAM7 FNAME( PLSFNAM7, plsfnam7 )
00311 #define PLSFONT FNAME( PLSFONT, plsfont )
00312 #define PLSHADE07 FNAME( PLSHADE07, plshade07 )
00313 #define PLSHADE17 FNAME( PLSHADE17, plshade17 )
00314 #define PLSHADE27 FNAME( PLSHADE27, plshade27 )
00315 #define PLSHADE7 FNAME( PLSHADE7, plshade7 )
00316 #define PLSHADES07 FNAME( PLSHADES07, plshades07 )
00317 #define PLSHADES17 FNAME( PLSHADES17, plshades17 )
00318 #define PLSHADES27 FNAME( PLSHADES27, plshades27 )
00319 #define PLSHADES7 FNAME( PLSHADES7, plshades7 )
00320 #define PLSLABELFUNC_ON FNAME( PLSLABELFUNC_ON, plslabelfunc_on )
00321 #define PLSLABELFUNC_ONa FNAME( PLSLABELFUNC_ON_, plslabelfunc_on_ )
00322 #define PLSLABELFUNC_OFF FNAME( PLSLABELFUNC_OFF, plslabelfunc_off )
00323 #define PLSLABELFUNC_OFFa FNAME( PLSLABELFUNC_OFF_, plslabelfunc_off_ )
00324 #define PLSLABELFUNC_NONE FNAME( PLSLABELFUNC_NONE, plslabelfunc_none )
00325 #define PLSLABELFUNC_NONEa FNAME( PLSLABELFUNC_NONE_, plslabelfunc_none_ )
00326 #define PLSMAJ FNAME( PLSMAJ, plsmaj )
00327 #define PLSMEM FNAME( PLSMEM, plsmem )
00328 #define PLSMEMA FNAME( PLSMEMA, plsmema )
00329 #define PLSMIN FNAME( PLSMIN, plsmin )
00330 #define PLSORI FNAME( PLSORI, plsori )
00331 #define PLSPAGE FNAME( PLSPAGE, plspage )
00332 #define PLSPAL07 FNAME( PLSPAL07, plspal07 )
00333 #define PLSPAL17 FNAME( PLSPAL17, plspal17 )
00334 #define PLSPAUSE FNAME( PLSPAUSEF77, plspausef77 )
00335 #define PLSSTRM FNAME( PLSSTRM, plsstrm )
00336 #define PLSSUB FNAME( PLSSUB, plssub )
00337 #define PLSSYM FNAME( PLSSYM, plssym )
00338 #define PLSTAR FNAME( PLSTAR, plstar )
00339 #define PLSTART7 FNAME( PLSTART7, plstart7 )
00340 #define PLSTRANSFORM1 FNAME( PLSTRANSFORM1, plstransform1 )
00341 #define PLSTRANSFORM2 FNAME( PLSTRANSFORM2, plstransform2 )
00342 #define PLSTRANSFORM3 FNAME( PLSTRANSFORM3, plstransform3 )
00343 #define PLSTRING7 FNAME( PLSTRING7, plstring7 )
00344 #define PLSTRING37 FNAME( PLSTRING37, plstring37 )
00345 #define PLSTRIPA FNAME( PLSTRIPA, plstripa )
00346 #define PLSTRIPC FNAME( PLSTRIPCF77, plstripcf77 )
00347 #define PLSTRIPD FNAME( PLSTRIPD, plstripd )
00348 #define PLSTYL FNAME( PLSTYL, plstyl )
00349 #define PLSURF3D FNAME( PLSURF3DF77, plsurf3df77 )
00350 #define PLSVECT FNAME( PLSVECTF77, plsvectf77 )
00351 #define PLSVPA FNAME( PLSVPA, plsvpa )
00352 #define PLSXAX FNAME( PLSXAX, plsxax )
00353 #define PLSYAX FNAME( PLSYAX, plsyax )
00354 #define PLSYM FNAME( PLSYMF77, plsymf77 )
00355 #define PLSZAX FNAME( PLSZAX, plszax )
00356 #define PLTEXT FNAME( PLTEXT, pltext )
00357 #define PLTIMEFMT7 FNAME( PLTIMEFMT7, pltimefmt7 )
00358 #define PLVASP FNAME( PLVASP, plvasp )
00359 #define PLVEC07 FNAME( PLVEC07, plvec07 )
00360 #define PLVEC17 FNAME( PLVEC17, plvec17 )
00361 #define PLVEC27 FNAME( PLVEC27, plvec27 )
00362 #define PLVECT7 FNAME( PLVECT7, plvect7 )
00363 #define PLVPAS FNAME( PLVPAS, plvpas )
00364 #define PLVPOR FNAME( PLVPOR, plvpor )
00365 #define PLVSTA FNAME( PLVSTA, plvsta )
00366 #define PLW3D FNAME( PLW3D, plw3d )
00367 #define PLWID FNAME( PLWID, plwid )
00368 #define PLWIND FNAME( PLWIND, plwind )
00369 #define PLXORMOD FNAME( PLXORMODF77, plxormodf77 )
00370
00371 #ifdef PL_DEPRECATE
00372 #define PLRGB FNAME( PLRGB, plrgb )
00373 #define PLRGB1 FNAME( PLRGB1, plrgb1 )
00374 #define PLHLS FNAME( PLHLS, plhls )
00375 #endif // PL_DEPRECATED
00376
00377 #endif // __PLSTUBS_H__