fprintf(stderr, "    ------ -------------------- -------------------- -------------------- ------------------------------\n");
 
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 * 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.                                                        *
 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
 * Programmer:  Robb Matzke <matzke@llnl.gov>
 *      Monday, November 10, 1997
 *
 * Purpose: Implements a file driver which dispatches I/O requests to
 *      other file drivers depending on the purpose of the address
 *      region being accessed. For instance, all meta-data could be
 *      place in one file while all raw data goes to some other file.
 *      This also serves as an example of coding a complex file driver,
 *      therefore, it should not use any non-public definitions.
 */
#include <assert.h>
#include <stdlib.h>
#include <string.h>
/* Disable certain warnings in PC-Lint: */
/*lint --emacro( {534, 830}, H5P_DEFAULT, H5P_FILE_ACCESS, H5P_DATASET_XFER) */
/*lint --emacro( {534, 830}, H5FD_MULTI) */
/*lint -esym( 534, H5Eclear2, H5Epush2) */
#include "hdf5.h"
#ifndef FALSE
#define FALSE       0
#endif
#ifndef TRUE
#define TRUE        1
#endif
/* Loop through all mapped files */
#define UNIQUE_MEMBERS_CORE(MAP, ITER, SEEN, LOOPVAR) {                       \
    H5FD_mem_t ITER, LOOPVAR;                         \
    unsigned SEEN[H5FD_MEM_NTYPES];                       \
                                          \
    memset(SEEN, 0, sizeof SEEN);                             \
    for (ITER=H5FD_MEM_SUPER; ITER<H5FD_MEM_NTYPES; ITER=(H5FD_mem_t)(ITER+1)) {  \
    LOOPVAR = MAP[ITER];                          \