summaryrefslogtreecommitdiffstats
path: root/src/H5Ppublic.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2001-09-26 20:29:35 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2001-09-26 20:29:35 (GMT)
commit7a96b1a0d2b943aa4c4187b4424bea8ae826ee5f (patch)
tree6f69e5f4f0852885fd4e93927d4ffba71dbe6c44 /src/H5Ppublic.h
parente09ac06d96dfaca15d74e683a24b0fdcf21f906c (diff)
downloadhdf5-7a96b1a0d2b943aa4c4187b4424bea8ae826ee5f.zip
hdf5-7a96b1a0d2b943aa4c4187b4424bea8ae826ee5f.tar.gz
hdf5-7a96b1a0d2b943aa4c4187b4424bea8ae826ee5f.tar.bz2
[svn-r4482] Purpose:
Kludge Description: Since we're only about halfway through converting the internal use of property lists from the "old way" to the generic property lists, we turned off snapshots to avoid exposing lots of API changes to users, until the APIs settled down. Getting the snapshots rolling again seems to have become a priority, so some changes are going to have to be made now that were going to be postponed until we were completely finished with the conversion. This requires that the old API functions be able to deal with both the old and new property lists smoothly. Solution: Kludge together the property list code so that they can transparently handle dealing with both the old and new property lists Platforms tested: FreeBSD 4.4 (hawkwind)
Diffstat (limited to 'src/H5Ppublic.h')
-rw-r--r--src/H5Ppublic.h39
1 files changed, 27 insertions, 12 deletions
diff --git a/src/H5Ppublic.h b/src/H5Ppublic.h
index a4a6522..fec9801 100644
--- a/src/H5Ppublic.h
+++ b/src/H5Ppublic.h
@@ -37,15 +37,30 @@ typedef long off_t;
/*__MWERKS__*/
/* Property list classes */
-typedef enum H5P_class_t {
- H5P_NO_CLASS = -1, /*error return value */
- H5P_FILE_CREATE = 0, /*file creation properties */
- H5P_FILE_ACCESS = 1, /*file access properties */
- H5P_DATASET_CREATE = 2, /*dataset creation properties */
- H5P_DATASET_XFER = 3, /*data transfer properties */
- H5P_MOUNT = 4, /*file mounting properties */
- H5P_NCLASSES /*this must be last! */
-} H5P_class_t;
+typedef enum H5P_class_t_old {
+ H5P_NO_CLASS_OLD = -1, /*error return value */
+ H5P_FILE_CREATE_OLD = 0, /*file creation properties */
+ H5P_FILE_ACCESS_OLD = 1, /*file access properties */
+ H5P_DATASET_CREATE_OLD= 2, /*dataset creation properties */
+ H5P_MOUNT_OLD = 3, /*file mounting properties */
+ H5P_NCLASSES_OLD /*this must be last! */
+} H5P_class_t_old;
+
+/* This typedef should go in the v1.4 compat section when all the internal */
+/* property lists are switched to generic property lists - QAK */
+typedef hid_t H5P_class_t; /* Alias H5P_class_t to hid_t */
+/* hid_t aliases for old H5P_class_t enum values */
+/* These go away as each old-style property list is converted to a generic */
+/* property list -QAK */
+/* Also - merge/delete H5Pcreate and H5Pcreate_list */
+/* - merge/delete H5Pget_class and H5Pget_class_new */
+/* - merge/delete H5Pcopy and H5Pcopy_new */
+/* - merge/delete H5Pclose and H5Pclose_list */
+__DLLVAR__ hid_t H5P_NO_CLASS;
+__DLLVAR__ hid_t H5P_FILE_CREATE;
+__DLLVAR__ hid_t H5P_FILE_ACCESS;
+__DLLVAR__ hid_t H5P_DATASET_CREATE;
+__DLLVAR__ hid_t H5P_MOUNT;
/* H5P_DATASET_XFER was the name from the beginning through 1.2. It was
* changed to H5P_DATA_XFER on v1.3.0. Then it was changed back to
@@ -86,7 +101,7 @@ extern "C" {
#define H5P_FILE_ACCESS_HASH_SIZE 17
#define H5P_DATASET_CREATE_NEW (H5open(), H5P_CLS_DATASET_CREATE_g)
#define H5P_DATASET_CREATE_HASH_SIZE 17
-#define H5P_DATASET_XFER_NEW (H5open(), H5P_CLS_DATASET_XFER_g)
+#define H5P_DATASET_XFER (H5open(), H5P_CLS_DATASET_XFER_g)
#define H5P_DATASET_XFER_HASH_SIZE 17
#define H5P_MOUNT_NEW (H5open(), H5P_CLS_MOUNT_g)
#define H5P_MOUNT_HASH_SIZE 17
@@ -146,10 +161,10 @@ __DLL__ herr_t H5Premove(hid_t plist_id, const char *name);
__DLL__ herr_t H5Punregister(hid_t pclass_id, const char *name);
__DLL__ herr_t H5Pclose_list(hid_t plist_id);
__DLL__ herr_t H5Pclose_class(hid_t plist_id);
-__DLL__ hid_t H5Pcreate(H5P_class_t type);
+__DLL__ hid_t H5Pcreate(hid_t type);
__DLL__ herr_t H5Pclose(hid_t plist_id);
__DLL__ hid_t H5Pcopy(hid_t plist_id);
-__DLL__ H5P_class_t H5Pget_class(hid_t plist_id);
+__DLL__ hid_t H5Pget_class(hid_t plist_id);
__DLL__ herr_t H5Pget_version(hid_t plist_id, int *boot/*out*/,
int *freelist/*out*/, int *stab/*out*/,
int *shhdr/*out*/);