Files
hdf5/hl/fortran/src/H5f90i.h
Pedro Vicente Nunes dd7c794469 [svn-r9644] Purpose:
add hl fortran

Description:

Solution:

Platforms tested:
linux (absfot and pgf90)
solaris (32 and 64 bit)
AIX

note : HP gives a compiling error , to be fixed in the future

Misc. update:
2004-12-08 15:31:25 -05:00

229 lines
6.7 KiB
C
Executable File

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* Copyright by the Board of Trustees of the University of Illinois. *
* All rights reserved. *
* *
* This file is part of HDF5. The full HDF5 copyright notice, including *
* terms governing use, modification, and redistribution, is contained in *
* the files COPYING and Copyright.html. COPYING can be found at the root *
* of the source code distribution tree; Copyright.html can be found at the *
* root level of an installed copy of the electronic HDF5 document set and *
* is linked from the top-level documents page. It can also be found at *
* http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
* access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
#ifndef _H5f90i_H
#define _H5f90i_H
/*
* Standard header files needed all the time
*/
#if (defined (UNICOS) || (defined (_UNICOS)))
#include <fortran.h>
/*typedef char* _fcd;*/
typedef long hsize_t_f;
typedef long hssize_t_f;
typedef long size_t_f;
typedef long int_f;
typedef long hid_t_f;
typedef double real_f;
#define DF_CAPFNAMES
/*#define _fcdtocp(desc) (desc)*/
#endif /* UNICOS */
#if defined(IBM6000) || defined(_AIX)
typedef char *_fcd;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef int size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#define _fcdtocp(desc) (desc)
#endif /*IBM6000*/
/* MAC APPLE definitions with IBM XL compiler*/
#if defined(__APPLE__)
typedef char *_fcd;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef int size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#define FNAME(x) x
#if defined H5_ABSOFT
#define DF_CAPFNAMES
#endif /*H5_ABSOFT*/
#define _fcdtocp(desc) (desc)
#endif /*APPLE*/
/* LINUX definitions */
#if (defined(i386) || defined(__i386__)) && (defined(linux) || defined(__linux__))
/*#error "LINUX definitions"*/
typedef char *_fcd;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef int size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#if defined H5_ABSOFT
#define DF_CAPFNAMES
#else
#define FNAME_POST_UNDERSCORE
#endif /*H5_ABSOFT*/
#define _fcdtocp(desc) (desc)
#endif /*LINUX*/
/* LINUX64 definitions */
#if defined __x86_64__
typedef char *_fcd;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef int size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#define FNAME_POST_UNDERSCORE
#define _fcdtocp(desc) (desc)
#endif /*LINUX64*/
/* IA64 LINUX definitions */
#if defined __ia64
typedef char *_fcd;
typedef long hsize_t_f;
typedef long hssize_t_f;
typedef long size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#define FNAME_POST_UNDERSCORE
#define _fcdtocp(desc) (desc)
#endif /* IA64 LINUX*/
#if defined(IRIX) || defined(IRIS4) || defined(sgi) || defined(__sgi__) || defined(__sgi)
typedef char *_fcd;
typedef long hsize_t_f;
typedef long hssize_t_f;
typedef long size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#define FNAME_POST_UNDERSCORE
#define _fcdtocp(desc) (desc)
#endif /* IRIX */
#if (defined(SUN) || defined(sun) || defined(__sun__) || defined(__SUNPRO_C)) & !defined(__i386)
typedef char *_fcd;
typedef long long hssize_t_f;
typedef long long hsize_t_f;
typedef int size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#define FNAME_POST_UNDERSCORE
#define _fcdtocp(desc) (desc)
#endif /*SUN*/
#if defined DEC_ALPHA || (defined __alpha && defined __unix__ && !defined __linux__)
typedef char *_fcd;
typedef long hsize_t_f;
typedef long hssize_t_f;
typedef long size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#define FNAME_POST_UNDERSCORE
#define _fcdtocp(desc) (desc)
#endif /* DEC_ALPHA */
#if defined __alpha__ && defined __linux__
typedef char *_fcd;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef long long size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#define FNAME_POST2_UNDERSCORE
#define _fcdtocp(desc) (desc)
#endif /* DEC_ALPHA_LINUX */
#if defined(HP9000) || (!defined(__convexc__) && (defined(hpux) || defined(__hpux)))
typedef char *_fcd;
typedef long long hsize_t_f;
typedef long long hssize_t_f;
typedef long size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#define _fcdtocp(desc) (desc)
#endif /* HP9000 */
#if defined _WINDOWS || defined WIN32
typedef char *_fcd;
typedef int hsize_t_f;
typedef int hssize_t_f;
typedef int size_t_f;
typedef int int_f;
typedef int hid_t_f;
typedef float real_f;
#define DF_CAPFNAMES
#define _fcdtocp(desc) (desc)
#endif /*WINDOWS */
/*----------------------------------------------------------------
** 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
#if !defined(FNAME_PRE_UNDERSCORE) && defined(FNAME_POST2_UNDERSCORE)
# define FNAME(x) x##__
#endif
#endif /* _H5f90i_H */