/**************************************************************************** * NCSA HDF * * Software Development Group * * National Center for Supercomputing Applications * * University of Illinois at Urbana-Champaign * * 605 E. Springfield, Champaign IL 61820 * * * * For conditions of distribution and use, see the accompanying * * hdf/COPYING file. * * * ****************************************************************************/ /* $Id$ */ /* * This file contains Fortran compatibility/interface macros, etc. */ #ifndef HDF5FORT_H #define HDF5FORT_H /*---------------------------------------------------------------- ** MACRO FCALLKEYW for any special fortran-C stub keyword ** ** MacIntosh MPW LS-fortran needs pascal since it can interface ** best with pascal functions. ** Microsoft C and Fortran need __fortran for Fortran callable C ** routines. ** ** MACRO FRETVAL for any return value from a fortran-C stub function ** Replaces the older FCALLKEYW macro. **---------------------------------------------------------------*/ #ifdef FRETVAL #undef FRETVAL #endif #if defined(MAC) /* with LS FORTRAN */ #ifndef ABSOFT # define FCALLKEYW pascal # define FRETVAL(x) pascal x #endif /* ABSOFT */ #endif #ifndef FRETVAL /* !MAC */ # define FCALLKEYW /*NONE*/ # define FRETVAL(x) x #endif /*---------------------------------------------------------------- ** MACRO FNAME for any fortran callable routine name. ** ** This macro prepends, appends, or does not modify a name ** passed as a macro parameter to it based on the FNAME_PRE_UNDERSCORE, ** FNAME_POST_UNDERSCORE macros set for a specific system. ** **---------------------------------------------------------------*/ #if defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST_UNDERSCORE) # define FNAME(x) _##x##_ #endif #if defined(FNAME_PRE_UNDERSCORE) && !defined(FNAME_POST_UNDERSCORE) # define FNAME(x) _##x #endif #if !defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST_UNDERSCORE) # define FNAME(x) x##_ #endif #if !defined(FNAME_PRE_UNDERSCORE) && !defined(FNAME_POST_UNDERSCORE) # define FNAME(x) x #endif #endif /* HDF5FORT_H */