#if 0
    $Id: nfconfig.in,v 1.11 1997/12/03 17:41:42 steve Exp $ 
#endif


#ifndef UD_NETCDF_CPP_INC
#define UD_NETCDF_CPP_INC


#if 0
    Do not have C-style comments in here because this file is processed
    by both the FORTRAN compiler (for the nf_test/ stuff) and the C
    compiler (for the FORTRAN-callable interface routines) and some 
    FORTRAN preprocessors do not understand the /*...*/ syntax.
#endif


#if 0
    The following macros define the supplementary FORTRAN arithmetic
    datatypes beyond the standard INTEGER, REAL, and DOUBLEPRECISION --
    ostensibly corresponding to 8-bit and 16-bit integers, respectively.
    For example:

	#define NF_INT1_T byte
	#define NF_INT2_T integer*2

    These are the types of the relevant arguments in the NF_*_INT1() and
    NF_*_INT2() netCDF FORTRAN function calls.  The word "ostensibly"
    is used advisedly: on some systems an "integer*2" datatype,
    nevertheless, occupies 64 bits (we are not making this up).

    If your FORTRAN system does not have the respective supplementary
    datatype, then do not define the corresponding macro.
#endif
#define NF_INT1_T byte
#define NF_INT2_T integer*2


#if 0
   Define the following NF_*_IS_C_* macros appropriatly for your system.
   The "INT1", "INT2" and "INT" after the "NF_" refer to the NF_INT1_T
   FORTRAN datatype, the NF_INT2_T FORTRAN datatype, and the INTEGER
   FORTRAN datatype, respectively.  If the respective FORTRAN datatype
   does not exist, then do not define the corresponding macro.
#endif
#define NF_INT1_IS_C_SIGNED_CHAR 1
#undef NF_INT1_IS_C_SHORT
#undef NF_INT1_IS_C_INT
#undef NF_INT1_IS_C_LONG
#define NF_INT2_IS_C_SHORT 1
#undef NF_INT2_IS_C_INT
#undef NF_INT2_IS_C_LONG
#define NF_INT_IS_C_INT 1
#undef NF_INT_IS_C_LONG
#define NF_REAL_IS_C_FLOAT 1
#undef NF_REAL_IS_C_DOUBLE
#define NF_DOUBLEPRECISION_IS_C_DOUBLE 1
#undef NF_DOUBLEPRECISION_IS_C_FLOAT


#if 0
   Whether the system uses something besides the IEEE floating-point
   format to represent floating-point values.
#endif
#undef NO_IEEE_FLOAT


#if 0
   END OF CUSTOMIZATION
#endif


#if 0
    FORTRAN data types corresponding to netCDF version 2 "byte" and "short"
    data types (e.g. INTEGER*1, INTEGER*2).  See file "ftest.F" for usage.
#endif
#if !defined(NO_NETCDF_2)
#   define NCBYTE_T byte
#   define NCSHORT_T integer*2
#endif

#if 0
  Set configuration flags for Fortran 2003 processing
#endif

#if 0
  Set NO_NETCDF_2 to undefined - include netCDF2
#endif
#undef NO_NETCDF_2

#if 0
  Set USE_NETCDF4 to defined - include netCDF4 code
#endif
#define USE_NETCDF4 1

#if 0
  Set HAVE_TS29113_SUPPORT to defined - TS29113 types (like CPTRDIFF_T) defined
#endif
#define HAVE_TS29113_SUPPORT 1
#define SIZEOF_PTRDIFF_T 8

#endif /*UD_NETCDF_CPP_INC*/

