#define H5Epush_sim(func, cls, maj, min, str) H5Epush2(H5E_DEFAULT, __FILE__, func, __LINE__, cls, maj, min, str)
 
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * Copyright by The HDF Group.                                               *
 * 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 COPYING file, which can be found at the root of the source code       *
 * distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases.  *
 * If you do not have access to either file, you may request a copy from     *
 * help@hdfgroup.org.                                                        *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
 * This file contains public declarations for the H5E module.
 */
#ifndef _H5Epublic_H
#define _H5Epublic_H
#include <stdio.h>              /*FILE arg of H5Eprint()                     */
/* Public headers needed by this file */
#include "H5public.h"
#include "H5Ipublic.h"
/* Value for the default error stack */
#define H5E_DEFAULT             (hid_t)0
/* Different kinds of error information */
typedef enum H5E_type_t {
    H5E_MAJOR,
    H5E_MINOR
} H5E_type_t;
/* Information about an error; element of error stack */
typedef struct H5E_error2_t {
    hid_t       cls_id;         /*class ID                           */
    hid_t       maj_num;    /*major error ID             */
    hid_t       min_num;    /*minor error number             */
    unsigned    line;       /*line in file where error occurs    */
    const char  *func_name;     /*function in which error occurred   */
    const char  *file_name; /*file in which error occurred       */
    const char  *desc;      /*optional supplied description      */
} H5E_error2_t;
/* When this header is included from a private header, don't make calls to H5open() */
#undef H5OPEN
#ifndef _H5private_H
#define H5OPEN          H5open(),
#else   /* _H5private_H */
#define H5OPEN