summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohamad Chaarawi <chaarawi@hdfgroup.org>2012-03-14 13:52:19 (GMT)
committerMohamad Chaarawi <chaarawi@hdfgroup.org>2012-03-14 13:52:19 (GMT)
commit6d61d2b0d017ebff61407a1816c5fcf7c0c8c7b9 (patch)
treef2bc26cd55ae3d4d43239b02918c0427ad1d888c
parent90ec386c958859b73bc050eafa7d525df9dd618c (diff)
downloadhdf5-6d61d2b0d017ebff61407a1816c5fcf7c0c8c7b9.zip
hdf5-6d61d2b0d017ebff61407a1816c5fcf7c0c8c7b9.tar.gz
hdf5-6d61d2b0d017ebff61407a1816c5fcf7c0c8c7b9.tar.bz2
[svn-r22064] -renmace a few VOL file routines
- add a dummy VOL driver to make sure we can change drivers at runtime
-rwxr-xr-xconfigure2
-rw-r--r--src/H5D.c10
-rw-r--r--src/H5F.c32
-rw-r--r--src/H5G.c10
-rw-r--r--src/H5I.c16
-rw-r--r--src/H5Pfapl.c5
-rw-r--r--src/H5VL.c120
-rw-r--r--src/H5VLdummy.c282
-rw-r--r--src/H5VLdummy.h42
-rwxr-xr-xsrc/Makefile.am4
-rw-r--r--src/Makefile.in78
11 files changed, 513 insertions, 88 deletions
diff --git a/configure b/configure
index ec7f23c..4aba56f 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#! /bin/sh
-# From configure.in Id: configure.in 21910 2012-02-05 15:51:01Z hdftest .
+# From configure.in Id: configure.in 22034 2012-03-07 16:05:24Z chaarawi .
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.68 for HDF5 1.9.110.
#
diff --git a/src/H5D.c b/src/H5D.c
index 7cb0cc6..20a8b79 100644
--- a/src/H5D.c
+++ b/src/H5D.c
@@ -165,11 +165,19 @@ H5Dcreate2(hid_t loc_id, const char *name, hid_t type_id, hid_t space_id,
if(TRUE != H5P_isa_class(dapl_id, H5P_DATASET_ACCESS))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not dataset access property list")
+#if 0
+ /* Create the dataset through the VOL */
+ if((ret_value = H5VL_dataset_create(loc_id, name, type_id, space_id,
+ lcpl_id, dcpl_id, dapl_id)) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to create dataset")
+#endif
+
/* Create the new dataset & get its ID */
if(NULL == (dset = H5D__create_named(&loc, name, type_id, space, lcpl_id, dcpl_id, dapl_id, H5AC_dxpl_id)))
HGOTO_ERROR(H5E_DATASET, H5E_CANTINIT, FAIL, "unable to create dataset")
if((ret_value = H5I_register(H5I_DATASET, dset, TRUE)) < 0)
- HGOTO_ERROR(H5E_DATASET, H5E_CANTREGISTER, FAIL, "unable to register dataset")
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTREGISTER, FAIL, "unable to register dataset")A
+
done:
if(ret_value < 0)
diff --git a/src/H5F.c b/src/H5F.c
index 2c16c65..5a9889d 100644
--- a/src/H5F.c
+++ b/src/H5F.c
@@ -193,7 +193,7 @@ H5Fget_create_plist(hid_t uid)
FUNC_ENTER_API(FAIL)
H5TRACE1("i", "i", uid);
- if(H5VL_get(uid, H5F_GET_FCPL, &ret_value, 0, NULL) < 0)
+ if(H5VL_file_get(uid, H5F_GET_FCPL, &ret_value, 0, NULL) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file creation properties")
done:
@@ -230,7 +230,7 @@ H5Fget_access_plist(hid_t uid)
FUNC_ENTER_API(FAIL)
H5TRACE1("i", "i", uid);
- if(H5VL_get(uid, H5F_GET_FAPL, &ret_value, 0, NULL) < 0)
+ if(H5VL_file_get(uid, H5F_GET_FAPL, &ret_value, 0, NULL) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file creation properties")
done:
@@ -758,7 +758,7 @@ H5Fget_vfd_handle(hid_t uid, hid_t fapl, void **file_handle)
if(!file_handle)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid file handle pointer")
- if((ret_value = H5VL_get(uid, H5F_GET_VFD_HANDLE, &fapl, 1, file_handle)) < 0)
+ if((ret_value = H5VL_file_get(uid, H5F_GET_VFD_HANDLE, &fapl, 1, file_handle)) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file handle")
done:
@@ -1446,7 +1446,7 @@ H5Fcreate(const char *filename, unsigned flags, hid_t fcpl_id, hid_t fapl_id)
/*
* Create a new file or truncate an existing file.
*/
- if((ret_value = H5VL_create(filename, flags, fcpl_id, fapl_id)) < 0)
+ if((ret_value = H5VL_file_create(filename, flags, fcpl_id, fapl_id)) < 0)
HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, FAIL, "unable to create file")
done:
@@ -1516,7 +1516,7 @@ H5Fopen(const char *filename, unsigned flags, hid_t fapl_id)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not file access property list")
/* Open the file */
- if((ret_value = H5VL_open(filename, flags, H5P_FILE_CREATE_DEFAULT, fapl_id, H5AC_dxpl_id))<0)
+ if((ret_value = H5VL_file_open(filename, flags, H5P_FILE_CREATE_DEFAULT, fapl_id, H5AC_dxpl_id))<0)
HGOTO_ERROR(H5E_FILE, H5E_CANTOPENFILE, FAIL, "unable to open file")
#if 0
@@ -1557,7 +1557,7 @@ H5Fflush(hid_t object_id, H5F_scope_t scope)
FUNC_ENTER_API(FAIL)
H5TRACE2("e", "iFs", object_id, scope);
- if((ret_value = H5VL_flush(object_id, scope)) < 0)
+ if((ret_value = H5VL_file_flush(object_id, scope)) < 0)
HGOTO_ERROR(H5E_FILE, H5E_CANTFLUSH, FAIL, "unable to flush file")
done:
@@ -1873,7 +1873,7 @@ H5Fclose(hid_t file_id)
H5TRACE1("e", "i", file_id);
/* Close the file */
- if((ret_value = H5VL_close(file_id)) < 0)
+ if((ret_value = H5VL_file_close(file_id)) < 0)
HGOTO_ERROR(H5E_FILE, H5E_CANTCLOSEFILE, FAIL, "unable to close file")
done:
@@ -1985,7 +1985,7 @@ H5Fget_intent(hid_t uid, unsigned *intent_flags)
/* If no intent flags were passed in, exit quietly */
if(intent_flags) {
- if((ret_value = H5VL_get(uid, H5F_GET_INTENT, (void *)intent_flags, 0, NULL)) < 0)
+ if((ret_value = H5VL_file_get(uid, H5F_GET_INTENT, (void *)intent_flags, 0, NULL)) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file intent")
}
@@ -2403,7 +2403,7 @@ H5Fget_freespace(hid_t uid)
FUNC_ENTER_API(FAIL)
H5TRACE1("Hs", "i", uid);
- if(H5VL_get(uid, H5F_GET_FREE_SPACE, &ret_value, 0, NULL) < 0)
+ if(H5VL_file_get(uid, H5F_GET_FREE_SPACE, &ret_value, 0, NULL) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file free space")
done:
@@ -2437,7 +2437,7 @@ H5Fget_filesize(hid_t uid, hsize_t *size)
FUNC_ENTER_API(FAIL)
H5TRACE2("e", "i*h", uid, size);
- if((ret_value = H5VL_get(uid, H5F_GET_SIZE, (void *)size, 0, NULL)) < 0)
+ if((ret_value = H5VL_file_get(uid, H5F_GET_SIZE, (void *)size, 0, NULL)) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file size")
done:
@@ -2475,7 +2475,7 @@ H5Fget_mdc_config(hid_t uid, H5AC_cache_config_t *config_ptr)
if((NULL == config_ptr) || (config_ptr->version != H5AC__CURR_CACHE_CONFIG_VERSION))
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "Bad config_ptr")
- if((ret_value = H5VL_get(uid, H5F_GET_MDC_CONF, (void *)config_ptr, 0, NULL)) < 0)
+ if((ret_value = H5VL_file_get(uid, H5F_GET_MDC_CONF, (void *)config_ptr, 0, NULL)) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get mdc config")
done:
@@ -2553,7 +2553,7 @@ H5Fget_mdc_hit_rate(hid_t uid, double *hit_rate_ptr)
if(NULL == hit_rate_ptr)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "NULL hit rate pointer")
- if((ret_value = H5VL_get(uid, H5F_GET_MDC_HR, (void *)hit_rate_ptr, 0, NULL)) < 0)
+ if((ret_value = H5VL_file_get(uid, H5F_GET_MDC_HR, (void *)hit_rate_ptr, 0, NULL)) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get MDC hit rate")
done:
@@ -2592,7 +2592,7 @@ H5Fget_mdc_size(hid_t uid, size_t *max_size_ptr, size_t *min_clean_size_ptr,
argv[0] = (void *)max_size_ptr;
argv[1] = (void *)min_clean_size_ptr;
argv[2] = (void *)cur_size_ptr;
- if((ret_value = H5VL_get(uid, H5F_GET_MDC_SIZE, (void *)cur_num_entries_ptr, 3, argv)) < 0)
+ if((ret_value = H5VL_file_get(uid, H5F_GET_MDC_SIZE, (void *)cur_num_entries_ptr, 3, argv)) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get MDC hit rate")
done:
@@ -2683,7 +2683,7 @@ H5Fget_name(hid_t uid, char *name/*out*/, size_t size)
if (H5I_UID == H5I_get_type(uid)) {
argv[0] = &ret_value;
argv[1] = &size;
- if(H5VL_get(uid, H5F_GET_NAME, (void *)name, 2, argv) < 0)
+ if(H5VL_file_get(uid, H5F_GET_NAME, (void *)name, 2, argv) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file name")
}
else {
@@ -2751,7 +2751,7 @@ H5Fget_info2(hid_t uid, H5F_info2_t *finfo)
if(!finfo)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no info struct")
- if((ret_value = H5VL_get(uid, H5F_GET_INFO, (void *)finfo, 0, NULL)) < 0)
+ if((ret_value = H5VL_file_get(uid, H5F_GET_INFO, (void *)finfo, 0, NULL)) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file info")
done:
FUNC_LEAVE_API(ret_value)
@@ -2791,7 +2791,7 @@ H5Fget_free_sections(hid_t uid, H5F_mem_t type, size_t nsects,
argv[1] = &type;
argv[2] = &nsects;
- if(H5VL_get(uid, H5F_GET_FREE_SECTIONS, (void *)sect_info, 3, argv) < 0)
+ if(H5VL_file_get(uid, H5F_GET_FREE_SECTIONS, (void *)sect_info, 3, argv) < 0)
HGOTO_ERROR(H5E_INTERNAL, H5E_CANTGET, FAIL, "unable to get file info")
done:
FUNC_LEAVE_API(ret_value)
diff --git a/src/H5G.c b/src/H5G.c
index 48d7f66..3531d04 100644
--- a/src/H5G.c
+++ b/src/H5G.c
@@ -261,8 +261,7 @@ H5G_term_interface(void)
*-------------------------------------------------------------------------
*/
hid_t
-H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id,
- hid_t gapl_id)
+H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id)
{
H5G_loc_t loc; /* Location to create group */
H5G_t *grp = NULL; /* New group created */
@@ -274,6 +273,7 @@ H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id,
/* Check arguments */
if(H5G_loc(loc_id, &loc) < 0)
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a location")
+
if(!name || !*name)
HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no name")
@@ -298,6 +298,12 @@ H5Gcreate2(hid_t loc_id, const char *name, hid_t lcpl_id, hid_t gcpl_id,
if(TRUE != H5P_isa_class(gapl_id, H5P_GROUP_ACCESS))
HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not group access property list")
+#if 0
+ /* Create the group through the VOL */
+ if((ret_value = H5VL_group_create(loc_id, name, lcpl_id, gcpl_id, gapl_id)) < 0)
+ HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create group")
+#endif
+
/* Create the new group & get its ID */
if(NULL == (grp = H5G__create_named(&loc, name, lcpl_id, gcpl_id, gapl_id, H5AC_dxpl_id)))
HGOTO_ERROR(H5E_SYM, H5E_CANTINIT, FAIL, "unable to create group")
diff --git a/src/H5I.c b/src/H5I.c
index ffdb21e..560d0ef 100644
--- a/src/H5I.c
+++ b/src/H5I.c
@@ -151,9 +151,23 @@ H5I_init_interface(void)
FUNC_ENTER_NOAPI_NOINIT
+ /* Register high level file user id */
if(H5I_register_type(H5I_UID, (size_t)H5I_UID_HASHSIZE, 0, (H5I_free_t)NULL)<H5I_UID)
HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize interface")
-
+#if 0
+ /* Register high level dataset user id */
+ if(H5I_register_type(H5I_DSID, (size_t)H5I_DSID_HASHSIZE, 0, (H5I_free_t)NULL)<H5I_DSID)
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize interface")
+ /* Register high level attribute user id */
+ if(H5I_register_type(H5I_AID, (size_t)H5I_AID_HASHSIZE, 0, (H5I_free_t)NULL)<H5I_AID)
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize interface")
+ /* Register high level group user id */
+ if(H5I_register_type(H5I_GID, (size_t)H5I_GID_HASHSIZE, 0, (H5I_free_t)NULL)<H5I_GID)
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize interface")
+ /* Register high level datatype user id */
+ if(H5I_register_type(H5I_DTID, (size_t)H5I_DTID_HASHSIZE, 0, (H5I_free_t)NULL)<H5I_DTID)
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTINIT, FAIL, "unable to initialize interface")
+#endif
done:
FUNC_LEAVE_NOAPI(SUCCEED)
} /* end H5I_init_interface() */
diff --git a/src/H5Pfapl.c b/src/H5Pfapl.c
index cac1f35..e606fc3 100644
--- a/src/H5Pfapl.c
+++ b/src/H5Pfapl.c
@@ -45,7 +45,10 @@
/* Includes needed to set as default file driver */
#include "H5FDsec2.h" /* Posix unbuffered I/O file driver */
#include "H5FDstdio.h" /* Standard C buffered I/O */
-#include "H5VLnative.h" /* Native HDF5 VOL plugin */
+
+/* Includes needed to set as default VOL driver */
+#include "H5VLnative.h" /* Native H5 VOL plugin */
+
#ifdef H5_HAVE_WINDOWS
#include "H5FDwindows.h" /* Windows buffered I/O */
#endif
diff --git a/src/H5VL.c b/src/H5VL.c
index 981fe68..692456a 100644
--- a/src/H5VL.c
+++ b/src/H5VL.c
@@ -509,13 +509,14 @@ done:
/*-------------------------------------------------------------------------
- * Function: H5VL_open
+ * Function: H5VL_file_open
*
- * Purpose: Private version of H5VLopen()
+ * Purpose: Opens a file through the VOL.
*
- * Return: Success: Pointer to a new file struct
+ * Return: Success: User ID of the new file. This ID is of type
+ * H5I_UID which contains the VOL id and the actual file ID
*
- * Failure: NULL
+ * Failure: FAIL
*
* Programmer: Mohamad Chaarawi
* January, 2012
@@ -523,7 +524,7 @@ done:
*-------------------------------------------------------------------------
*/
hid_t
-H5VL_open(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id)
+H5VL_file_open(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t dxpl_id)
{
H5VL_class_t *vol_plugin; /* VOL for file */
H5I_t *uid_info; /* user id structure */
@@ -560,17 +561,18 @@ H5VL_open(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id, hid_t
HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to atomize file handle")
done:
FUNC_LEAVE_NOAPI(ret_value)
-} /* end H5VL_open() */
+} /* end H5VL_file_open() */
/*-------------------------------------------------------------------------
- * Function: H5VL_create
+ * Function: H5VL_file_create
*
- * Purpose: Private version of H5VLcreate()
+ * Purpose: Creates a file through the VOL
*
- * Return: Success: Pointer to a new file struct
+ * Return: Success: User ID of the new file. This ID is of type
+ * H5I_UID which contains the VOL id and the actual file ID
*
- * Failure: FAIL
+ * Failure: FAIL
*
* Programmer: Mohamad Chaarawi
* January, 2012
@@ -578,7 +580,7 @@ done:
*-------------------------------------------------------------------------
*/
hid_t
-H5VL_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id)
+H5VL_file_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id)
{
H5VL_class_t *vol_plugin; /* VOL for file */
H5I_t *uid_info; /* user id structure */
@@ -617,13 +619,13 @@ H5VL_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id)
done:
FUNC_LEAVE_NOAPI(ret_value)
-} /* end H5VL_create() */
+} /* end H5VL_file_create() */
/*-------------------------------------------------------------------------
- * Function: H5VL_close
+ * Function: H5VL_file_close
*
- * Purpose: Private version of H5VLclose()
+ * Purpose: Closes a file through the VOL
*
* Return: Success: Non Negative
*
@@ -635,7 +637,7 @@ done:
*-------------------------------------------------------------------------
*/
herr_t
-H5VL_close(hid_t uid)
+H5VL_file_close(hid_t uid)
{
H5VL_class_t *vol_plugin; /* VOL for file */
H5I_t *uid_info; /* user id structure */
@@ -664,17 +666,17 @@ H5VL_close(hid_t uid)
HGOTO_ERROR(H5E_FILE, H5E_CANTINC, FAIL, "unable to decrement ref count on user ID")
done:
FUNC_LEAVE_NOAPI(ret_value)
-} /* end H5VL_close() */
+} /* end H5VL_file_close() */
/*-------------------------------------------------------------------------
- * Function: H5VL_flush
+ * Function: H5VL_file_flush
*
- * Purpose: Private version of H5VLflush()
+ * Purpose: Flushes a file through the VOL
*
- * Return: Success: Pointer to a new file struct
+ * Return: Success: Non Negative
*
- * Failure: FAIL
+ * Failure: Negative
*
* Programmer: Mohamad Chaarawi
* February, 2012
@@ -682,7 +684,7 @@ done:
*-------------------------------------------------------------------------
*/
herr_t
-H5VL_flush(hid_t uid, H5F_scope_t scope)
+H5VL_file_flush(hid_t uid, H5F_scope_t scope)
{
H5VL_class_t *vol_plugin; /* VOL for file */
H5I_t *uid_info; /* user id structure */
@@ -709,13 +711,13 @@ H5VL_flush(hid_t uid, H5F_scope_t scope)
done:
FUNC_LEAVE_NOAPI(ret_value)
-} /* end H5VL_flush() */
+} /* end H5VL_file_flush() */
/*-------------------------------------------------------------------------
- * Function: H5VL_get
+ * Function: H5VL_file_get
*
- * Purpose: Private version of H5VLget()
+ * Purpose: Get specific information about the file through the VOL
*
* Return: Success: non negative
*
@@ -727,7 +729,7 @@ done:
*-------------------------------------------------------------------------
*/
herr_t
-H5VL_get(hid_t uid, H5VL_file_get_t get_type, void *data, int argc, void **argv)
+H5VL_file_get(hid_t uid, H5VL_file_get_t get_type, void *data, int argc, void **argv)
{
H5VL_class_t *vol_plugin; /* VOL for file */
H5I_t *uid_info; /* user id structure */
@@ -754,4 +756,70 @@ H5VL_get(hid_t uid, H5VL_file_get_t get_type, void *data, int argc, void **argv)
done:
FUNC_LEAVE_NOAPI(ret_value)
-} /* end H5VL_get() */
+} /* end H5VL_file_get() */
+#if 0
+
+/*-------------------------------------------------------------------------
+ * Function: H5VL_group_create
+ *
+ * Purpose: Creates a group through the VOL
+ *
+ * Return: Success: User ID of the new group. This ID is of type
+ * H5I_UID which contains the VOL id and the actual group ID
+ *
+ * Failure: FAIL
+ *
+ * Programmer: Mohamad Chaarawi
+ * January, 2012
+ *
+ *-------------------------------------------------------------------------
+ */
+hid_t
+H5VL_group_create(hid_t uid, const char *name, hid_t lcpl_id, hid_t gcpl_id, hid_t gapl_id)
+{
+ H5VL_class_t *vol_plugin; /* VOL for group */
+ H5I_t *uid_info1; /* user id structure of the location where the group will be created */
+ H5I_t *uid_info2; /* user id structure of new created group*/
+ hid_t group_id; /* actual group ID */
+ hid_t ret_value; /* Return value */
+
+ FUNC_ENTER_NOAPI(FAIL)
+
+ /* Check/fix arguments. */
+ if(H5I_UID != H5I_get_type(uid))
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a user ID")
+
+ /* get the ID struct */
+ if(NULL == (uid_info1 = (H5I_t *)H5I_object(uid)))
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "invalid user identifier")
+
+ /* get VOL plugin info */
+ if(NULL == (vol_plugin = (H5VL_class_t *)H5I_object(uid_info1->vol_id)))
+ HGOTO_ERROR(H5E_VOL, H5E_BADVALUE, FAIL, "invalid vol plugin ID in file")
+
+ /* check if the corresponding VOL create callback exists */
+ if(NULL == vol_plugin->object_cls.create)
+ HGOTO_ERROR(H5E_VOL, H5E_UNSUPPORTED, FAIL, "vol plugin has no `group create' method")
+ /* call the corresponding VOL create callback */
+ if((group_id = (vol_plugin->object_cls.create)
+ (uid_info1->obj_id, name, lcpl_id, gcpl_id, gapl_id)) < 0)
+ HGOTO_ERROR(H5E_VOL, H5E_CANTINIT, FAIL, "create failed")
+
+ /* Create a new id that points to a struct that holds the group id and the VOL id */
+ /* Allocate new id structure */
+ if(NULL == (uid_info2 = H5FL_MALLOC(H5I_t)))
+ HGOTO_ERROR(H5E_RESOURCE, H5E_NOSPACE, FAIL, "memory allocation failed")
+ uid_info2->obj_id = group_id;
+ uid_info2->vol_id = uid_info1->vol_id;
+
+ /* increment ref count on the VOL id */
+ if(H5I_inc_ref(uid_info2->vol_id, FALSE) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_CANTINC, FAIL, "unable to increment ref count on vol plugin")
+
+ if((ret_value = H5I_register(H5I_UID, uid_info2, TRUE)) < 0)
+ HGOTO_ERROR(H5E_ATOM, H5E_CANTREGISTER, FAIL, "unable to atomize group handle")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5VL_group_create() */
+#endif
diff --git a/src/H5VLdummy.c b/src/H5VLdummy.c
new file mode 100644
index 0000000..bddf87c
--- /dev/null
+++ b/src/H5VLdummy.c
@@ -0,0 +1,282 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * 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 files COPYING and Copyright.html. COPYING can be found at the root *
+ * of the source code distribution tree; Copyright.html can be found at the *
+ * root level of an installed copy of the electronic HDF5 document set and *
+ * is linked from the top-level documents page. It can also be found at *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+ * access to either file, you may request a copy from help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*
+ * Programmer: Mohamad Chaarawi <chaarawi@hdfgroup.gov>
+ * January, 2012
+ *
+ * Purpose: The dummy VOL plugin where access is to a single HDF5 file
+ * using HDF5 VFDs.
+ */
+
+#define H5F_PACKAGE /*suppress error about including H5Fpkg */
+
+/* Interface initialization */
+#define H5_INTERFACE_INIT_FUNC H5VL_dummy_init_interface
+
+
+#include "H5private.h" /* Generic Functions */
+#include "H5Eprivate.h" /* Error handling */
+#include "H5Fprivate.h" /* File access */
+#include "H5Fpkg.h" /* File pkg */
+#include "H5VLprivate.h" /* VOL plugins */
+#include "H5VLdummy.h" /* Dummy VOL plugin */
+#include "H5Iprivate.h" /* IDs */
+#include "H5MMprivate.h" /* Memory management */
+#include "H5Pprivate.h" /* Property lists */
+#include "H5Dprivate.h" /* Datasets */
+#include "H5Aprivate.h" /* Attributes */
+#include "H5MFprivate.h" /* File memory management */
+#include "H5SMprivate.h" /* Shared Object Header Messages */
+
+/* The driver identification number, initialized at runtime */
+static hid_t H5VL_DUMMY_g = 0;
+
+
+/* Prototypes */
+static herr_t H5VL_dummy_get(hid_t file_id, H5VL_file_get_t get_type,
+ void *data, int argc, void **argv);
+static herr_t H5VL_dummy_term(void);
+
+static const H5VL_class_t H5VL_dummy_g = {
+ "dummy", /* name */
+ H5VL_dummy_term, /*terminate */
+ 0, /*fapl_size */
+ NULL, /*fapl_get */
+ NULL, /*fapl_copy */
+ NULL, /*fapl_free */
+ { /* file_cls */
+ H5VL_dummy_open, /* open */
+ H5VL_dummy_close, /* close */
+ H5VL_dummy_create, /* create */
+ NULL, /* flush */
+ NULL /* get */
+ },
+ { /* dataset_cls */
+ NULL, /* open */
+ NULL, /* close */
+ NULL, /* create */
+ NULL, /* read */
+ NULL, /* write */
+ NULL /* set_extent */
+ },
+ { /* attribute_cls */
+ NULL, /* open */
+ NULL, /* close */
+ NULL, /* create */
+ NULL, /* delete */
+ NULL, /* read */
+ NULL /* write */
+ },
+ { /* datatype_cls */
+ NULL /* open */
+ },
+ { /* link_cls */
+ NULL, /* create */
+ NULL, /* delete */
+ NULL, /* move */
+ NULL /* copy */
+ },
+ { /* object_cls */
+ NULL, /* create */
+ NULL, /* open */
+ NULL, /* close */
+ NULL, /* move */
+ NULL /* copy */
+ }
+};
+
+
+/*--------------------------------------------------------------------------
+NAME
+ H5VL_dummy_init_interface -- Initialize interface-specific information
+USAGE
+ herr_t H5VL_dummy_init_interface()
+
+RETURNS
+ Non-negative on success/Negative on failure
+DESCRIPTION
+ Initializes any interface-specific data or routines. (Just calls
+ H5VL_dummy_init currently).
+
+--------------------------------------------------------------------------*/
+static herr_t
+H5VL_dummy_init_interface(void)
+{
+ FUNC_ENTER_NOAPI_NOINIT_NOERR
+
+ FUNC_LEAVE_NOAPI(H5VL_dummy_init())
+} /* H5VL_dummy_init_interface() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5VL_dummy_init
+ *
+ * Purpose: Initialize this vol plugin by registering the driver with the
+ * library.
+ *
+ * Return: Success: The ID for the dummy plugin.
+ * Failure: Negative.
+ *
+ * Programmer: Mohamad Chaarawi
+ * January, 2012
+ *
+ *-------------------------------------------------------------------------
+ */
+hid_t
+H5VL_dummy_init(void)
+{
+ hid_t ret_value; /* Return value */
+
+ FUNC_ENTER_NOAPI(FAIL)
+
+ if(H5I_VOL != H5I_get_type(H5VL_DUMMY_g))
+ H5VL_DUMMY_g = H5VL_register(&H5VL_dummy_g, sizeof(H5VL_class_t), FALSE);
+
+ /* Set return value */
+ ret_value = H5VL_DUMMY_g;
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5VL_dummy_init() */
+
+
+/*---------------------------------------------------------------------------
+ * Function: H5VL_dummy_term
+ *
+ * Purpose: Shut down the VOL plugin
+ *
+ * Returns: Non-negative on success or negative on failure
+ *
+ * Programmer: Mohamad Chaarawi
+ * January, 2012
+ *
+ *---------------------------------------------------------------------------
+ */
+static herr_t
+H5VL_dummy_term(void)
+{
+ FUNC_ENTER_NOAPI_NOINIT_NOERR
+
+ /* Reset VOL ID */
+ H5VL_DUMMY_g = 0;
+
+ FUNC_LEAVE_NOAPI(SUCCEED)
+} /* end H5VL_dummy_term() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5Pset_fapl_dummy
+ *
+ * Purpose: Modify the file access property list to use the H5VL_DUMMY
+ * plugin defined in this source file.
+ *
+ * Return: Non-negative on success/Negative on failure
+ *
+ * Programmer: Mohamad Chaarawi
+ * January, 2012
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5Pset_fapl_dummy(hid_t fapl_id)
+{
+ H5P_genplist_t *plist; /* Property list pointer */
+ herr_t ret_value;
+
+ FUNC_ENTER_API(FAIL)
+ H5TRACE1("e", "i", fapl_id);
+
+ if(NULL == (plist = H5P_object_verify(fapl_id, H5P_FILE_ACCESS)))
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a file access property list")
+
+ ret_value = H5P_set_vol(plist, H5VL_DUMMY, NULL);
+
+done:
+ FUNC_LEAVE_API(ret_value)
+} /* end H5Pset_fapl_dummy() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5VL_dummy_open
+ *
+ * Purpose: Opens a file as a dummy HDF5 file.
+ *
+ * Return: Success: A pointer to a new file data structure.
+ * Failure: NULL
+ *
+ * Programmer: Mohamad Chaarawi
+ * January, 2012
+ *
+ *-------------------------------------------------------------------------
+ */
+hid_t
+H5VL_dummy_open(const char *name, unsigned flags, hid_t fcpl_id,
+ hid_t fapl_id, hid_t dxpl_id)
+{
+ FUNC_ENTER_NOAPI_NOINIT_NOERR
+
+ printf ("DUMMY OPEN\n");
+
+ FUNC_LEAVE_NOAPI(1)
+} /* end H5VL_dummy_open() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5VL_dummy_create
+ *
+ * Purpose: Creates a file as a dummy HDF5 file.
+ *
+ * Return: Success: A pointer to a new file data structure.
+ * Failure: NULL
+ *
+ * Programmer: Mohamad Chaarawi
+ * January, 2012
+ *
+ *-------------------------------------------------------------------------
+ */
+hid_t
+H5VL_dummy_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id)
+{
+ FUNC_ENTER_NOAPI_NOINIT_NOERR
+
+ printf ("DUMMY CREATE\n");
+
+ FUNC_LEAVE_NOAPI(2)
+} /* end H5VL_dummy_create() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5VL_dummy_close
+ *
+ * Purpose: Closes a file.
+ *
+ * Return: Success: 0
+ * Failure: -1, file not closed.
+ *
+ * Programmer: Mohamad Chaarawi
+ * January, 2012
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5VL_dummy_close(hid_t file_id)
+{
+ FUNC_ENTER_NOAPI_NOINIT_NOERR
+
+ printf ("DUMMY CLOSE\n");
+
+ FUNC_LEAVE_NOAPI(1)
+} /* end H5VL_dummy_close() */
diff --git a/src/H5VLdummy.h b/src/H5VLdummy.h
new file mode 100644
index 0000000..e95098d
--- /dev/null
+++ b/src/H5VLdummy.h
@@ -0,0 +1,42 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * 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 files COPYING and Copyright.html. COPYING can be found at the root *
+ * of the source code distribution tree; Copyright.html can be found at the *
+ * root level of an installed copy of the electronic HDF5 document set and *
+ * is linked from the top-level documents page. It can also be found at *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+ * access to either file, you may request a copy from help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*
+ * Programmer: Mohamad Chaarawi <chaarawi@hdfgroup.gov>
+ * January, 2012
+ *
+ * Purpose: The public header file for the Dummy VOL plugin.
+ */
+#ifndef H5VLdummy_H
+#define H5VLdummy_H
+
+#define H5VL_DUMMY (H5VL_dummy_init())
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+H5_DLL hid_t H5VL_dummy_init(void);
+H5_DLL herr_t H5Pset_fapl_dummy(hid_t fapl_id);
+H5_DLL hid_t H5VL_dummy_open(const char *name, unsigned flags, hid_t fcpl_id,
+ hid_t fapl_id, hid_t dxpl_id);
+H5_DLL hid_t H5VL_dummy_create(const char *name, unsigned flags, hid_t fcpl_id, hid_t fapl_id);
+H5_DLL herr_t H5VL_dummy_close(hid_t fid);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
diff --git a/src/Makefile.am b/src/Makefile.am
index c751699..fad0241 100755
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -59,7 +59,7 @@ libhdf5_la_SOURCES= H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \
H5Fsfile.c H5Fsuper.c H5Fsuper_cache.c H5Ftest.c \
H5FA.c H5FAcache.c H5FAdbg.c H5FAdblock.c H5FAdblkpage.c H5FAhdr.c \
H5FAstat.c H5FAtest.c \
- H5VL.c H5VLnative.c \
+ H5VL.c H5VLnative.c H5VLdummy.c \
H5FD.c H5FDcore.c \
H5FDdirect.c H5FDfamily.c H5FDint.c H5FDlog.c H5FDmpi.c H5FDmpio.c \
H5FDmpiposix.c H5FDmulti.c H5FDsec2.c H5FDspace.c H5FDstdio.c \
@@ -116,7 +116,7 @@ include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h H5vers
H5Epubgen.h H5Epublic.h H5Fpublic.h H5FDpublic.h H5FDcore.h H5FDdirect.h \
H5FDfamily.h H5FDlog.h H5FDmpi.h H5FDmpio.h H5FDmpiposix.h \
H5FDmulti.h H5FDsec2.h H5FDstdio.h \
- H5VLpublic.h H5VLnative.h \
+ H5VLpublic.h H5VLnative.h H5VLdummy.h \
H5Gpublic.h H5Ipublic.h H5Lpublic.h \
H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
H5Tpublic.h H5Zpublic.h
diff --git a/src/Makefile.in b/src/Makefile.in
index bdd42ea..1a763b2 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -111,42 +111,43 @@ am_libhdf5_la_OBJECTS = H5.lo H5checksum.lo H5dbg.lo H5system.lo \
H5Fsfile.lo H5Fsuper.lo H5Fsuper_cache.lo H5Ftest.lo H5FA.lo \
H5FAcache.lo H5FAdbg.lo H5FAdblock.lo H5FAdblkpage.lo \
H5FAhdr.lo H5FAstat.lo H5FAtest.lo H5VL.lo H5VLnative.lo \
- H5FD.lo H5FDcore.lo H5FDdirect.lo H5FDfamily.lo H5FDint.lo \
- H5FDlog.lo H5FDmpi.lo H5FDmpio.lo H5FDmpiposix.lo H5FDmulti.lo \
- H5FDsec2.lo H5FDspace.lo H5FDstdio.lo H5FL.lo H5FO.lo H5FS.lo \
- H5FScache.lo H5FSdbg.lo H5FSsection.lo H5FSstat.lo H5FStest.lo \
- H5G.lo H5Gbtree2.lo H5Gcache.lo H5Gcompact.lo H5Gdense.lo \
- H5Gdeprec.lo H5Gent.lo H5Gint.lo H5Glink.lo H5Gloc.lo \
- H5Gname.lo H5Gnode.lo H5Gobj.lo H5Goh.lo H5Groot.lo H5Gstab.lo \
- H5Gtest.lo H5Gtraverse.lo H5HF.lo H5HFbtree2.lo H5HFcache.lo \
- H5HFdbg.lo H5HFdblock.lo H5HFdtable.lo H5HFhdr.lo H5HFhuge.lo \
- H5HFiblock.lo H5HFiter.lo H5HFman.lo H5HFsection.lo \
- H5HFspace.lo H5HFstat.lo H5HFtest.lo H5HFtiny.lo H5HG.lo \
- H5HGcache.lo H5HGdbg.lo H5HGquery.lo H5HL.lo H5HLcache.lo \
- H5HLdbg.lo H5HLint.lo H5HP.lo H5I.lo H5Itest.lo H5L.lo \
- H5Lexternal.lo H5lib_settings.lo H5MF.lo H5MFaggr.lo \
- H5MFdbg.lo H5MFsection.lo H5MM.lo H5MP.lo H5MPtest.lo H5O.lo \
- H5Oainfo.lo H5Oalloc.lo H5Oattr.lo H5Oattribute.lo H5Obogus.lo \
- H5Obtreek.lo H5Ocache.lo H5Ochunk.lo H5Ocont.lo H5Ocopy.lo \
- H5Odbg.lo H5Odrvinfo.lo H5Odtype.lo H5Oefl.lo H5Ofill.lo \
- H5Ofsinfo.lo H5Oginfo.lo H5Olayout.lo H5Olinfo.lo H5Olink.lo \
- H5Omessage.lo H5Omtime.lo H5Oname.lo H5Onull.lo H5Opline.lo \
- H5Orefcount.lo H5Osdspace.lo H5Oshared.lo H5Ostab.lo \
- H5Oshmesg.lo H5Otest.lo H5Ounknown.lo H5P.lo H5Pacpl.lo \
- H5Pdapl.lo H5Pdcpl.lo H5Pdeprec.lo H5Pdxpl.lo H5Pfapl.lo \
- H5Pfcpl.lo H5Pfmpl.lo H5Pgcpl.lo H5Pint.lo H5Plapl.lo \
- H5Plcpl.lo H5Pocpl.lo H5Pocpypl.lo H5Pstrcpl.lo H5Ptest.lo \
- H5R.lo H5Rdeprec.lo H5RC.lo H5RS.lo H5S.lo H5Sall.lo H5Sdbg.lo \
- H5Shyper.lo H5Smpio.lo H5Snone.lo H5Spoint.lo H5Sselect.lo \
- H5Stest.lo H5SL.lo H5SM.lo H5SMbtree2.lo H5SMcache.lo \
- H5SMmessage.lo H5SMtest.lo H5ST.lo H5T.lo H5Tarray.lo \
- H5Tbit.lo H5Tcommit.lo H5Tcompound.lo H5Tconv.lo H5Tcset.lo \
- H5Tdbg.lo H5Tdeprec.lo H5Tenum.lo H5Tfields.lo H5Tfixed.lo \
- H5Tfloat.lo H5Tinit.lo H5Tnative.lo H5Toffset.lo H5Toh.lo \
- H5Topaque.lo H5Torder.lo H5Tpad.lo H5Tprecis.lo H5Tstrpad.lo \
- H5Tvisit.lo H5Tvlen.lo H5TS.lo H5V.lo H5WB.lo H5Z.lo \
- H5Zdeflate.lo H5Zfletcher32.lo H5Znbit.lo H5Zshuffle.lo \
- H5Zszip.lo H5Zscaleoffset.lo H5Ztrans.lo
+ H5VLdummy.lo H5FD.lo H5FDcore.lo H5FDdirect.lo H5FDfamily.lo \
+ H5FDint.lo H5FDlog.lo H5FDmpi.lo H5FDmpio.lo H5FDmpiposix.lo \
+ H5FDmulti.lo H5FDsec2.lo H5FDspace.lo H5FDstdio.lo H5FL.lo \
+ H5FO.lo H5FS.lo H5FScache.lo H5FSdbg.lo H5FSsection.lo \
+ H5FSstat.lo H5FStest.lo H5G.lo H5Gbtree2.lo H5Gcache.lo \
+ H5Gcompact.lo H5Gdense.lo H5Gdeprec.lo H5Gent.lo H5Gint.lo \
+ H5Glink.lo H5Gloc.lo H5Gname.lo H5Gnode.lo H5Gobj.lo H5Goh.lo \
+ H5Groot.lo H5Gstab.lo H5Gtest.lo H5Gtraverse.lo H5HF.lo \
+ H5HFbtree2.lo H5HFcache.lo H5HFdbg.lo H5HFdblock.lo \
+ H5HFdtable.lo H5HFhdr.lo H5HFhuge.lo H5HFiblock.lo H5HFiter.lo \
+ H5HFman.lo H5HFsection.lo H5HFspace.lo H5HFstat.lo H5HFtest.lo \
+ H5HFtiny.lo H5HG.lo H5HGcache.lo H5HGdbg.lo H5HGquery.lo \
+ H5HL.lo H5HLcache.lo H5HLdbg.lo H5HLint.lo H5HP.lo H5I.lo \
+ H5Itest.lo H5L.lo H5Lexternal.lo H5lib_settings.lo H5MF.lo \
+ H5MFaggr.lo H5MFdbg.lo H5MFsection.lo H5MM.lo H5MP.lo \
+ H5MPtest.lo H5O.lo H5Oainfo.lo H5Oalloc.lo H5Oattr.lo \
+ H5Oattribute.lo H5Obogus.lo H5Obtreek.lo H5Ocache.lo \
+ H5Ochunk.lo H5Ocont.lo H5Ocopy.lo H5Odbg.lo H5Odrvinfo.lo \
+ H5Odtype.lo H5Oefl.lo H5Ofill.lo H5Ofsinfo.lo H5Oginfo.lo \
+ H5Olayout.lo H5Olinfo.lo H5Olink.lo H5Omessage.lo H5Omtime.lo \
+ H5Oname.lo H5Onull.lo H5Opline.lo H5Orefcount.lo H5Osdspace.lo \
+ H5Oshared.lo H5Ostab.lo H5Oshmesg.lo H5Otest.lo H5Ounknown.lo \
+ H5P.lo H5Pacpl.lo H5Pdapl.lo H5Pdcpl.lo H5Pdeprec.lo \
+ H5Pdxpl.lo H5Pfapl.lo H5Pfcpl.lo H5Pfmpl.lo H5Pgcpl.lo \
+ H5Pint.lo H5Plapl.lo H5Plcpl.lo H5Pocpl.lo H5Pocpypl.lo \
+ H5Pstrcpl.lo H5Ptest.lo H5R.lo H5Rdeprec.lo H5RC.lo H5RS.lo \
+ H5S.lo H5Sall.lo H5Sdbg.lo H5Shyper.lo H5Smpio.lo H5Snone.lo \
+ H5Spoint.lo H5Sselect.lo H5Stest.lo H5SL.lo H5SM.lo \
+ H5SMbtree2.lo H5SMcache.lo H5SMmessage.lo H5SMtest.lo H5ST.lo \
+ H5T.lo H5Tarray.lo H5Tbit.lo H5Tcommit.lo H5Tcompound.lo \
+ H5Tconv.lo H5Tcset.lo H5Tdbg.lo H5Tdeprec.lo H5Tenum.lo \
+ H5Tfields.lo H5Tfixed.lo H5Tfloat.lo H5Tinit.lo H5Tnative.lo \
+ H5Toffset.lo H5Toh.lo H5Topaque.lo H5Torder.lo H5Tpad.lo \
+ H5Tprecis.lo H5Tstrpad.lo H5Tvisit.lo H5Tvlen.lo H5TS.lo \
+ H5V.lo H5WB.lo H5Z.lo H5Zdeflate.lo H5Zfletcher32.lo \
+ H5Znbit.lo H5Zshuffle.lo H5Zszip.lo H5Zscaleoffset.lo \
+ H5Ztrans.lo
libhdf5_la_OBJECTS = $(am_libhdf5_la_OBJECTS)
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
@@ -518,7 +519,7 @@ libhdf5_la_SOURCES = H5.c H5checksum.c H5dbg.c H5system.c H5timer.c H5trace.c \
H5Fsfile.c H5Fsuper.c H5Fsuper_cache.c H5Ftest.c \
H5FA.c H5FAcache.c H5FAdbg.c H5FAdblock.c H5FAdblkpage.c H5FAhdr.c \
H5FAstat.c H5FAtest.c \
- H5VL.c H5VLnative.c \
+ H5VL.c H5VLnative.c H5VLdummy.c \
H5FD.c H5FDcore.c \
H5FDdirect.c H5FDfamily.c H5FDint.c H5FDlog.c H5FDmpi.c H5FDmpio.c \
H5FDmpiposix.c H5FDmulti.c H5FDsec2.c H5FDspace.c H5FDstdio.c \
@@ -575,7 +576,7 @@ include_HEADERS = hdf5.h H5api_adpt.h H5overflow.h H5pubconf.h H5public.h H5vers
H5Epubgen.h H5Epublic.h H5Fpublic.h H5FDpublic.h H5FDcore.h H5FDdirect.h \
H5FDfamily.h H5FDlog.h H5FDmpi.h H5FDmpio.h H5FDmpiposix.h \
H5FDmulti.h H5FDsec2.h H5FDstdio.h \
- H5VLpublic.h H5VLnative.h \
+ H5VLpublic.h H5VLnative.h H5VLdummy.h \
H5Gpublic.h H5Ipublic.h H5Lpublic.h \
H5MMpublic.h H5Opublic.h H5Ppublic.h H5Rpublic.h H5Spublic.h \
H5Tpublic.h H5Zpublic.h
@@ -955,6 +956,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Tvlen.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5V.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VL.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLdummy.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5VLnative.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5WB.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/H5Z.Plo@am__quote@