summaryrefslogtreecommitdiffstats
path: root/src/H5I.c
Commit message (Collapse)AuthorAgeFilesLines
* Replace H5E_ATOM major error category with H5E_ID (#121)Dana Robinson2020-11-301-31/+31
| | | | | | | | | | * Renames H5I_ATOM to H5I_ID, among other related changes * Java has been updated. * Fortran is failing on my VM, even though I don't touch that. * Adds a RELEASE.txt note for H5E_ATOM to H5E_ID changes * Fixes typos in comments
* Enhance API tracing (#120)Quincey Koziol2020-11-261-3/+3
| | | Enhance API tracing to handle more types, and to put tracing info in a string, allowing it to be used when reporting errors. Also refactor ref-counted strings (H5RS) module to add capabilities needed for the tracing. Refactored H5Gname.c routines to use new H5RS routines also. Added /*out*/ tags to API routines that are returning information to the application. Updated H5TRACE macros from running updated trace script over library code. Added tests for new H5RS routines.
* Basic alignment with async branch (#115)Quincey Koziol2020-11-231-14/+12
| | | | | | | * Basic alignment with async branch - trivial changes to reduce clutter in overall diff. * Update minor error code to reflect change within library * Update the error output to match library
* Minor/id code cleanup (#114)Dana Robinson2020-11-211-1666/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Revert "Switch ID code to use a hash table instead of a skip list (#52)" This reverts commit a50d211755cb272b2e468144e7d892a4c90813c4. * H5I_id_type_t and H5I_class_t are no longer managed via free lists * Fixed commenting issues * Naming and commenting cleanup in H5I.c * H5I cleanup * Header cleanup * Commenting * More uniform naming * Renames H5I_id_type_t and related in H5I.c * Adds gcc pragmas to ignore H5I const casting * Split H5I code into multiple files * Rename id_type to simply type in H5I code * Minor typo in H5Itest.c
* Revert "Switch ID code to use a hash table instead of a skip list (#52)" (#104)Dana Robinson2020-11-201-137/+28
| | | This reverts commit a50d211755cb272b2e468144e7d892a4c90813c4.
* Switch ID code to use a hash table instead of a skip list (#52)Dana Robinson2020-11-171-28/+137
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Brings hash table ID code over from Bitbucket branch * Includes reformatting via clang. * Excludes uthash.h from reformatting. * Still has the failing test issue in tid.c. This should only be a problem if a custom ID type is used and its free function deletes other IDs. * Fixes munged H5_GCC_DIAG_ON/OFF macros in H5I.c The H5_GCC_DIAG_ON/OFF macros used to turn off fallthrough warnings in uthash.h (external code) were munged when formatting with clang due to their lack of quotes. e.g.; H5_GCC_DIAG_OFF(implicit-fallthrough) was munged to: H5_GCC_DIAG_OFF(implicit - fallthrough) which compiles, but is useless. So, with quotes, this is now: H5_GCC_DIAG_OFF("implicit-fallthrough") which survives reformatting with clang. * Fixes issues with user callbacks in the ID hash tables The skip lists (previously) used to handle IDs use a mark-and-sweep scheme to deal with user-defined ID delete callbacks which themselves delete other IDs in the list. The uthash hash table implementation used to manage the IDs in this feature branch does not have this ability. This commit restores the skip lists for non-library ID types in lieu of significantly modifying the uthash code. The hash tables are used to manage the library IDs as those do not delete other IDs when they are closed. * Adds uthash.h to MANIFEST * Removes implicit-fallthrough diagnostic disable Removing -Wimplicit-fallthrough=5 means that the uthash code no longer raises warnings so the H5_GCC_DIAG_OFF/ON macros that disabled those warnings have been removed from H5I.c. * Adds a test to ensure you can delete IDs in the H5Iiterate() callback
* Clang-format of source filesAllen Byrne2020-09-301-411/+352
|
* Merge remote-tracking branch 'hdffv/develop' into rebased-fprintf-experimentDavid Young2020-09-031-64/+62
|\
| * Correct typos w/HGOTO_DONE & HGOTO_ERRORQuincey Koziol2020-08-101-4/+2
| |
| * Minor normalizations with 1.12 branchDana Robinson2020-08-011-60/+60
| |
* | %08p is not portable, it's a GNU-ism. Use %8p, instead. Squashes a GCC error.David Young2020-07-301-1/+1
| |
* | Add format string macros PRI[doxX]HID for hid_t and use PRIdHID.David Young2020-07-301-1/+1
|/
* Small changes discovered with mingw and windows defines movedAllen Byrne2020-07-021-120/+120
|
* Remember the info for the last ID looked up for a given ID type.Quincey Koziol2020-06-091-2/+22
|
* Trim trailing whitespaceQuincey Koziol2020-04-201-17/+17
|
* H5_HAVE_PARALLEL, _DEBUG_API, etc. Add attributes to some variables andDavid Young2020-02-101-1/+2
| | | | parameters that are unused under some configurations.
* Squashed commit of the token_refactoring branch:Dana Robinson2020-01-161-2/+2
|
* Refactor all the 'H5VL_*_optional' callbacks to move the type of operation outQuincey Koziol2019-12-201-8/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-1/+8
| | | | Remove H5F__get_file_id() and use only private routine instead
* Fixed the java assert issue with H5O cache corking calls.Dana Robinson2019-10-031-3/+4
|
* Converted H5O MD cache cork calls to use the VOL.Dana Robinson2019-09-271-0/+50
|
* Fix H5F_get_file_id and H5F__get_file_id to take app_ref parameterJerome Soumagne2019-08-141-1/+1
| | | | Fix app_ref_count from being incremented when private routines are used
* Added the map (H5M) APIDana Robinson2019-08-131-0/+5
|
* Add support for GCC9, update warnhist script, and clean up warnings.Quincey Koziol2019-07-031-45/+45
|
* Updated configure & CMake compiler flags for GCC 8.x, along with correspondingQuincey Koziol2019-06-281-1/+1
| | | | | changes to warnhist script (and some extra improvements for condensing C++ and Java warnings), and fixed a bunch of warnings.
* Add support for GCC 7.x warnings, update warnhist script to account for them,Quincey Koziol2019-06-211-1/+1
| | | | clean up warnings.
* Rename H5VL_ID_GET_NAME to H5VL_OBJECT_GET_NAMEJerome Soumagne2019-05-231-1/+1
| | | | Implement native H5VL_OBJECT_GET_NAME by addr
* Fix issue with H5Iiterate always stopping with an error after the first ↵Jordan Henderson2019-04-231-0/+2
| | | | iteration
* Add an 'unwrap' VOL callback, so that connectors can unwrap an underlyingQuincey Koziol2019-04-211-1/+1
| | | | object without closing it. (Especially needed for pass-through connectors)
* Fixed HDFFV-10210 and HDFFV-10587Binh-Minh Ribler2019-03-201-0/+3
| | | | | | | | | | | Description: - Added parameter validation (HDFFV-10210) - Added detection of division by zero (HDFFV-10587 - CVE-2018-17438) - Fixed typos in various tests Platforms tested: Linux/64 (jelly) Linux/64 (platypus) Darwin (osx1011test)
* Removed H5I_REFERENCE from the library. It has always been unusedDana Robinson2018-12-081-1/+0
| | | | and has been marked 'deprecated' since 1.10.0. Fixes HDFFV-10252.
* Switch loc_params to VOL callbacks to pass struct by pointer instead of byQuincey Koziol2018-11-221-1/+1
| | | | value.
* Switch switch remainder of API routines to use VOL callbacks.Quincey Koziol2018-11-101-15/+6
|
* Switch driver | plugin => connector.Quincey Koziol2018-11-041-6/+6
|
* Checkpoint progress on stacking VOL plugins - all standalone regression testsQuincey Koziol2018-10-261-9/+6
| | | | in the 'test' directory appear to be working.
* Updates after merging changes from develop.Quincey Koziol2018-10-261-9/+7
|
* Merge branch 'develop' of https://bitbucket.hdfgroup.org/scm/hdffv/hdf5 into ↵Quincey Koziol2018-10-251-27/+11
|\ | | | | | | stackable_vol
| * Updates to the VOL ID and object API calls.Dana Robinson2018-10-171-29/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-91/+87
|/ | | | modified: test/dsets.c
* VOL FEATUREDana Robinson2018-10-101-22/+283
|
* Updated the H5I debug dump to not segfault when types are not initializedDana Robinson2018-10-061-9/+16
| | | | or contain zero IDs in the skip list.
* The H5I debug ID dump function is now always available insteadDana Robinson2018-10-061-26/+15
| | | | of hidden behind an H5_DEBUG_OUTPUT ifdef.
* Normalization with vol_integration (property lists, file drivers,Dana Robinson2018-09-211-6/+7
| | | | other misc).
* Normalization with vol_integration (misc internal and datatype)Dana Robinson2018-09-201-3/+3
|
* Removed 'VOL' versions of FUNC_ENTER macros as well as empty functionsDana Robinson2018-09-181-38/+2
| | | | orginally intended to support the full SWMR feature.
* Normalization with the vol_integration branch.Dana Robinson2018-06-061-231/+238
|
* Normalize with vol_integration.Dana Robinson2018-05-291-58/+52
|
* Cleanup API context function usage.Quincey Koziol2018-03-191-15/+0
|
* Add API context interface and use it throughout the library.Quincey Koziol2018-03-151-5/+57
|
* Normalization with VOL integration branch.Dana Robinson2017-12-011-367/+290
|