summaryrefslogtreecommitdiffstats
path: root/src/H5Dpkg.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Dpkg.h')
-rw-r--r--src/H5Dpkg.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/src/H5Dpkg.h b/src/H5Dpkg.h
new file mode 100644
index 0000000..093360b
--- /dev/null
+++ b/src/H5Dpkg.h
@@ -0,0 +1,76 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by the Board of Trustees of the University of Illinois. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the files COPYING and Copyright.html. COPYING can be found at the root *
+ * of the source code distribution tree; Copyright.html can be found at the *
+ * root level of an installed copy of the electronic HDF5 document set and *
+ * is linked from the top-level documents page. It can also be found at *
+ * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
+ * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*
+ * Programmer: Quincey Koziol <koziol@ncsa.uiuc.edu>
+ * Monday, April 14, 2003
+ *
+ * Purpose: This file contains declarations which are visible only within
+ * the H5D package. Source files outside the H5D package should
+ * include H5Dprivate.h instead.
+ */
+#ifndef H5D_PACKAGE
+#error "Do not include this file outside the H5D package!"
+#endif
+
+#ifndef _H5Dpkg_H
+#define _H5Dpkg_H
+
+/* Get package's private header */
+#include "H5Dprivate.h"
+
+/* Other private headers needed by this file */
+#include "H5Gprivate.h" /* Group headers */
+#include "H5Oprivate.h" /* Object headers */
+#include "H5Sprivate.h" /* Dataspace functions */
+#include "H5Tprivate.h" /* Datatype functions */
+
+/* The number of reserved IDs in dataset ID group */
+#define H5D_RESERVED_ATOMS 0
+
+/* Set the minimum object header size to create objects with */
+#define H5D_MINHDR_SIZE 256
+
+/****************************/
+/* Package Private Typedefs */
+/****************************/
+
+/*
+ * A dataset is the following struct.
+ */
+struct H5D_t {
+ H5G_entry_t ent; /* cached object header stuff */
+ H5T_t *type; /* datatype of this dataset */
+ H5S_t *space; /* dataspace of this dataset */
+ hid_t dcpl_id; /* dataset creation property id */
+ H5O_layout_t layout; /* data layout */
+ /* Cache some frequently accessed values from the DCPL */
+ H5O_efl_t efl; /* External file list information */
+ H5D_alloc_time_t alloc_time; /* Dataset allocation time */
+ H5D_fill_time_t fill_time; /* Dataset fill value writing time */
+ H5O_fill_t fill; /* Dataset fill value information */
+};
+
+/* Enumerated type for allocating dataset's storage */
+typedef enum {
+ H5D_ALLOC_CREATE, /* Dataset is being created */
+ H5D_ALLOC_OPEN, /* Dataset is being opened */
+ H5D_ALLOC_EXTEND, /* Dataset's dataspace is being extended */
+ H5D_ALLOC_WRITE /* Dataset is being extended */
+} H5D_time_alloc_t;
+
+/* Package-private functions defined in H5D package */
+H5_DLL herr_t H5D_alloc_storage (H5F_t *f, hid_t dxpl_id, H5D_t *dset, H5D_time_alloc_t time_alloc,
+ hbool_t update_time, hbool_t full_overwrite);
+#endif /*_H5Dpkg_H*/