summaryrefslogtreecommitdiffstats
path: root/src/H5Cpublic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Cpublic.h')
-rw-r--r--src/H5Cpublic.h105
1 files changed, 65 insertions, 40 deletions
diff --git a/src/H5Cpublic.h b/src/H5Cpublic.h
index 4d2fd7d..dcadcdd 100644
--- a/src/H5Cpublic.h
+++ b/src/H5Cpublic.h
@@ -1,57 +1,82 @@
/****************************************************************************
- * NCSA HDF *
- * Software Development Group *
- * National Center for Supercomputing Applications *
- * University of Illinois at Urbana-Champaign *
- * 605 E. Springfield, Champaign IL 61820 *
- * *
- * For conditions of distribution and use, see the accompanying *
- * hdf/COPYING file. *
- * *
+ * NCSA HDF *
+ * Software Development Group *
+ * National Center for Supercomputing Applications *
+ * University of Illinois at Urbana-Champaign *
+ * 605 E. Springfield, Champaign IL 61820 *
+ * *
+ * For conditions of distribution and use, see the accompanying *
+ * hdf/COPYING file. *
+ * *
****************************************************************************/
-/* $Id$ */
-
/*
- * This file contains function prototypes for each exported function in the H5C module
+ * This file contains function prototypes for each exported function in the
+ * H5C module.
*/
-
#ifndef _H5Cpublic_H
#define _H5Cpublic_H
/* Default Template for creation, access, etc. templates */
-#define H5C_DEFAULT_TEMPLATE 0
-
-#ifdef __cplusplus
-extern "C" {
-#endif
+#define H5C_DEFAULT (-2)
/* Public headers needed by this file */
#include <H5public.h>
#include <H5Apublic.h>
+
+/* Template classes */
+typedef enum H5C_class_t {
+ H5C_NO_CLASS =-1, /* Error return value */
+ H5C_FILE_CREATE =0, /* File creation template */
+ H5C_FILE_ACCESS =1, /* File access template */
+ H5C_DATASET_CREATE =2, /* Dataset creation template */
+ H5C_DATASET_XFER =3, /* Dataset transfer template */
+
+ H5C_NCLASSES =4 /* This must be last! */
+} H5C_class_t;
+
+/* Template properties, grouped by class */
+typedef enum H5C_prop_t {
+
+ /* File Creation Properties */
+ H5F_USERBLOCK_SIZE, /* Size of the user block in the file in bytes */
+ H5F_OFFSET_SIZE, /* Number of bytes for offsets */
+ H5F_LENGTH_SIZE, /* Number of bytes for lengths */
+ H5F_SYM_LEAF_K, /* 1/2 rank for symbol table leaf nodes */
+ H5F_SYM_INTERN_K, /* 1/2 rank for symbol table internal nodes */
+ H5F_ISTORE_K, /* 1/2 rank for indexed storage nodes */
+ H5F_BOOTBLOCK_VER, /* Version # of the boot-block format */
+ H5F_SMALLOBJECT_VER, /* Version # of the small-object heap format */
+ H5F_FREESPACE_VER, /* Version # of the free-space info format */
+ H5F_OBJECTDIR_VER, /* Version # of the object-directory format */
+ H5F_SHAREDHEADER_VER,/* Version # of the shared-header format */
+
+ /* File Access Properties */
+ /* None defined yet */
+
+ /* Dataset Creation Properties */
+ H5D_LAYOUT, /* Storage layout */
+ H5D_CHUNK_NDIMS, /* Chunk dimensionality */
+ H5D_CHUNK_SIZE, /* Chunk size vector */
+ H5D_COMPRESS, /* Raw data compression */
+ H5D_PRE_OFFSET, /* Precompression offset */
+ H5D_PRE_SCALE, /* Precompression scale */
+
+ /* Dataset Transfer Properties */
+ /* None defined yet */
+
+} H5C_prop_t;
+
+#ifdef __cplusplus
+extern "C" {
+#endif
-/* Parameters to use when retrieving file-creation template information */
-typedef enum {
- H5_USERBLOCK_SIZE, /* (uintn) Size of the user block in the file in bytes */
- H5_OFFSET_SIZE, /* (uint8) Number of bytes for offsets */
- H5_LENGTH_SIZE, /* (uint8) Number of bytes for lengths */
- H5_SYM_LEAF_K, /* (uintn) 1/2 rank for symbol table leaf nodes */
- H5_SYM_INTERN_K, /* (uintn) 1/2 rank for symbol table internal nodes */
- H5_ISTORE_K, /* (uintn) 1/2 rank for indexed storage nodes */
- H5_BOOTBLOCK_VER, /* (uint8) Version # of the boot-block format */
- H5_SMALLOBJECT_VER, /* (uint8) Version # of the small-object heap format */
- H5_FREESPACE_VER, /* (uint8) Version # of the free-space info format */
- H5_OBJECTDIR_VER, /* (uint8) Version # of the object-directory format */
- H5_SHAREDHEADER_VER /* (uint8) Version # of the shared-header format */
- } file_create_param_t;
-
-/* Object types for "meta" interface */
-typedef group_t hobjtype_t; /* Map the object in the "meta" interface to atom groups */
-
-/* Functions in H5C.c */
-herr_t H5Cgetparm(hid_t tid, file_create_param_t parm, VOIDP buf);
-herr_t H5Csetparm(hid_t tid, file_create_param_t parm, const VOIDP buf);
-void H5C_term_interface (void);
+/* Public functions */
+hid_t H5Ccreate (H5C_class_t type);
+herr_t H5Cclose (hid_t template);
+hid_t H5Ccopy (hid_t template);
+herr_t H5Cgetparm (hid_t template, H5C_prop_t prop, void *buf);
+herr_t H5Csetparm (hid_t template, H5C_prop_t prop, const void *buf);
#ifdef __cplusplus
}