summaryrefslogtreecommitdiffstats
path: root/src/H5Fpublic.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/H5Fpublic.h')
-rw-r--r--src/H5Fpublic.h50
1 files changed, 43 insertions, 7 deletions
diff --git a/src/H5Fpublic.h b/src/H5Fpublic.h
index 538b07b..51d4d56 100644
--- a/src/H5Fpublic.h
+++ b/src/H5Fpublic.h
@@ -20,15 +20,50 @@
#include <H5public.h>
#include <H5Apublic.h>
-/* file access codes */
-#define H5ACC_DEFAULT 0x0000/*use in H5Fopen & H5Fcreate to open a file with default access*/
-#define H5ACC_WRITE 0x0001/*use in H5Fopen to open a file with write access*/
-#define H5ACC_OVERWRITE 0x0002/*use in H5Fcreate truncate an existing file*/
-#ifdef HAVE_PARALLEL
-#define H5ACC_INDEPENDENT 0x0010/*use in H5Cset_mpi for MPI independent access*/
-#define H5ACC_COLLECTIVE 0x0011/*use in H5Cset_mpi for MPI collective access*/
+/*
+ * These are the bits that can be passed to the `flags' argument of
+ * H5Fcreate() and H5Fopen(). Use the bit-wise OR operator (|) to combine
+ * them as needed.
+ */
+#define H5F_ACC_RDONLY 0x0000 /*absence of write implies read only */
+#define H5F_ACC_RDWR 0x0001 /*open file for reading and writing */
+#define H5F_ACC_TRUNC 0x0002 /*overwrite existing files during create*/
+#define H5F_ACC_EXCL 0x0004 /*create fails if file already exists */
+#define H5F_ACC_DEBUG 0x0008 /*print debug info */
+
+
+#ifdef LATER
+/*
+ * These are here temporarily for backward compatibility with version
+ * 5.1.0.0a and should eventually be removed since they violate the naming
+ * scheme.
+ */
+#define H5ACC_DEFAULT H5F_ACC_RDONLY
+#define H5ACC_WRITE H5F_ACC_RDWR
+#define H5ACC_OVERWRITE H5F_ACC_TRUNC
#endif
+/*
+ * Low-level file drivers. These values are returned by H5Cget_file_driver()
+ * and are set by the various H5Cset_...() functions that set file driver
+ * properties.
+ */
+typedef enum H5F_driver_t {
+ H5F_LOW_ERROR = -1, /*error return value */
+ H5F_LOW_STDIO = 0, /*use functions declared in stdio.h */
+ H5F_LOW_SEC2 = 1, /*use functions declared in unistd.h */
+ H5F_LOW_MPIO = 2, /*use indep or collective MPI-IO */
+ H5F_LOW_CORE = 3, /*use malloc() and free() */
+ H5F_LOW_SPLIT = 4, /*separate meta data from raw data */
+ H5F_LOW_FAMILY = 5, /*split addr space over many files */
+} H5F_driver_t;
+
+
+/* Parallel styles passed to H5Cset_mpi() */
+#ifdef HAVE_PARALLEL
+# define H5ACC_INDEPENDENT 0x0010 /*MPI independent access */
+# define H5ACC_COLLECTIVE 0x0011 /*MPI collective access */
+#endif
#ifdef __cplusplus
extern "C" {
@@ -41,6 +76,7 @@ hid_t H5Fcreate (const char *filename, uintn flags, hid_t create_template,
hid_t H5Fopen (const char *filename, uintn flags, hid_t access_template);
herr_t H5Fclose (hid_t fid);
hid_t H5Fget_create_template (hid_t fid);
+hid_t H5Fget_access_template (hid_t file_id);
#ifdef __cplusplus
}