printf("         stride = [%llu, %llu, %llu] \n", (unsigned long long)stride_out[0], (unsigned long long)stride_out[1], (unsigned long long)stride_out[2]);
 
/************************************************************
  This example illustrates the concept of the virtual dataset.
  Percival use case. Every fifth 10x10 plane in VDS is stored in 
  the corresponding 3D unlimited dataset. 
  There are 4 source datasets total.
  Each of the source datasets is extended to different sizes.
  VDS access property can be used to get max and min extent.
  This file is intended for use with HDF5 Library version 1.10
 ************************************************************/
/* EIP Add link to the picture */
#include "hdf5.h"
#include <stdio.h>
#include <stdlib.h>
#define VFILE        "vds-percival-unlim-maxmin.h5"
#define DATASET      "VDS-Percival-unlim-maxmin"
#define VDSDIM0       H5S_UNLIMITED 
#define VDSDIM1       10 
#define VDSDIM2       10 
#define DIM0          H5S_UNLIMITED 
#define DIM0_1        4  /* Initial size of the source datasets */
#define DIM1          10 
#define DIM2          10 
#define RANK          3 
#define PLANE_STRIDE  4
const char *SRC_FILE[] = {
    "a.h5",
    "b.h5",
    "c.h5",
    "d.h5"
};
const char *SRC_DATASET[] = {
    "A",
    "B",
    "C",
    "D"
};
int
main (void)
{
    hid_t        vfile, file, src_space, mem_space, vspace,
                 vdset, dset;                       /* Handles */
    hid_t        dcpl, dapl;
    herr_t       status;