summaryrefslogtreecommitdiffstats
path: root/src/H5Dprivate.h
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1997-09-16 18:00:02 (GMT)
committerRobb Matzke <matzke@llnl.gov>1997-09-16 18:00:02 (GMT)
commitc2212e4c4e42b59da3eab88506271627065df76b (patch)
tree77dd51dbf7e61d4801fc19139ec94caa1a013412 /src/H5Dprivate.h
parenta072c7ee66d17dc39c19d14c65d6d0508bce0a2b (diff)
downloadhdf5-c2212e4c4e42b59da3eab88506271627065df76b.zip
hdf5-c2212e4c4e42b59da3eab88506271627065df76b.tar.gz
hdf5-c2212e4c4e42b59da3eab88506271627065df76b.tar.bz2
[svn-r89] ./src/H5Apublic.h
Removed H5_OID. ./src/H5D.c Fixed a few things to work better with symbol tables. Combined the H5D_oid_t and H5D_dataset_t structs. ./src/H5Dprivate.c Combined the H5D_oid_t and H5D_dataset_t types. ./src/H5M.c Removed the callback list for H5_OID.
Diffstat (limited to 'src/H5Dprivate.h')
-rw-r--r--src/H5Dprivate.h35
1 files changed, 16 insertions, 19 deletions
diff --git a/src/H5Dprivate.h b/src/H5Dprivate.h
index beb982e..f0a08a2 100644
--- a/src/H5Dprivate.h
+++ b/src/H5Dprivate.h
@@ -28,24 +28,21 @@
#include <H5Pprivate.h> /* for the H5P_sdim_t type */
#include <H5Oprivate.h> /* Object Headers */
-/* Define a struct to carry all the information required to look up an object header */
-typedef struct {
- hatom_t fid; /* File Id for object */
- haddr_t ohdr; /* Offset of the object header */
- H5G_entry_t dir; /* directory entry for the directory the object is located in */
- H5G_entry_t ent; /* directory entry for the object itself */
- } H5D_oid_t;
-
-typedef struct {
- hdf5_file_t *file; /* Pointer to the file-store of this object */
- H5O_name_t *name; /* Name of dataset */
- hbool_t modified; /* Whether the dataset has been modified from version on disk */
- h5_datatype_t *type; /* Pointer to datatype of the dataset */
- H5P_dim_t *dim; /* Pointer to dimensionality of the dataset */
- haddr_t header; /* offset of the object header for this dataset */
- haddr_t data; /* offset of the data in the file */
- } H5D_dataset_t;
-
+/*
+ * A dataset is the following struct. It can exist in memory without
+ * existing in a file.
+ */
+typedef struct H5D_t {
+ hdf5_file_t *file; /* File store for this object */
+ char *name; /* Name of dataset, relative or absolute */
+ H5G_entry_t *cwd; /* Directory for relative name lookup */
+ H5G_entry_t ent; /* Cached object header stuff */
+ h5_datatype_t *type; /* Datatype of this dataset */
+ H5P_dim_t *dim; /* Dimensionality of this dataset */
+ haddr_t data_addr; /* Data storage address */
+ hbool_t modified; /* Is memory out of data wrt file? */
+} H5D_t;
+
#define H5D_RESERVED_ATOMS 0
/* Set the minimum object header size to create objects with */
@@ -53,7 +50,7 @@ typedef struct {
/*-----------------_-- Local function prototypes ----------------------------*/
hatom_t H5D_create(hatom_t owner_id, hobjtype_t type, const char *name);
-hatom_t H5D_access(hatom_t oid);
+hatom_t H5D_access_by_name (hatom_t owner_id, const char *name);
hatom_t H5D_find_name(hatom_t owner_id, hobjtype_t type, const char *name);
herr_t H5D_flush(hatom_t oid);
herr_t H5D_release(hatom_t oid);