summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/H5D.c52
-rw-r--r--src/H5Dpublic.h1
-rw-r--r--src/H5config.h.in12
-rw-r--r--src/Makefile.in6
4 files changed, 68 insertions, 3 deletions
diff --git a/src/H5D.c b/src/H5D.c
index ef88f00..86e7fdb 100644
--- a/src/H5D.c
+++ b/src/H5D.c
@@ -317,7 +317,7 @@ H5Dclose(hid_t dataset_id)
*
* Return: Success: ID for a copy of the data space. The data
* space should be released by calling
- * H5Dclose().
+ * H5Pclose().
*
* Failure: FAIL
*
@@ -357,6 +357,56 @@ H5Dget_space (hid_t dataset_id)
FUNC_LEAVE (ret_value);
}
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5Dget_type
+ *
+ * Purpose: Returns a copy of the file data type for a dataset.
+ *
+ * Return: Success: ID for a copy of the data type. The data
+ * type should be released by calling
+ * H5Tclose().
+ *
+ * Failure: FAIL
+ *
+ * Programmer: Robb Matzke
+ * Tuesday, February 3, 1998
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+hid_t
+H5Dget_type (hid_t dataset_id)
+{
+
+ H5D_t *dataset = NULL;
+ H5T_t *copied_type = NULL;
+ hid_t ret_value = FAIL;
+
+ FUNC_ENTER (H5Dget_type, FAIL);
+
+ /* Check args */
+ if (H5_DATASET!=H5A_group (dataset_id) ||
+ NULL==(dataset=H5A_object (dataset_id))) {
+ HRETURN_ERROR (H5E_ARGS, H5E_BADTYPE, FAIL, "not a dataset");
+ }
+
+ /* Copy the data type */
+ if (NULL==(copied_type=H5T_copy (dataset->type))) {
+ HRETURN_ERROR (H5E_DATASET, H5E_CANTINIT, FAIL,
+ "unable to copy the data type");
+ }
+
+ /* Create an atom */
+ if ((ret_value=H5A_register (H5_DATATYPE, copied_type))<0) {
+ HRETURN_ERROR (H5E_ATOM, H5E_CANTREGISTER, FAIL,
+ "unable to register data type");
+ }
+
+ FUNC_LEAVE (ret_value);
+}
/*-------------------------------------------------------------------------
* Function: H5Dread
diff --git a/src/H5Dpublic.h b/src/H5Dpublic.h
index 62a63d5..6067acc 100644
--- a/src/H5Dpublic.h
+++ b/src/H5Dpublic.h
@@ -40,6 +40,7 @@ hid_t H5Dcreate (hid_t file_id, const char *name, hid_t type_id,
hid_t H5Dopen (hid_t file_id, const char *name);
herr_t H5Dclose (hid_t dataset_id);
hid_t H5Dget_space (hid_t dataset_id);
+hid_t H5Dget_type (hid_t dataset_id);
herr_t H5Dread (hid_t dataset_id, hid_t mem_type_id, hid_t mem_space_id,
hid_t file_space_id, hid_t xfer_parms_id, void *buf/*out*/);
herr_t H5Dwrite (hid_t dataset_id, hid_t mem_type_id, hid_t mem_space_id,
diff --git a/src/H5config.h.in b/src/H5config.h.in
index d047ebf..be212ba 100644
--- a/src/H5config.h.in
+++ b/src/H5config.h.in
@@ -25,6 +25,12 @@
/* Define if the compiler understands the __FUNCTION__ keyword. */
#undef HAVE_FUNCTION
+/* Define if we have parallel support THIS WILL GO AWAY SHORTLY!!! */
+#undef PHDF5
+
+/* Define if we have parallel support */
+#undef HAVE_PARALLEL
+
/* The number of bytes in a double. */
#undef SIZEOF_DOUBLE
@@ -42,3 +48,9 @@
/* The number of bytes in a short. */
#undef SIZEOF_SHORT
+
+/* Define if you have the mpi library (-lmpi). */
+#undef HAVE_LIBMPI
+
+/* Define if you have the mpio library (-lmpio). */
+#undef HAVE_LIBMPIO
diff --git a/src/Makefile.in b/src/Makefile.in
index 912a901..66af462 100644
--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -14,12 +14,14 @@ LIB=libhdf5.a
PROGS=debug
# Source and object files for the library (lexicographically)...
+PARALLEL_SRC=H5Fmpio.c
+
LIB_SRC=H5.c H5A.c H5AC.c H5B.c H5C.c H5D.c H5E.c H5F.c H5Farray.c H5Fcore.c \
H5Ffamily.c H5Fistore.c H5Flow.c H5Fsec2.c H5Fsplit.c H5Fstdio.c \
H5G.c H5Gent.c H5Gnode.c H5Gstab.c H5H.c H5M.c H5MF.c H5MM.c H5O.c \
H5Ocont.c H5Odtype.c H5Oefl.c H5Olayout.c H5Oname.c H5Onull.c \
- H5Osdspace.c H5Ostab.c H5P.c H5Psimp.c H5T.c H5Tconv.c H5Tinit.c \
- H5V.c
+ H5Osdspace.c H5Ostab.c H5P.c H5Psimp.c H5T.c H5Tconv.c H5Tinit.c \
+ H5V.c @PARALLEL_SRC@
LIB_OBJ=$(LIB_SRC:.c=.o)