summaryrefslogtreecommitdiffstats
path: root/doc/html/Tutor/examples/h5_reference.c
diff options
context:
space:
mode:
authorFrank Baker <fbaker@hdfgroup.org>2005-07-19 17:28:56 (GMT)
committerFrank Baker <fbaker@hdfgroup.org>2005-07-19 17:28:56 (GMT)
commit794ba0a251af47b8e3c60afa2fe92d267e2a6b55 (patch)
treef24cea3b81ff02fa3f31c0a1c4e80fa10f4393c0 /doc/html/Tutor/examples/h5_reference.c
parentd2e92fd23610c3ccdddbbc55484e54a5a21a9252 (diff)
downloadhdf5-794ba0a251af47b8e3c60afa2fe92d267e2a6b55.zip
hdf5-794ba0a251af47b8e3c60afa2fe92d267e2a6b55.tar.gz
hdf5-794ba0a251af47b8e3c60afa2fe92d267e2a6b55.tar.bz2
[svn-r11084]
Description: All HDF5 user documentation has been moved to a separate hdf5doc/ repository, managed under Subversion. With this 'cvs commit', all files are stripped from hdf5/doc/. THIS CHANGE IS APPLIED ONLY TO THE HDF5 DEVELOPMENT BRANCH, post Release 1.6.x; it is not applied to the release branches.
Diffstat (limited to 'doc/html/Tutor/examples/h5_reference.c')
-rw-r--r--doc/html/Tutor/examples/h5_reference.c146
1 files changed, 0 insertions, 146 deletions
diff --git a/doc/html/Tutor/examples/h5_reference.c b/doc/html/Tutor/examples/h5_reference.c
deleted file mode 100644
index a69afe2..0000000
--- a/doc/html/Tutor/examples/h5_reference.c
+++ /dev/null
@@ -1,146 +0,0 @@
- /*
- * This program illustrates how references to the objects can be used.
- * Program creates two datasets in the file. It also creates the third
- * dataset, and references to the first two datasets are stored in it.
- * Program reopens the file and reads dataset with the references.
- * References are used to open first two datasets and read datatspace
- * and datatype information about them.
- *
- */
-
-#include<hdf5.h>
-
-#define FILE "refere.h5"
-
-int
-main(void) {
- hid_t fid; /* File, datasets, datatypes and */
- hid_t did_a, sid_a; /* dataspaces identifiers for three */
- hid_t did_b, tid_b, sid_b; /* datasets. */
- hid_t did_r, tid_r, sid_r;
- herr_t status;
-
- hobj_ref_t *wbuf; /* buffer to write to disk */
- hobj_ref_t *rbuf; /* buffer to read from disk */
-
-
- hsize_t dim_r[1];
- hsize_t dim_a[1];
- hsize_t dim_b[2];
-
- herr_t ret; /* return values */
-
- /*
- * Create a file using default properties.
- */
- fid = H5Fcreate(FILE, H5F_ACC_TRUNC, H5P_DEFAULT, H5P_DEFAULT);
-
- /*
- * Create dataset "A" in the file.
- */
- dim_a[0] = 5;
- sid_a = H5Screate_simple(1, dim_a, NULL);
- did_a = H5Dcreate(fid, "A", H5T_NATIVE_INT, sid_a, H5P_DEFAULT);
-
- /*
- * Create dataset "B" in the file.
- */
- dim_b[0] = 2;
- dim_b[1] = 6;
- sid_b = H5Screate_simple(2, dim_b, NULL);
- did_b = H5Dcreate(fid, "B", H5T_NATIVE_FLOAT, sid_b, H5P_DEFAULT);
-
- /*
- * Create dataset "R" to store references to the datasets "A" and "B".
- */
- dim_r[0] = 2;
- sid_r = H5Screate_simple(1, dim_r, NULL);
- tid_r = H5Tcopy(H5T_STD_REF_OBJ);
- did_r = H5Dcreate(fid, "R", tid_r, sid_r, H5P_DEFAULT );
-
- /*
- * Allocate write and read buffers.
- */
- wbuf = malloc(sizeof(hobj_ref_t)*2);
- rbuf = malloc(sizeof(hobj_ref_t)*2);
-
- /*
- * Create references to the datasets "A" and "B"
- * and store them in the wbuf.
- */
- H5Rcreate(&wbuf[0], fid, "A", H5R_OBJECT, -1);
- H5Rcreate(&wbuf[1], fid, "B", H5R_OBJECT, -1);
-
- /*
- * Write dataset R using default transfer properties.
- */
- status = H5Dwrite(did_r, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, wbuf);
-
- /*
- * Close all objects.
- */
- H5Sclose(sid_a);
- H5Dclose(did_a);
-
- H5Sclose(sid_b);
- H5Dclose(did_b);
-
- H5Tclose(tid_r);
- H5Sclose(sid_r);
- H5Dclose(did_r);
-
- H5Fclose(fid);
-
- /*
- * Reopen the file.
- */
- fid = H5Fopen(FILE, H5F_ACC_RDWR, H5P_DEFAULT);
-
- /*
- * Open and read dataset "R".
- */
- did_r = H5Dopen(fid, "R");
- status = H5Dread(did_r, H5T_STD_REF_OBJ, H5S_ALL, H5S_ALL,
- H5P_DEFAULT, rbuf);
-
- /*
- * Open dataset A using reference to it.
- */
- did_a = H5Rdereference(did_r, H5R_OBJECT, &rbuf[0]);
-
- /*
- * Get rank of the dataset "A"
- */
-
- printf("\n");
- sid_a = H5Dget_space(did_a);
- ret = H5Sget_simple_extent_ndims(sid_a);
-
- if(ret == 1) printf("Rank of A is %d.\n", ret);
- printf("\n");
-
- /*
- * Get datatype of the dataset "B"
- */
- did_b = H5Rdereference(did_r, H5R_OBJECT, &rbuf[1]);
- tid_b = H5Dget_type(did_b);
- if(H5Tequal(tid_b, H5T_NATIVE_FLOAT))
- printf("Datatype of B is H5T_NATIVE_FLOAT.\n");
- printf("\n");
-
- /*
- * Close all objects.
- */
- H5Dclose(did_a);
- H5Sclose(sid_a);
- H5Dclose(did_b);
- H5Tclose(tid_b);
- H5Fclose(fid);
-
- return 0;
-
- }
-
-
-