summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2001-08-06 16:01:44 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2001-08-06 16:01:44 (GMT)
commit41529d180ebc129f831d9bfea162e377d598fe92 (patch)
tree8df90e91eecd382f91c7b6e81aff192db208bc31 /src
parent2a39beb49bed12fa0385fbae4c2f118f5809e842 (diff)
downloadhdf5-41529d180ebc129f831d9bfea162e377d598fe92.zip
hdf5-41529d180ebc129f831d9bfea162e377d598fe92.tar.gz
hdf5-41529d180ebc129f831d9bfea162e377d598fe92.tar.bz2
[svn-r4312] Purpose:
Feature shift Description: Take out the v1.2.x compatibility stubs and put in the hooks for v1.4.x compatibility when needed. Platforms tested: FreeBSD 4.3 (hawkwind)
Diffstat (limited to 'src')
-rw-r--r--src/H5Dpublic.h9
-rw-r--r--src/H5FDmulti.c4
-rw-r--r--src/H5Fpublic.h17
-rw-r--r--src/H5P.c805
-rw-r--r--src/H5Ppublic.h24
-rw-r--r--src/H5T.c168
-rw-r--r--src/H5Tpublic.h9
-rw-r--r--src/H5config.h.in4
8 files changed, 2 insertions, 1038 deletions
diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h
index a4d8b74..056fb43 100644
--- a/src/H5Dpublic.h
+++ b/src/H5Dpublic.h
@@ -31,15 +31,6 @@ typedef enum H5D_layout_t {
H5D_NLAYOUTS = 3 /*this one must be last! */
} H5D_layout_t;
-#if defined(WANT_H5_V1_2_COMPAT) || defined(H5_WANT_H5_V1_2_COMPAT)
-/* Values for the data transfer property */
-typedef enum H5D_transfer_t {
- H5D_XFER_INDEPENDENT, /*Independent data transfer */
- H5D_XFER_COLLECTIVE, /*Collective data transfer */
- H5D_XFER_DFLT /*default data transfer mode */
-} H5D_transfer_t;
-#endif /* WANT_H5_V1_2_COMPAT */
-
/* Define the operator function pointer for H5Diterate() */
typedef herr_t (*H5D_operator_t)(void *elem, hid_t type_id, hsize_t ndim,
hssize_t *point, void *operator_data);
diff --git a/src/H5FDmulti.c b/src/H5FDmulti.c
index bd42869..f0ef846 100644
--- a/src/H5FDmulti.c
+++ b/src/H5FDmulti.c
@@ -470,10 +470,8 @@ H5Pget_fapl_multi(hid_t fapl_id, H5FD_mem_t *memb_map/*out*/,
if (H5P_FILE_ACCESS!=H5Pget_class(fapl_id))
H5Epush_ret(func, H5E_PLIST, H5E_BADTYPE, "not a file access property list", -1);
-#ifndef WANT_H5_V1_2_COMPAT
if (H5FD_MULTI!=H5Pget_driver(fapl_id))
H5Epush_ret(func, H5E_PLIST, H5E_BADVALUE, "incorrect VFL driver", -1);
-#endif /* WANT_H5_V1_2_COMPAT */
if (NULL==(fa=H5Pget_driver_info(fapl_id)))
H5Epush_ret(func, H5E_PLIST, H5E_BADVALUE, "bad VFL driver info", -1);
@@ -589,10 +587,8 @@ H5Pget_dxpl_multi(hid_t dxpl_id, hid_t *memb_dxpl/*out*/)
if (H5P_FILE_ACCESS!=H5Pget_class(dxpl_id))
H5Epush_ret(func, H5E_PLIST, H5E_BADTYPE, "not a file access property list", -1);
-#ifndef WANT_H5_V1_2_COMPAT
if (H5FD_MULTI!=H5Pget_driver(dxpl_id))
H5Epush_ret(func, H5E_PLIST, H5E_BADVALUE, "incorrect VFL driver", -1);
-#endif /* WANT_H5_V1_2_COMPAT */
if (NULL==(dx=H5Pget_driver_info(dxpl_id)))
H5Epush_ret(func, H5E_PLIST, H5E_BADVALUE, "bad VFL driver info", -1);
diff --git a/src/H5Fpublic.h b/src/H5Fpublic.h
index 3c03084..5309b02 100644
--- a/src/H5Fpublic.h
+++ b/src/H5Fpublic.h
@@ -47,23 +47,6 @@
#define H5F_MPIO_DEBUG_KEY "H5F_mpio_debug_key"
#endif
-#if defined(WANT_H5_V1_2_COMPAT) || defined(H5_WANT_H5_V1_2_COMPAT)
-/*
- * Low-level file drivers. These values are returned by H5Pget_file_driver()
- * and are set by the various H5Pset_...() functions that set file driver
- * properties.
- */
-typedef enum H5F_driver_t {
- H5F_LOW_ERROR = -1, /*error return value */
- H5F_LOW_STDIO = 0, /*use functions declared in stdio.h */
- H5F_LOW_SEC2 = 1, /*use functions declared in unistd.h */
- H5F_LOW_MPIO = 2, /*use indep or collective MPI-IO */
- H5F_LOW_CORE = 3, /*use malloc() and free() */
- H5F_LOW_SPLIT = 4, /*separate meta data from raw data */
- H5F_LOW_FAMILY = 5 /*split addr space over many files */
-} H5F_driver_t;
-#endif /* WANT_H5_V1_2_COMPAT */
-
/* The difference between a single file and a set of mounted files */
typedef enum H5F_scope_t {
H5F_SCOPE_LOCAL = 0, /*specified file handle only */
diff --git a/src/H5P.c b/src/H5P.c
index d8b0229..7aa71bb 100644
--- a/src/H5P.c
+++ b/src/H5P.c
@@ -27,20 +27,6 @@
/* Default file driver - see H5Pget_driver() */
#include "H5FDsec2.h" /* Posix unbuffered I/O file driver */
-#ifdef WANT_H5_V1_2_COMPAT
-/* Other predefined file drivers */
-#include "H5FDcore.h" /* Files stored entirely in memory */
-#include "H5FDfamily.h" /* File families */
-#include "H5FDmpio.h" /* Parallel files using MPI-2 I/O */
-#include "H5FDstdio.h" /* Standard C buffered I/O */
-#include "H5FDsrb.h" /* Remote access using SRB */
-#include "H5FDgass.h" /* Remote files using GASS I/O */
-#include "H5FDdpss.h" /* Remote access using Storage Client API */
-#include "H5FDstream.h" /* in-memory files streamed via sockets */
-#include "H5FDmulti.h" /* Usage-partitioned file family */
-#include "H5FDlog.h" /* sec2 driver with I/O logging (for debugging) */
-#endif /* WANT_H5_V1_2_COMPAT */
-
#define PABLO_MASK H5P_mask
/* Is the interface initialized? */
@@ -1717,97 +1703,6 @@ H5Pset_driver(hid_t plist_id, hid_t driver_id, const void *driver_info)
FUNC_LEAVE(SUCCEED);
}
-#ifdef WANT_H5_V1_2_COMPAT
-
-/*-------------------------------------------------------------------------
- * Function: H5Pget_driver
- *
- * Purpose: Return the ID of the low-level file driver. PLIST_ID should
- * be a file access property list.
- *
- * Return: Success: A low-level driver ID
- *
- * Failure: H5F_LOW_ERROR (a negative value)
- *
- * Programmer: Robb Matzke
- * Thursday, February 26, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-H5F_driver_t
-H5Pget_driver(hid_t plist_id)
-{
- H5F_access_t *plist = NULL;
- H5F_driver_t ret_value=H5F_LOW_ERROR;
-
- FUNC_ENTER (H5Pget_driver, H5F_LOW_ERROR);
- H5TRACE1("Fd","i",plist_id);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS != H5P_get_class (plist_id) ||
- NULL == (plist=H5I_object (plist_id))) {
- HRETURN_ERROR (H5E_ARGS, H5E_BADTYPE, H5F_LOW_ERROR,
- "not a file access property list");
- }
-
- if(plist->driver_id==H5FD_SEC2 || plist->driver_id==H5P_DEFAULT)
- ret_value=H5F_LOW_SEC2;
- else if(plist->driver_id==H5FD_STDIO)
- ret_value=H5F_LOW_STDIO;
- else if(plist->driver_id==H5FD_MPIO)
- ret_value=H5F_LOW_MPIO;
- else if(plist->driver_id==H5FD_CORE)
- ret_value=H5F_LOW_CORE;
- else if(plist->driver_id==H5FD_FAMILY)
- ret_value=H5F_LOW_FAMILY;
- else if(plist->driver_id==H5FD_MULTI) { /* Need to check if it's a split or multi file */
- H5FD_mem_t mt;
- H5FD_mem_t memb_map[H5FD_MEM_NTYPES];
- haddr_t memb_addr[H5FD_MEM_NTYPES];
- uintn multi=0;
-
- /* Get the information from the multi file driver */
- if (H5Pget_fapl_multi(plist_id,memb_map,NULL,NULL,memb_addr,NULL)<0) {
- HRETURN_ERROR (H5E_PLIST, H5E_NOTFOUND, H5F_LOW_ERROR,
- "can't get multi file information");
- }
-
- /* Check whether all of the meta data is in one file & the raw data in another */
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt++) {
- if(mt==H5FD_MEM_DRAW) {
- if(memb_map[mt]!=H5FD_MEM_DRAW) {
- multi=1;
- break;
- } /* end if */
- } /* end if */
- else {
- if(memb_map[mt]!=H5FD_MEM_SUPER) {
- multi=1;
- break;
- } /* end if */
- } /* end else */
- } /* end for */
-
- /* Check further if things look like a split file currently */
- if(!multi) {
- if(memb_addr[H5FD_MEM_SUPER]!=0 || memb_addr[H5FD_MEM_DRAW] != HADDR_MAX/2)
- multi=1;
- } /* end if */
-
- if(multi)
- ret_value=H5F_LOW_ERROR; /* v1.2 didn't have multi-file driver */
- else
- ret_value=H5F_LOW_SPLIT;
- } /* end if */
- else
- ret_value=H5F_LOW_ERROR; /* error, or driver unknown to v1.2 */
-
- FUNC_LEAVE (ret_value);
-}
-
-#else /* WANT_H5_V1_2_COMPAT */
/*-------------------------------------------------------------------------
* Function: H5Pget_driver
@@ -1849,7 +1744,6 @@ H5Pget_driver(hid_t plist_id)
FUNC_LEAVE(ret_value);
}
-#endif /* WANT_H5_V1_2_COMPAT */
/*-------------------------------------------------------------------------
@@ -1955,705 +1849,6 @@ H5Pget_driver_info(hid_t plist_id)
FUNC_LEAVE(ret_value);
}
-#ifdef WANT_H5_V1_2_COMPAT
-
-/*-------------------------------------------------------------------------
- * Function: H5Pset_stdio
- *
- * Purpose: Set the low level file driver to use the functions declared
- * in the stdio.h file: fopen(), fseek() or fseek64(), fread(),
- * fwrite(), and fclose().
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 19, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pset_stdio(hid_t plist_id)
-{
- FUNC_ENTER (H5Pset_stdio, FAIL);
- H5TRACE1("e","i",plist_id);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS != H5P_get_class(plist_id) ||
- NULL == H5I_object(plist_id)) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
-
- FUNC_LEAVE(H5Pset_fapl_stdio(plist_id));
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pget_stdio
- *
- * Purpose: If the file access property list is set to the stdio driver
- * then this function returns zero; otherwise it returns a
- * negative value. In the future, additional arguments may be
- * added to this function to match those added to H5Pset_stdio().
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 26, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pget_stdio(hid_t plist_id)
-{
- herr_t ret_value=FAIL;
-
- FUNC_ENTER (H5Pget_stdio, FAIL);
- H5TRACE1("e","i",plist_id);
-
- /* Check arguments and test driver */
- if (H5P_FILE_ACCESS==H5P_get_class(plist_id) &&
- (H5FD_STDIO == H5P_get_driver(plist_id))) {
- ret_value=SUCCEED;
- }
- else {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
-
- FUNC_LEAVE (ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pset_sec2
- *
- * Purpose: Set the low-level file driver to use the functions declared
- * in the unistd.h file: open(), lseek() or lseek64(), read(),
- * write(), and close().
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 19, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pset_sec2(hid_t plist_id)
-{
- FUNC_ENTER (H5Pset_sec2, FAIL);
- H5TRACE1("e","i",plist_id);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS != H5P_get_class(plist_id) ||
- NULL == H5I_object(plist_id)) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
-
- FUNC_LEAVE(H5Pset_fapl_sec2(plist_id));
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pget_sec2
- *
- * Purpose: If the file access property list is set to the sec2 driver
- * then this function returns zero; otherwise it returns a
- * negative value. In the future, additional arguments may be
- * added to this function to match those added to H5Pset_sec2().
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 26, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pget_sec2(hid_t plist_id)
-{
- herr_t ret_value=FAIL;
-
- FUNC_ENTER (H5Pget_sec2, FAIL);
- H5TRACE1("e","i",plist_id);
-
- /* Check arguments and test driver */
- if (H5P_FILE_ACCESS==H5P_get_class(plist_id) &&
- (H5FD_SEC2 == H5P_get_driver(plist_id))) {
- ret_value=SUCCEED;
- }
- else {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
-
- FUNC_LEAVE (ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pset_core
- *
- * Purpose: Set the low-level file driver to use malloc() and free().
- * This driver is restricted to temporary files which are not
- * larger than the amount of virtual memory available. The
- * INCREMENT argument determines the file block size and memory
- * will be allocated in multiples of INCREMENT bytes. A liberal
- * INCREMENT results in fewer calls to realloc() and probably
- * less memory fragmentation.
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 19, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pset_core(hid_t plist_id, size_t increment)
-{
- FUNC_ENTER (H5Pset_core, FAIL);
- H5TRACE2("e","iz",plist_id,increment);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS != H5P_get_class(plist_id) ||
- NULL == H5I_object(plist_id)) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
- if (increment<1) {
- HRETURN_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL,
- "increment must be positive");
- }
-
- FUNC_LEAVE(H5Pset_fapl_core(plist_id,increment,0));
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pget_core
- *
- * Purpose: If the file access property list is set to the core driver
- * then this function returns zero; otherwise it returns a
- * negative value. On success, the block size is returned
- * through the INCREMENT argument if it isn't the null pointer.
- * In the future, additional arguments may be added to this
- * function to match those added to H5Pset_core().
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 26, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pget_core(hid_t plist_id, size_t *increment/*out*/)
-{
- herr_t ret_value=FAIL;
-
- FUNC_ENTER (H5Pget_core, FAIL);
- H5TRACE2("e","ix",plist_id,increment);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS==H5P_get_class(plist_id) &&
- (H5FD_CORE == H5P_get_driver(plist_id)) &&
- H5Pget_fapl_core(plist_id,increment,NULL)>=0) {
- ret_value=SUCCEED;
- }
- else {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
-
- FUNC_LEAVE (ret_value);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pset_split
- *
- * Purpose: Set the low-level driver to split meta data from raw data,
- * storing meta data in one file and raw data in another file.
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 19, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pset_split(hid_t plist_id, const char *meta_ext, hid_t meta_plist_id,
- const char *raw_ext, hid_t raw_plist_id)
-{
- FUNC_ENTER (H5Pset_split, FAIL);
- H5TRACE5("e","isisi",plist_id,meta_ext,meta_plist_id,raw_ext,raw_plist_id);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS != H5P_get_class(plist_id) ||
- NULL == H5I_object(plist_id)) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
- if (H5P_DEFAULT!=meta_plist_id &&
- (H5P_FILE_ACCESS != H5P_get_class(meta_plist_id) ||
- NULL == H5I_object(meta_plist_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
- if (H5P_DEFAULT!=raw_plist_id &&
- (H5P_FILE_ACCESS != H5P_get_class(raw_plist_id) ||
- NULL == H5I_object(raw_plist_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
-
- /* Set driver */
- FUNC_LEAVE (H5Pset_fapl_split(plist_id,meta_ext,meta_plist_id,raw_ext,raw_plist_id));
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pget_split
- *
- * Purpose: If the file access property list is set to the sec2 driver
- * then this function returns zero; otherwise it returns a
- * negative value. On success, at most META_EXT_SIZE characters
- * are copied to the META_EXT buffer if non-null and at most
- * RAW_EXT_SIZE characters are copied to the RAW_EXT buffer if
- * non-null. If the actual extension is larger than the number
- * of characters requested then the buffer will not be null
- * terminated (that is, behavior like strncpy()). In addition,
- * if META_PROPERTIES and/or RAW_PROPERTIES are non-null then
- * the file access property list of the meta file and/or raw
- * file is copied and its OID returned through these arguments.
- * In the future, additional arguments may be added to this
- * function to match those added to H5Pset_sec2().
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 26, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pget_split(hid_t plist_id, size_t meta_ext_size, char *meta_ext/*out*/,
- hid_t *meta_properties/*out*/, size_t raw_ext_size,
- char *raw_ext/*out*/, hid_t *raw_properties/*out*/)
-{
- H5FD_mem_t mt;
- H5FD_mem_t _memb_map[H5FD_MEM_NTYPES];
- hid_t _memb_fapl[H5FD_MEM_NTYPES];
- char _memb_name[H5FD_MEM_NTYPES][16];
- char *_memb_name_ptrs[H5FD_MEM_NTYPES];
- haddr_t _memb_addr[H5FD_MEM_NTYPES];
-
- FUNC_ENTER (H5Pget_split, FAIL);
- H5TRACE7("e","izxxzxx",plist_id,meta_ext_size,meta_ext,meta_properties,
- raw_ext_size,raw_ext,raw_properties);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS != H5P_get_class (plist_id) ||
- NULL == H5I_object (plist_id)) {
- HRETURN_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
- if (H5FD_MULTI != H5P_get_driver(plist_id)) {
- HRETURN_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL,
- "the split driver is not set");
- }
-
- /* Reset output args for error handling */
- if (meta_ext && meta_ext_size>0)
- *meta_ext = '\0';
- if (raw_ext && raw_ext_size>0)
- *raw_ext = '\0';
- if (meta_properties)
- *meta_properties = FAIL;
- if (raw_properties)
- *raw_properties = FAIL;
-
- /* Set up the member extention pointers */
- for (mt=H5FD_MEM_DEFAULT; mt<H5FD_MEM_NTYPES; mt++)
- _memb_name_ptrs[mt] = &_memb_name[mt][0];
-
- /* Get the information from the multi file driver */
- if (H5Pget_fapl_multi(plist_id,_memb_map,_memb_fapl,_memb_name_ptrs,_memb_addr,NULL)<0) {
- HRETURN_ERROR (H5E_PLIST, H5E_NOTFOUND, FAIL,
- "can't get split file information");
- }
-
- /* Output arguments */
- if (meta_ext && meta_ext_size>0) {
- if (_memb_name[H5FD_MEM_SUPER]) {
- HDstrncpy (meta_ext, _memb_name[H5FD_MEM_SUPER], meta_ext_size);
- } else {
- HDstrncpy (meta_ext, ".meta", meta_ext_size);
- }
- }
- if (raw_ext && raw_ext_size>0) {
- if (_memb_name[H5FD_MEM_DRAW]) {
- HDstrncpy (raw_ext, _memb_name[H5FD_MEM_DRAW], raw_ext_size);
- } else {
- HDstrncpy (raw_ext, ".raw", raw_ext_size);
- }
- }
- if (meta_properties) {
- *meta_properties = _memb_fapl[H5FD_MEM_SUPER];
- }
- if (raw_properties) {
- *raw_properties = _memb_fapl[H5FD_MEM_DRAW];
- }
-
- FUNC_LEAVE (SUCCEED);
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pset_family
- *
- * Purpose: Sets the low-level driver to stripe the hdf5 address space
- * across a family of files. The MEMB_SIZE argument indicates
- * the size in bytes of each family member and is only
- * meaningful when creating new files or opening families that
- * have only one member.
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 19, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pset_family(hid_t plist_id, hsize_t memb_size, hid_t memb_plist_id)
-{
- FUNC_ENTER (H5Pset_family, FAIL);
- H5TRACE3("e","ihi",plist_id,memb_size,memb_plist_id);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS != H5P_get_class(plist_id) ||
- NULL == H5I_object(plist_id)) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
- if (memb_size && memb_size<1024) {
- HRETURN_ERROR (H5E_ARGS, H5E_BADRANGE, FAIL,
- "family member size is too small");
- }
- if (H5P_DEFAULT!=memb_plist_id &&
- (H5P_FILE_ACCESS != H5P_get_class(memb_plist_id) ||
- NULL == H5I_object(memb_plist_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
-
- /* Set driver */
- FUNC_LEAVE(H5Pset_fapl_family(plist_id,memb_size,memb_plist_id));
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pget_family
- *
- * Purpose: If the file access property list is set to the family driver
- * then this function returns zero; otherwise it returns a
- * negative value. On success, if MEMB_PLIST_ID is a non-null
- * pointer it will be initialized with the id of an open
- * property list: the file access property list for the family
- * members. In the future, additional arguments may be added to
- * this function to match those added to H5Pset_family().
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 26, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pget_family(hid_t plist_id, hsize_t *memb_size/*out*/,
- hid_t *memb_plist_id/*out*/)
-{
- FUNC_ENTER (H5Pget_family, FAIL);
- H5TRACE3("e","ixx",plist_id,memb_size,memb_plist_id);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS != H5P_get_class (plist_id) ||
- NULL == H5I_object (plist_id)) {
- HRETURN_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
- if (H5FD_FAMILY == H5P_get_driver(plist_id)) {
- HRETURN_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL,
- "the family driver is not set");
- }
-
- /* Retrieve args */
- FUNC_LEAVE (H5Pget_fapl_family(plist_id,memb_size,memb_plist_id));
-}
-
-
-#ifdef HAVE_PARALLEL
-/*-------------------------------------------------------------------------
- * Function: H5Pset_mpi
- *
- * Signature: herr_t H5Pset_mpi(hid_t plist_id, MPI_Comm comm, MPI_Info info)
- *
- * Purpose: Store the access mode for MPIO call and the user supplied
- * communicator and info in the access property list which can
- * then be used to open file. This function is available only
- * in the parallel HDF5 library and is not a collective
- * function.
- *
- * Parameters:
- * hid_t plist_id
- * ID of property list to modify
- * MPI_Comm comm
- * MPI communicator to be used for file open as defined in
- * MPI_FILE_OPEN of MPI-2. This function does not make a
- * duplicated communicator. Any modification to comm after
- * this function call returns may have undetermined effect
- * to the access property list. Users should call this
- * function again to setup the property list.
- * MPI_Info info
- * MPI info object to be used for file open as defined in
- * MPI_FILE_OPEN of MPI-2. This function does not make a
- * duplicated info. Any modification to info after
- * this function call returns may have undetermined effect
- * to the access property list. Users should call this
- * function again to setup the property list.
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Albert Cheng
- * Feb 3, 1998
- *
- * Modifications:
- *
- * Robb Matzke, 18 Feb 1998
- * Check all arguments before the property list is updated so we don't
- * leave the property list in a bad state if something goes wrong. Also,
- * the property list data type changed to allow more generality so all
- * the mpi-related stuff is in the `u.mpi' member. The `access_mode'
- * will contain only mpi-related flags defined in H5Fpublic.h.
- *
- * Albert Cheng, Apr 16, 1998
- * Removed the access_mode argument. The access_mode is changed
- * to be controlled by data transfer property list during data
- * read/write calls.
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pset_mpi(hid_t plist_id, MPI_Comm comm, MPI_Info info)
-{
- FUNC_ENTER(H5Pset_mpi, FAIL);
- H5TRACE3("e","iMcMi",plist_id,comm,info);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS != H5P_get_class(plist_id) ||
- NULL == H5I_object(plist_id)) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
-
- /* Set driver */
- FUNC_LEAVE(H5Pset_fapl_mpio(plist_id,comm,info));
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pget_mpi
- *
- * Purpose: If the file access property list is set to the mpi driver
- * then this function returns zero; otherwise it returns a
- * negative value. In the future, additional arguments may be
- * added to this function to match those added to H5Pset_mpi().
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Thursday, February 26, 1998
- *
- * Modifications:
- *
- * Albert Cheng, Apr 16, 1998
- * Removed the access_mode argument. The access_mode is changed
- * to be controlled by data transfer property list during data
- * read/write calls.
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pget_mpi(hid_t plist_id, MPI_Comm *comm, MPI_Info *info)
-{
- FUNC_ENTER (H5Pget_mpi, FAIL);
- H5TRACE3("e","i*Mc*Mi",plist_id,comm,info);
-
- /* Check arguments */
- if (H5P_FILE_ACCESS != H5P_get_class (plist_id) ||
- NULL == H5I_object (plist_id)) {
- HRETURN_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a file access property list");
- }
- if (H5FD_MPIO == H5P_get_driver(plist_id)) {
- HRETURN_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL,
- "the mpi driver is not set");
- }
-
- /* Retrieve args */
- FUNC_LEAVE (H5Pget_fapl_mpio(plist_id,comm,info));
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pset_xfer
- *
- * Signature: herr_t H5Pset_xfer(hid_t plist_id,
- * H5D_transfer_t data_xfer_mode)
- *
- * Purpose: Set the transfer mode of the dataset transfer property list.
- * The list can then be used to control the I/O transfer mode
- * during dataset accesses. This function is available only
- * in the parallel HDF5 library and is not a collective function.
- *
- * Parameters:
- * hid_t plist_id
- * ID of a dataset transfer property list
- * H5D_transfer_t data_xfer_mode
- * Data transfer modes:
- * H5D_XFER_INDEPENDENT
- * Use independent I/O access.
- * H5D_XFER_COLLECTIVE
- * Use MPI collective I/O access.
- * H5D_XFER_DFLT
- * Use default I/O access. Currently,
- * independent is the default mode.
- *
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Albert Cheng
- * April 2, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pset_xfer(hid_t plist_id, H5D_transfer_t data_xfer_mode)
-{
- H5FD_mpio_xfer_t dx_xfer_mode;
-
- FUNC_ENTER(H5Pset_xfer, FAIL);
- H5TRACE2("e","iDt",plist_id,data_xfer_mode);
-
- /* Check arguments */
- if (H5P_DATASET_XFER != H5P_get_class(plist_id) ||
- NULL == H5I_object(plist_id)) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a dataset transfer property list");
- }
-
- switch (data_xfer_mode) {
- case H5D_XFER_COLLECTIVE:
- dx_xfer_mode = H5FD_MPIO_COLLECTIVE;
- break;
-
- case H5D_XFER_INDEPENDENT:
- case H5D_XFER_DFLT:
- dx_xfer_mode = H5FD_MPIO_INDEPENDENT;
- break;
-
- default:
- HRETURN_ERROR (H5E_ARGS, H5E_BADVALUE, FAIL,
- "invalid dataset transfer mode");
- }
-
- FUNC_LEAVE(H5Pset_dxpl_mpio(plist_id,dx_xfer_mode));
-}
-
-
-/*-------------------------------------------------------------------------
- * Function: H5Pget_xfer
- *
- * Purpose: Reads the transfer mode current set in the property list.
- * This function is available only in the parallel HDF5 library
- * and is not a collective function.
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Albert Cheng
- * April 2, 1998
- *
- * Modifications:
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Pget_xfer(hid_t plist_id, H5D_transfer_t *data_xfer_mode)
-{
- H5FD_mpio_xfer_t dx_xfer_mode;
-
- FUNC_ENTER (H5Pget_xfer, FAIL);
- H5TRACE2("e","i*Dt",plist_id,data_xfer_mode);
-
- /* Check arguments */
- if (H5P_DATASET_XFER != H5P_get_class(plist_id) ||
- NULL == H5I_object(plist_id)) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a dataset transfer property list");
- }
-
- if(data_xfer_mode) {
- if(H5Pget_dxpl_mpio(plist_id,&dx_xfer_mode)<0) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "not a dataset transfer property list");
- }
- switch(dx_xfer_mode) {
- H5FD_MPIO_INDEPENDENT:
- *data_xfer_mode = H5D_XFER_INDEPENDENT;
- break;
-
- H5FD_MPIO_COLLECTIVE:
- *data_xfer_mode = H5D_XFER_COLLECTIVE;
- break;
- default:
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL,
- "unknown transfer mode");
- } /* end switch */
- } /* end if */
-
- FUNC_LEAVE (SUCCEED);
-}
-#endif /* HAVE_PARALLEL */
-#endif /* WANT_H5_V1_2_COMPAT */
-
/*-------------------------------------------------------------------------
* Function: H5Pset_cache
diff --git a/src/H5Ppublic.h b/src/H5Ppublic.h
index edd413a..ee925dc 100644
--- a/src/H5Ppublic.h
+++ b/src/H5Ppublic.h
@@ -156,31 +156,7 @@ __DLL__ herr_t H5Pget_external(hid_t plist_id, int idx, size_t name_size,
hsize_t *size/*out*/);
__DLL__ herr_t H5Pset_driver(hid_t plist_id, hid_t driver_id,
const void *driver_info);
-#if defined(WANT_H5_V1_2_COMPAT) || defined(H5_WANT_H5_V1_2_COMPAT)
-__DLL__ H5F_driver_t H5Pget_driver(hid_t plist_id);
-__DLL__ herr_t H5Pset_stdio(hid_t plist_id);
-__DLL__ herr_t H5Pget_stdio(hid_t plist_id);
-__DLL__ herr_t H5Pset_sec2(hid_t plist_id);
-__DLL__ herr_t H5Pget_sec2(hid_t plist_id);
-__DLL__ herr_t H5Pset_core(hid_t plist_id, size_t increment);
-__DLL__ herr_t H5Pget_core(hid_t plist_id, size_t *increment/*out*/);
-__DLL__ herr_t H5Pset_split(hid_t plist_id, const char *meta_ext, hid_t meta_plist_id,
- const char *raw_ext, hid_t raw_plist_id);
-__DLL__ herr_t H5Pget_split(hid_t plist_id, size_t meta_ext_size, char *meta_ext/*out*/,
- hid_t *meta_properties/*out*/, size_t raw_ext_size,
- char *raw_ext/*out*/, hid_t *raw_properties/*out*/);
-__DLL__ herr_t H5Pset_family(hid_t plist_id, hsize_t memb_size, hid_t memb_plist_id);
-__DLL__ herr_t H5Pget_family(hid_t plist_id, hsize_t *memb_size/*out*/,
- hid_t *memb_plist_id/*out*/);
-#if defined(HAVE_PARALLEL) || defined (H5_HAVE_PARALLEL)
-__DLL__ herr_t H5Pset_mpi(hid_t plist_id, MPI_Comm comm, MPI_Info info);
-__DLL__ herr_t H5Pget_mpi(hid_t plist_id, MPI_Comm *comm, MPI_Info *info);
-__DLL__ herr_t H5Pset_xfer(hid_t plist_id, H5D_transfer_t data_xfer_mode);
-__DLL__ herr_t H5Pget_xfer(hid_t plist_id, H5D_transfer_t *data_xfer_mode);
-#endif /*HAVE_PARALLEL*/
-#else /* WANT_H5_V1_2_COMPAT */
__DLL__ hid_t H5Pget_driver(hid_t plist_id);
-#endif /* WANT_H5_V1_2_COMPAT */
__DLL__ void *H5Pget_driver_info(hid_t plist_id);
__DLL__ herr_t H5Pset_buffer(hid_t plist_id, size_t size, void *tconv,
void *bkg);
diff --git a/src/H5T.c b/src/H5T.c
index 199b4be..2ac4e83 100644
--- a/src/H5T.c
+++ b/src/H5T.c
@@ -3404,67 +3404,6 @@ H5Tget_member_offset(hid_t type_id, int membno)
FUNC_LEAVE(offset);
}
-#ifdef WANT_H5_V1_2_COMPAT
-
-/*-------------------------------------------------------------------------
- * Function: H5Tget_member_dims
- *
- * Purpose: Returns the dimensionality of the member. The dimensions and
- * permuation vector are returned through arguments DIMS and
- * PERM, both arrays of at least four elements. Either (or even
- * both) may be null pointers.
- *
- * Return: Success: A value between zero and four, inclusive.
- *
- * Failure: Negative
- *
- * Programmer: Robb Matzke
- * Wednesday, January 7, 1998
- *
- * Modifications:
- * Moved into compatibility section for v1.2 functions and patched to
- * use new array datatypes - QAK, 11/13/00
- *
- *-------------------------------------------------------------------------
- */
-int
-H5Tget_member_dims(hid_t type_id, int membno,
- size_t dims[]/*out*/, int perm[]/*out*/)
-{
- H5T_t *dt = NULL;
- intn ndims, i;
-
- FUNC_ENTER(H5Tget_member_dims, FAIL);
- H5TRACE4("Is","iIsxx",type_id,membno,dims,perm);
-
- /* Check args */
- if (H5I_DATATYPE != H5I_get_type(type_id) ||
- NULL == (dt = H5I_object(type_id)) ||
- H5T_COMPOUND != dt->type) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a compound data type");
- }
- if (membno < 0 || membno >= dt->u.compnd.nmembs) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid member number");
- }
-
- /* Check if this field is an array datatype */
- if(dt->u.compnd.memb[membno].type->type==H5T_ARRAY) {
- /* Value */
- ndims = dt->u.compnd.memb[membno].type->u.array.ndims;
- for (i = 0; i < ndims; i++) {
- if (dims)
- dims[i] = dt->u.compnd.memb[membno].type->u.array.dim[i];
- if (perm)
- perm[i] = dt->u.compnd.memb[membno].type->u.array.perm[i];
- }
- } /* end if */
- else
- ndims=0;
-
- FUNC_LEAVE(ndims);
-}
-#endif /* WANT_H5_V1_2_COMPAT */
-
/*-------------------------------------------------------------------------
* Function: H5Tget_member_class
@@ -3548,35 +3487,12 @@ H5Tget_member_type(hid_t type_id, int membno)
HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid member number");
}
-#ifdef WANT_H5_V1_2_COMPAT
- /* HDF5-v1.2.x returns the base type of an array field, not the array
- * field itself. Emulate this difference. - QAK
- */
- if(dt->u.compnd.memb[membno].type->type==H5T_ARRAY) {
- /* Copy parent's data type into an atom */
- if (NULL == (memb_dt = H5T_copy(dt->u.compnd.memb[membno].type->parent,
- H5T_COPY_REOPEN))) {
- HRETURN_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,
- "unable to copy member data type");
- }
- } /* end if */
- else {
- /* Copy data type into an atom */
- if (NULL == (memb_dt = H5T_copy(dt->u.compnd.memb[membno].type,
- H5T_COPY_REOPEN))) {
- HRETURN_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,
- "unable to copy member data type");
- }
- } /* end if */
-
-#else /* WANT_H5_V1_2_COMPAT */
/* Copy data type into an atom */
if (NULL == (memb_dt = H5T_copy(dt->u.compnd.memb[membno].type,
H5T_COPY_REOPEN))) {
HRETURN_ERROR(H5E_DATATYPE, H5E_CANTINIT, FAIL,
"unable to copy member data type");
}
-#endif /* WANT_H5_V1_2_COMPAT */
if ((memb_type_id = H5I_register(H5I_DATATYPE, memb_dt)) < 0) {
H5T_close(memb_dt);
HRETURN_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL,
@@ -3646,90 +3562,6 @@ H5Tinsert(hid_t parent_id, const char *name, size_t offset, hid_t member_id)
FUNC_LEAVE(SUCCEED);
}
-#ifdef WANT_H5_V1_2_COMPAT
-
-/*-------------------------------------------------------------------------
- * Function: H5Tinsert_array
- *
- * Purpose: Adds another member to the compound data type PARENT_ID. The
- * new member has a NAME which must be unique within the
- * compound data type. The OFFSET argument defines the start of
- * the member in an instance of the compound data type and
- * MEMBER_ID is the type of the new member. The member is an
- * array with NDIMS dimensionality and the size of the array is
- * DIMS. The total member size should be relatively small.
- *
- * Return: Non-negative on success/Negative on failure
- *
- * Programmer: Robb Matzke
- * Tuesday, July 7, 1998
- *
- * Modifications:
- * Moved into compatibility section for v1.2 functions and patched to
- * use new array datatypes - QAK, 11/13/00
- *
- *-------------------------------------------------------------------------
- */
-herr_t
-H5Tinsert_array(hid_t parent_id, const char *name, size_t offset,
- int ndims, const size_t dim[/*ndims*/], const int *perm,
- hid_t member_id)
-{
- H5T_t *parent = NULL; /*the compound parent data type */
- H5T_t *member = NULL; /*the atomic member type */
- H5T_t *array = NULL; /*the array type */
- hsize_t newdim[H5S_MAX_RANK]; /* Array to hold the dimensions */
- intn i;
-
- FUNC_ENTER(H5Tinsert_array, FAIL);
- H5TRACE7("e","iszIs*[a3]z*Isi",parent_id,name,offset,ndims,dim,perm,
- member_id);
-
- /* Check args */
- if (H5I_DATATYPE != H5I_get_type(parent_id) ||
- NULL == (parent = H5I_object(parent_id)) ||
- H5T_COMPOUND != parent->type) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a compound data type");
- }
- if (H5T_STATE_TRANSIENT!=parent->state) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "parent type read-only");
- }
- if (!name || !*name) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no member name");
- }
- if (ndims<0 || ndims>4) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid dimensionality");
- }
- if (ndims>0 && !dim) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "no dimensions specified");
- }
- for (i=0; i<ndims; i++) {
- if (dim[i]<1) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "invalid dimension");
- }
- newdim[i]=dim[i];
- }
- if (H5I_DATATYPE != H5I_get_type(member_id) ||
- NULL == (member = H5I_object(member_id))) {
- HRETURN_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a data type");
- }
-
- /* Create temporary array datatype for inserting field */
- if ((array=H5T_array_create(member,ndims,newdim,perm))==NULL)
- HRETURN_ERROR(H5E_DATATYPE, H5E_CANTREGISTER, FAIL, "unable to create array datatype");
-
- /* Insert */
- if (H5T_insert(parent, name, offset, array) < 0)
- HRETURN_ERROR(H5E_DATATYPE, H5E_CANTINSERT, FAIL, "unable to insert member");
-
- /* Close array datatype */
- if (H5T_close(array) < 0)
- HRETURN_ERROR(H5E_DATATYPE, H5E_CANTINSERT, FAIL, "unable to close array type");
-
- FUNC_LEAVE(SUCCEED);
-}
-#endif /* WANT_H5_V1_2_COMPAT */
-
/*-------------------------------------------------------------------------
* Function: H5Tpack
diff --git a/src/H5Tpublic.h b/src/H5Tpublic.h
index 716cf0d..06ef8bf 100644
--- a/src/H5Tpublic.h
+++ b/src/H5Tpublic.h
@@ -457,11 +457,6 @@ __DLL__ htri_t H5Tcommitted(hid_t type_id);
/* Operations defined on compound data types */
__DLL__ herr_t H5Tinsert(hid_t parent_id, const char *name, size_t offset,
hid_t member_id);
-#if defined(WANT_H5_V1_2_COMPAT) || defined(H5_WANT_H5_V1_2_COMPAT)
-__DLL__ herr_t H5Tinsert_array(hid_t parent_id, const char *name,
- size_t offset, int ndims, const size_t dim[],
- const int *perm, hid_t member_id);
-#endif /* WANT_H5_V1_2_COMPAT */
__DLL__ herr_t H5Tpack(hid_t type_id);
/* Operations defined on enumeration data types */
@@ -506,10 +501,6 @@ __DLL__ H5T_str_t H5Tget_strpad(hid_t type_id);
__DLL__ int H5Tget_nmembers(hid_t type_id);
__DLL__ char *H5Tget_member_name(hid_t type_id, int membno);
__DLL__ size_t H5Tget_member_offset(hid_t type_id, int membno);
-#if defined(WANT_H5_V1_2_COMPAT) || defined(H5_WANT_H5_V1_2_COMPAT)
-__DLL__ int H5Tget_member_dims(hid_t type_id, int membno, size_t dims[]/*out*/,
- int perm[]/*out*/);
-#endif /* WANT_H5_V1_2_COMPAT */
__DLL__ H5T_class_t H5Tget_member_class(hid_t type_id, int membno);
__DLL__ hid_t H5Tget_member_type(hid_t type_id, int membno);
__DLL__ herr_t H5Tget_member_value(hid_t type_id, int membno,
diff --git a/src/H5config.h.in b/src/H5config.h.in
index 969c801..5578395 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -50,8 +50,8 @@
/* Define if it's safe to use `long long' for hsize_t and hssize_t */
#undef DEV_T_IS_SCALAR
-/* Define if the HDF5 v1.2 compatibility functions are to be compiled in */
-#undef WANT_H5_V1_2_COMPAT
+/* Define if the HDF5 v1.4 compatibility functions are to be compiled in */
+#undef WANT_H5_V1_4_COMPAT
/* Width for printf() for type `long long' or `__int64', us. `ll' */
#undef PRINTF_LL_WIDTH