summaryrefslogtreecommitdiffstats
path: root/src/H5VLnative.c
Commit message (Collapse)AuthorAgeFilesLines
* Enforce VOL framework version compatibility when registering connectors. ↵Quincey Koziol2020-12-101-3/+14
| | | | Also add a version for the connector itself, some refactoring on the register calls, and move the logic for matching / rejecting a VOL connector class from the plugin module to the VOL module. (#151)
* Clang-format of source filesAllen Byrne2020-09-301-159/+163
|
* Squashed commit of the token_refactoring branch:Dana Robinson2020-01-161-0/+345
|
* Fix some places where H5P_DEFAULT gets passed down to a VOL connectorJordan Henderson2020-01-031-1/+1
|
* Refactor all the 'H5VL_*_optional' callbacks to move the type of operation outQuincey Koziol2019-12-201-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Fix H5VL_blob_get to return size of blobJerome Soumagne2019-10-081-1/+1
| | | | | | | | | | | | | | | | | | | | 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-2/+8
| | | | | | | 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.
* Add an 'unwrap' VOL callback, so that connectors can unwrap an underlyingQuincey Koziol2019-04-211-0/+1
| | | | object without closing it. (Especially needed for pass-through connectors)
* Revise "management" VOL callbacks into 'info' and object 'wrap / retrieval'Quincey Koziol2019-02-231-10/+14
| | | | classes.
* Moved private native VOL connector functions to H5VLnative_private.h.Dana Robinson2018-12-201-1/+2
|
* Moved the remainder of the code into separate files.Dana Robinson2018-12-201-2876/+4
|
* Split the native VOL connector code into multiple files andDana Robinson2018-12-201-596/+0
| | | | moved the attribute code over.
* Moved the optional enums to H5VLnative.h and converted to an intDana Robinson2018-12-181-16/+0
| | | | typedef and a set of #defines.
* Fixed a missing H5R call.Dana Robinson2018-12-181-1/+1
|
* Made hbool_t processing consistent in va_lists.Dana Robinson2018-12-181-1/+1
|
* Merge branch 'develop' into vol_optional_enum_to_macrosDana Robinson2018-12-181-12/+0
|\
| * Remove H5VL_FILE_CACHE_VOL_CONN from file specific callbacks, as it turns outQuincey Koziol2018-12-171-12/+0
| | | | | | | | | | | | not to be necessary. Also, correct _MSC_VER #ifdef
* | Updated enums in VOL va_lists to be passed as ints.Dana Robinson2018-12-181-25/+25
|/
* Updated va_arg-->HDva_arg in the native VOL connector.Dana Robinson2018-12-171-179/+179
|
* Moved the native VOL connector's optional enums to theDana Robinson2018-12-151-44/+74
| | | | | public headers and renamed to include native/NATIVE in the name.
* Refactor infrastructure for setting FAPL information from environmentQuincey Koziol2018-11-281-37/+7
| | | | | | 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.
* Added 'notify' callback for async requests; switched VOL class and infoQuincey Koziol2018-11-281-23/+24
| | | | | | comparison to return comparison value as parameter, so they can return error values; "cancelled" -> "canceled"; switched order of 'wrap_object' and 'free_wrap_ctx' management callbacks.
* Switch loc_params to VOL callbacks to pass struct by pointer instead of byQuincey Koziol2018-11-221-187/+186
| | | | value.
* Add info_to_str and str_to_info "management" callbacks for serializing andQuincey Koziol2018-11-211-0/+2
| | | | deserializing a connector's info object.
* Add VOL connector info to the flie access property list returned fromQuincey Koziol2018-11-181-3/+15
| | | | H5Fget_access_plist(). Also, other misc. cleanups, etc.
* Switch switch remainder of API routines to use VOL callbacks.Quincey Koziol2018-11-101-10/+141
|
* Remove most debugging shims & scaffolding.Quincey Koziol2018-11-041-98/+12
|
* Switch driver | plugin => connector.Quincey Koziol2018-11-041-18/+18
|
* Refactor, standardize, and revise the async request callbacks.Quincey Koziol2018-11-041-3/+5
|
* Move (final?) file operation from directly calling into library code to usingQuincey Koziol2018-10-271-1/+7
| | | | the file_optional VOL callback.
* Remove virtual dataset refresh code's direct use of native VOL plugin's ID.Quincey Koziol2018-10-271-8/+0
|
* Eliminate last call to H5VL_native_register, shifting everything over toQuincey Koziol2018-10-261-37/+0
| | | | the VOL plugin wrapping code.
* Updates after merging changes from develop.Quincey Koziol2018-10-261-1/+1
|
* Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into ↵Quincey Koziol2018-10-251-6/+6
|\ | | | | | | stackable_vol
| * Split H5VLnative.h into public and private files and updatedDana Robinson2018-10-201-1/+1
| |
| * Updates to the VOL ID and object API calls.Dana Robinson2018-10-171-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-505/+616
|/ | | | modified: test/dsets.c
* VOL FEATUREDana Robinson2018-10-101-0/+3533