/* Copyright 2006-2007 Paul Scherrer Institut, Villigen, Switzerland; Benedikt Oswald; Achim Gsell All rights reserved. Authors Achim Gsell Warning This code is under development. */ /*! Some conventions: Functions: Name: thisIsAFunction() Return values: negative value or NULL signals an error Macros: UPPERCASE_WITH_UNDERSCORE \note In function names we use the words \b get and \b store insteed of \b read and \b write, because no I/O is actually done in these functions. */ /*! \defgroup h5fed_c_api H5Fed C API */ #include #include #include "h5/h5.h" #include "h5/h5_private.h" #include "H5Fed.h" /****** General routines *****************************************************/ /*! \ingroup h5fed_c_api Open file with name \c filename. This function is available in the paralell and serial version. In the serial case \c comm may have any value. \return File handle. \return NULL on error. \note File is always opened in read/writer mode! \note Implement as wrapper of \c H5_open_file()! */ h5_file * H5FedOpenFile ( const char * filename, /*!< file name */ const MPI_Comm comm /*!< MPI communicator */ ) { SET_FNAME ( __func__ ); return H5_open_file( filename, H5_O_RDWR, comm ); } /*! \ingroup h5fed_c_api Close file. \return value \c >=0 on success \return -1 on error */ h5_int_t H5FedCloseFile ( h5_file * fh /*!< file handle */ ) { SET_FNAME ( __func__ ); return H5_close_file ( fh ); } /****** INQUIRY routines *****************************************************/ /*! \ingroup h5_c_api Get the number of compute nodes. \return Number of compute notes. \return \c -1 on error. */ h5_int_t H5GetNumNodes ( h5_file * fh /*!< file handle */ ) { SET_FNAME ( __func__ ); return (h5_int_t)fh->nprocs; } /*! \ingroup h5fed_c_api Check whether a tetrahedral mesh hierarchy exists on level \c level \return \c 1 tetrahedral mesh hierarchy exists on given level. \return \c 0 tetrahedral mesh exists, but not on given level. \return \c -1 tetrahedral mesh doesn't exist */ h5_int_t H5FedHasTetrahedralMesh ( h5_file * fh, /*!< file handle */ const h5_id_t level /*!< mesh level to check */ ) { SET_FNAME ( __func__ ); return -1; } /*! \ingroup h5fed_c_api Check whether a boundary mesh hierarchy exists on level \c level \return \c 1 boundary mesh hierarchy exists on given level. \return \c 0 boundary mesh hierarchy exists, but not on given level. \return \c -1 boundary mesh doesn't exist. */ h5_int_t H5FedHasBoundaryMesh( h5_file * fh, /*!< file handle */ const h5_id_t level /*!< mesh level to check */ ) { SET_FNAME ( __func__ ); return -1; }