/****************************************************************************
**  SIONLIB     http://www.fz-juelich.de/jsc/sionlib                       **
*****************************************************************************
**  Copyright (c) 2008-2019                                                **
**  Forschungszentrum Juelich, Juelich Supercomputing Centre               **
**                                                                         **
**  See the file COPYRIGHT in the package base directory for details       **
****************************************************************************/

/// \cond sion_internal
/// \file

#ifndef SION_SION_HINTS_H
#define SION_SION_HINTS_H

#include "sion_filedesc.h"

#define SION_HINTS_ACCESS_TYPE_METADATABLOCK1 101
#define SION_HINTS_ACCESS_TYPE_METADATABLOCK2 102
#define SION_HINTS_ACCESS_TYPE_CHUNK 103
#define SION_HINTS_FREE_TYPE_CHUNK 104

/*!\brief checks if environment variables are set to use hints
 *
 * @param  *sion_filedesc                       sion file description struct (_sion_filedesc)
 *
 * @return 1 if hints should use
 */
int _sion_hints_check_env(_sion_filedesc *sion_filedesc);

/*!\brief allocates and initalize the hints
 *
 * @param  sion_filedesc  sion file description struct (_sion_filedesc)
 * @param  access_type    type of access
 *
 * @return SION_SUCCESS if ok
 */
int _sion_apply_hints(_sion_filedesc *sion_filedesc, int access_type);

#endif

/// \endcond
