summaryrefslogtreecommitdiffstats
path: root/src/H5VLnative.h
Commit message (Collapse)AuthorAgeFilesLines
* Squashed commit of the token_refactoring branch:Dana Robinson2020-01-161-6/+22
|
* Small changes from the token_refactoring branch, to reduce the delta to developQuincey Koziol2020-01-041-0/+17
|
* Refactor H5Dvlen_get_buf_size to use optional dataset operation, with ↵Quincey Koziol2019-12-211-0/+1
| | | | generic fallback for VOL connectors that don't implement operation
* Refactor all the 'H5VL_*_optional' callbacks to move the type of operation outQuincey Koziol2019-12-201-47/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of the va_list, so it's at least possible for another connector to know what the operation is and decide whether to implement it or not. Added a new VOL sub-class called "introspect" where callbacks that report information about the connector or container can be placed. Added an 'opt_query' callback to this sub-class, for a connector to report back to the library whether a particular optional callback operation is supported. Also added a 'get_conn_cls' introspection callback, to retrieve the H5VL_class_t of a connector (either the "current" connector, H5VL_GET_CONN_LVL_CURR, or the terminal connector, H5VL_GET_CONN_LVL_TERM). Moved the "post open" operation from a file 'specific' operation to a file 'optional' operation, now that it's possible to detect (with the 'opt_query' introspection callback) whether a VOL connector implements an optional operation, without just returning an error. Added new internal VOL helper routines: H5VL_object_is_native, to determine if an object is in (or is a) native file, and H5VL_file_is_same, to determine if two objects are in (or are) the same terminal VOL connector's container. (And moved the special handling for FILE_IS_EQUAL operation out of internal VOL callback routine into H5VL_file_is_same) Made new dataset 'get' operation for H5Dvlen_get_buf_size, aligning it better with other 'get' operations in API. Fixed several issues with pass-through connectors, which are now passing the 'make check-passthrough-vol' tests again. A bunch of warning and style cleanups as well.
* Remove H5VL_NATIVE_FILE_GET_FILE_ID and add H5VL_OBJECT_GET_FILEJerome Soumagne2019-11-271-19/+18
| | | | Remove H5F__get_file_id() and use only private routine instead
* Fix H5VL_blob_get to return size of blobJerome Soumagne2019-10-081-2/+2
| | | | | | | | | | | | | | | | | | | | Fix const in blob API Add H5HG_HEAP_ID_SIZE macro to return native blob size Add maximum size for blobs Fix blob API callbacks to pass VOL file object Add public wrappers for blob VOL API Implement passthrough blob callbacks Update H5Tvlen after callback changes Update trace information for H5VL blob routines Fix public header inclusion in native and passthru headers
* Add 'blob' callbacks to VOL, along with a native implementation to store themQuincey Koziol2019-10-081-0/+3
| | | | | | | in the global heap, and changed the VL datatype conversion code to use blobs. Move encode/decode of sequence lengths into VL datatype callbacks, from native VOL blob routines.
* Converted H5O MD cache cork calls to use the VOL.Dana Robinson2019-09-271-3/+6
|
* Marked up H5Fget/set_mpi_atomicity() to use the VOL.Dana Robinson2019-09-271-0/+2
|
* Changed H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COOR toBinh-Minh Ribler2019-09-031-1/+1
| | | | H5VL_NATIVE_DATASET_GET_CHUNK_INFO_BY_COORD per a review comment.
* HDFFV-10677 and HDFFV-10661Binh-Minh Ribler2019-08-281-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Description: - Added functions to query chunk information: H5Dget_num_chunks(dset_id, fspace_id, *nchunks) Gets the number of written chunks that intersect with the given dataspace. However, in this version, the intersection is not yet completed. Thus, the number of all written chunks will be returned. H5Dget_chunk_info_by_coord(dset_id, *offset, *filter_mask, *addr, *size) Given a chunk's logical coordinates, returns the chunk's filter, address, and size. H5Dget_chunk_info(dset_id, fspace_id, index, *offset, *filter_mask, *addr, *size) Given a chunk's index, returns the chunk's logical coordinates, filter, address, and size. The chunk belongs to a set of chunks that have nonempty intersection with the specified dataspace. However, in this version, the intersection is not yet completed, and the index is of all the written chunks. These functions comply with VOL. - Fixed some oversights found in the library for the tests in chunk_info.c to work correctly. The returned value from a callback function was not checked in H5EA_iterate(), H5FA_iterate(), and H5D__none_idx_iterate(). This oversight caused a callback function to continue iterating even though it's supposed to stop. Platforms tested: Linux/64 (jelly) Linux/64 (platypus) Darwin (osx1011test)
* Merge branch 'develop' into dset_ohdr_minimizeJacob Smith2018-12-271-2/+1
|\
| * Moved private native VOL connector functions to H5VLnative_private.h.Dana Robinson2018-12-201-58/+0
| |
| * Moved the remainder of the code into separate files.Dana Robinson2018-12-201-0/+47
| |
| * Split the native VOL connector code into multiple files andDana Robinson2018-12-201-0/+10
| | | | | | | | moved the attribute code over.
* | Merge branch 'develop' of ↵Jacob Smith2018-12-191-0/+57
|\ \ | |/ | | | | https://bitbucket.hdfgroup.org/scm/~jake.smith/hdf5 into dset_ohdr_minimize
| * Moved the optional enums to H5VLnative.h and converted to an intDana Robinson2018-12-181-0/+55
|/ | | | typedef and a set of #defines.
* Refactor infrastructure for setting FAPL information from environmentQuincey Koziol2018-11-281-1/+5
| | | | | | variables during testing, including connecting native, pass-through, and dynamically loaded VOL connectors. Also bring native and pass-through VOL connectors into alignment, removing the "H5VLnative_private.h" header.
* Switch driver | plugin => connector.Quincey Koziol2018-11-041-2/+2
|
* Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into ↵Quincey Koziol2018-10-251-7/+0
|\ | | | | | | stackable_vol
| * Split H5VLnative.h into public and private files and updatedDana Robinson2018-10-201-8/+0
| |
| * Updates to the VOL ID and object API calls.Dana Robinson2018-10-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This brings the H5VL code in line with the H5I code regarding naming, parameter order, etc. Several public API calls were affected by this change. These changed names to reflect their use with VOL drivers: H5VLregister() --> H5VLregister_driver() H5VLregister_by_name() --> H5VLregister_driver_by_name() H5VLunregister() --> H5VLunregister_driver() H5VLis_registered() --> H5VLis_driver_registered() This call was renamed to match H5Iregister(). The order of the first two parameters also reversed and the object pointer is now const. H5VLobject_register() --> H5VLregister()
* | Squashed commit of private branch changes to support stackable VOL plugins.Quincey Koziol2018-10-251-3/+3
|/ | | | modified: test/dsets.c
* VOL FEATUREDana Robinson2018-10-101-0/+44