diff options
author | Quincey Koziol <koziol@hdfgroup.org> | 2011-04-21 11:53:45 (GMT) |
---|---|---|
committer | Quincey Koziol <koziol@hdfgroup.org> | 2011-04-21 11:53:45 (GMT) |
commit | 7c921910d079b49107e50bf7dda97c73cb66b19d (patch) | |
tree | e9eb9fb5bab36c65a0eeba037f0a3948090b3a6c /src/H5FDpublic.h | |
parent | ffed1cd0cf5703947e2928301a716085b47e8a1d (diff) | |
download | hdf5-7c921910d079b49107e50bf7dda97c73cb66b19d.zip hdf5-7c921910d079b49107e50bf7dda97c73cb66b19d.tar.gz hdf5-7c921910d079b49107e50bf7dda97c73cb66b19d.tar.bz2 |
[svn-r20587] Description:
Initial commit of John Biddescomb's VFD & MPI tweaks.
Tested on:
None (yet)
(h5committest not required for this branch)
Diffstat (limited to 'src/H5FDpublic.h')
-rw-r--r-- | src/H5FDpublic.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/H5FDpublic.h b/src/H5FDpublic.h index c8ec658..2a22958 100644 --- a/src/H5FDpublic.h +++ b/src/H5FDpublic.h @@ -25,6 +25,7 @@ #define H5_HAVE_VFL 1 /*define a convenient app feature test*/ #define H5FD_VFD_DEFAULT 0 /* Default VFL driver value */ +#define H5_HAVE_VFD_EXTENSIONS 1 /*Extensions to VFD to allow external VFD linking */ /* Types of allocation requests: see H5Fpublic.h */ typedef enum H5F_mem_t H5FD_mem_t; @@ -209,8 +210,19 @@ typedef enum H5F_mem_t H5FD_mem_t; * the handle for the VFD (returned with the 'get_handle' callback) is * of type 'int' and is compatible with POSIX I/O calls. */ -#define H5FD_FEAT_POSIX_COMPAT_HANDLE 0x00000080 - +#define H5FD_FEAT_POSIX_COMPAT_HANDLE 0x00000080 + /* + * Defining the H5FD_FEAT_HAS_MPI for a VFL driver means that + * the driver makes use of MPI communication and code may retrieve + * communicator/rank information from it + */ +#define H5FD_FEAT_HAS_MPI 0x00000100 + /* + * Defining the H5FD_FEAT_ALLOCATE_EARLY for a VFL driver means that + * the library will use the H5D_ALLOC_TIME_EARLY on dataset create + * instead of the default H5D_ALLOC_TIME_LATE + */ +#define H5FD_FEAT_ALLOCATE_EARLY 0x00000200 /* Forward declaration */ typedef struct H5FD_t H5FD_t; @@ -240,6 +252,9 @@ typedef struct H5FD_class_t { haddr_t (*alloc)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, hsize_t size); herr_t (*free)(H5FD_t *file, H5FD_mem_t type, hid_t dxpl_id, haddr_t addr, hsize_t size); +#ifdef H5_HAVE_VFD_EXTENSIONS + void (*terminate)(); +#endif haddr_t (*get_eoa)(const H5FD_t *file, H5FD_mem_t type); herr_t (*set_eoa)(H5FD_t *file, H5FD_mem_t type, haddr_t addr); haddr_t (*get_eof)(const H5FD_t *file); |