summaryrefslogtreecommitdiffstats
path: root/src/H5Zpublic.h
Commit message (Collapse)AuthorAgeFilesLines
* Bring async branch to develop (#166)Quincey Koziol2020-12-141-8/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add H5Fwait, H5Dwait, and other changes for async vol connector * Revert temporary testing changes * Add H5Fwait to header file * Add H5VLreset_lib_state() routine. * Correct VOL wrap context when retrieving library state for file open & create. * Manage the API context's VOL connector state as part of the library state. * Set the 'VOL connector property valid' flag when restoring the library state. * Don't push new API context on stack when retrieving "current" one. * Check for NULL VOL wrap context before decrementing refcount on it, when freeing the API context state. * Manage recount of underlying connector for VOL wrap context. * Add H5TSmutex_acquire() and H5TSmutex_release() routines to acquire and release the global lock on the HDF5 library. * Update library with new functions related to library global lock * Add asynchronous token API * Add new lightweight FUNC_ENTER / LEAVE macros for helping to structure the threadsafety (H5TS*) routines. * Sync w/develop * Initial event set code framework. * Elaborate on the H5ES routines, starting to add API routines. Update the "close ID" callbacks to allow asynchronous request tokens to be passed in from an asynchronous close API call. Refactor current asynchronous API routines (H5Fopen/H5Fclose and H5Dread/H5Dread) to use event sets instead of directly working with request tokens from the application. Clean up a few other minor warnings & code style issues. * Implement H5EScreate, H5ESget_count, and H5ESclose. It should be possible to write a simple application that creates an event set and uses it with H5Fopen_async, H5Dread_async, H5Dwrite_async, and H5Fclose_async, then calls H5ESclose (which waits for all async events to complete). * Add source file for event set test. * Refactor sync & async API routines to call common routine. Move dataset API read / write routines to src/H5D.c, along with all the other API routines. Progress on "fake" async VOL connector, for testing. * Modify async implementation to wrap async requests in a H5VL_object_t struct so the VOL layer can find the connector when accessing the request at a later point. * Free the requests is H5ESclose. Remove comments implying that request wait, notify, and cancel callbacks should free the request. * Fix bug in error handling in H5Fclose. * Fix bugs in async file routines. Rename H5VL_create_object_generic to H5VL_create_object. * Add explicit async version of H5Fcreate. * Add more _async routines * Correct typo for return value from H5Awrite changes * Add H5EStest and H5ESwait routines * Updated with API tracing info * Fix NULL pointer dereference in H5ES__wait * Add H5is_library_terminating() routine, so that VOL connectors can detect when the library is shutting down. * Fix typo * Remove event from event set's linked list * Move block of code so that vol_obj is valid * Avoid setting properties in the DXPL when reseting the library state (and in the test code). * Refactor argument tracing to implement new capability for tracing arguments of non-API routines, with the H5ARG_TRACE macro. This macro is updated automatically with the bin/trace script that runs as part of the autogen.sh process. Major changes were in src/H5trace.c and bin/trace, with the other changes being cleanups to the argument lists, to improve their presentation in the tracing output. Also - added the "managed string" routines, which can dynamically allocate strings, appending printf-formatted output to the string efficiently. * Release memory for managed strings * Fix printf() formats. * More printf() format fixes. * Add H5Eappend_stack routine and regression tests * Clean up a few missed merge conflicts and update the error stacks. * Remove unnecessary fork() operations and ten second sleep(). * Restore commented out attribute out, to better enable tracking down the previous failure * Allow multiple H5ARG_TRACE macros within a routine to be updated * Switch to using "new" H5ES_insert (which takes the arguments for the caller routine) for all event set operations. Renames H5ES_insert_new to H5ES_insert and removes the previous H5ES_insert. * Merge "managed" string routines into "ref-counted" strings, and refactor code to use them. * Add missing file. * Add caller's name and arguments to event, for error reporting * Refactor event set setup for "API common" internal routines * Checkin async API routines for H5A* and H5G* modules as listed in ID-283. Fix couple h5dump expected output files due to the changes. * Add some of the error query routines needed for event sets. * Refactor to make async setup / teardown and "common" routines cleaner * (1) Add async APIs to H5L, H5F, and H5D modules (2) Fix errors in previous checkins of async APIs in H5A and H5G modules (3) h5dump expected output changes * Enhance event info, for better error handling * Change name of temporary vol_obj variable, to help reduce coding errors * Fix oversight with vol_obj pointer * Minor code cleanup * Add missing \'valid\' flag for VOL wrapper context, when restoring the library\'s state * Run source formatter * Change H5TSmutex lock and release to include a lock count * Update error reporting ideas * Minor updates to improve sanity checking for retrieving / restoring library state * Updated with feedback from h5py team members * Refactor internal event set list and event handling, add implementation for H5ESget_err_info * Change the VOL request subclass callbacks that switch from using "H5ES_status_t" to "H5VL_request_status_t", and also add a H5VL_request_status_t* parameter to the 'cancel' callback in the request subclass. Also more code quality cleanups to add iterator callbacks to internal event set routines. * Update API tracing for new H5VL_request_status_t typedef * Finish converting internal event set operations to use list iterator callbacks, instead of directly accessing the list structure * Add H5VL_REQUEST_GET_ERR_STACK operation to request subclass, for retrieving a copy of the error stack for a failed asynchronous operation * Remove 'canceled' event status from Java constants * Be safer about releasing resources when inserting a newly opened/created object or file into an event set * Remove H5EStest, add H5ES_WAIT_NONE for 0 timeout, and revise parameters to H5ESwait, to make it more "aggregate". * Remove H5ES_STATUS_CANCELED from Java wrappers also * (a) Add async APIs for H5O module as listed in jira issue ID-283. (b) Remove verification of name parameter in async related routines for H55A and H5L modules because it is checked in H5VL_setup* routine. (c) Modify h5dump expected output due to the async changes. * Corrections based on PR feedback. * Further changes to make based on PR feedback. * Fix missed merge marker, and reformatted line * Clean up some warnings * Correct level of indirection * Relocate prototype (and doxygen info) for H5Aclose * Change non-static function declarations to be static * Ensure that H5TSpublic.h header gets installed (#129) * Add 'wrapper' versions of async calls, to allow language wrappers and layers on top of HDF5 to pass in their application information. * Switch H5Aexists\*_async and H5Lexists\*_async to use flag to return status, instead of return value. Make the corresponding changes through most of the v1 and v2 B-tree code. Clean up warnings in H5public.h and cmpd_dtransform.c. * Add H5Iregister_future routine and tests. * Correct return value for H5Lexists_async * Add H5_DLL macro to public H5ES API routines * Update supported -> flags parameter for introspect_query callback * Remove my email address. Update passthrough VOL connector ID. * Fix comment for post_open_api_common * Remove unused non-blocking VOL connector * Minor cleanup in async branch in preparation for merge to develop * Update CMake and the Autotools to use the new pass-through VOL ID * Fix for SWMR daily test failures (#160) The H5I_register_using_existing_id() call did not initialize the future ID callbacks, causing the library to segfault when it tried to resolve those function pointers. * Added selective async APIs (#150) * Added selective async APIs Description: Added the following APIs: H5Ropen_attr_async H5Ropen_object_async H5Ropen_region_async H5Mcreate_async H5Mopen_async H5Mput_async H5Mget_async H5Mclose_async H5Tcommit_async H5Topen_async H5Tcopy_async H5Tclose_async - Updated an expected output file to include a new internal function in the error stack for the failure case. * Updated async APIs per reviews, including removing async version of H5Tcopy. * Removed statements that were added by mistake in the previous commit. * Fix compile issues in H5M and warnings elsewhere * Reformat code * Brings VOL_LIST changes from develop. (#163) Co-authored-by: Houjun Tang <htang4@lbl.gov> Co-authored-by: Neil Fortner <nfortne2@hdfgroup.org> Co-authored-by: vchoi <vchoi@jelly.ad.hdfgroup.org> Co-authored-by: vchoi-hdfgroup <55293060+vchoi-hdfgroup@users.noreply.github.com> Co-authored-by: jhendersonHDF <jhenderson@hdfgroup.org> Co-authored-by: Dana Robinson <derobins@hdfgroup.org> Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> Co-authored-by: bmribler <39579120+bmribler@users.noreply.github.com>
* Basic alignment with async branch (#115)Quincey Koziol2020-11-231-52/+50
| | | | | | | * 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
* First cut of the H5 public API documentation. (#80)Gerd Heber2020-11-181-125/+536
| | | | | | | | | | | | | | | | | | | | | * First cut of the H5 public API documentation. * Added H5Z "bonus track." * Applied Quincey's patch. * Added the missing patches from Quincey's original patch. * H5PL (complete) and basic H5VL API documentation. * Added H5I API docs. * Added H5L API docs. * First installment from Elena's H5T batch. * Second installment of Elena's H5T batch. * Final installment of Elena's H5T batch.
* Clang-format of source filesAllen Byrne2020-09-301-68/+64
|
* Clean up private / package / static namespace issues (function naming, whichQuincey Koziol2020-08-061-1/+1
| | | | | | header file, FUNC_ENTER / LEAVE, etc). Removed remaining personal email addresses from library source code (still needs cleaned from other directories). Misc. warning, style, and whitespace cleanup.
* Switch H5VL_class_value_t from enum to unsigned integerQuincey Koziol2018-11-291-1/+1
|
* Fixed HDFFV-10404Binh-Minh Ribler2018-07-131-1/+1
| | | | | | | | | Description: Applied the typo fixes from user's report. The previous pull request couldn't be merged because it was too old, and it was too complicated for me to resolve conflicts. Platform tested: Linux/64 (jelly) - very minor
* Fixed an uninitialized filter callback struct in H5Dchunk.c andDana Robinson2017-11-211-10/+10
| | | | | | unified the naming and initialization of said struct throughout the library. This was causing a crash on VS2015 in debug mode when the debug heap complained. Fixes HDFFV-10330.
* Merge pull request #426 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10 to ↵Larry Knox2017-04-251-6/+4
| | | | | | | | | | hdf5_1_10 * commit '54957d37f5aa73912763dbb6e308555e863c43f4': Commit copyright header change for src/H5PLpkg.c which was added after running script to make changes. Add new files in release_docs to MANIFEST. Cimmit changes to Makefile.in(s) and H5PL.c that resulted from running autogen.sh. Merge pull request #407 in HDFFV/hdf5 from ~LRKNOX/hdf5_lrk:hdf5_1_10_1 to hdf5_1_10_1 Change copyright headers to replace url referring to file to be removed and replace it with new url for COPYING file.
* [svn-r23513] I added a test case in plugin.c for testing using filter for ↵Raymond Lu2013-04-011-4/+0
| | | | | | groups and created a dummy filter library for this test case. Tested on jam and koala.
* [svn-r23432] I added a new macro HDF5_PLUGIN_PRELOAD to skip plugin loading ↵Raymond Lu2013-03-221-3/+0
| | | | | | during data reading. Tested on koala and jam.
* [svn-r23350] I cleaned up some code and added comments for my previous ↵Raymond Lu2013-03-141-1/+3
| | | | | | checkin of the DESY project. Tested on koala.
* [svn-r23346] First commit for DESY project. It has the basic functionality ↵Raymond Lu2013-03-131-0/+6
| | | | | | of loading dynamically filter libraries and a simple test for it. Tested on koala.
* [svn-r19174] Bug fix for #1239 - The filter's public function CAN_APPLY ↵Raymond Lu2010-08-051-1/+1
| | | | | | | | | | | | should return htri_t not herr_t. To minimize the change of the library's behavior, in the function H5Z_prelude_callback of H5Z.c, if the return value of can_apply is FALSE and the filter is MANDATE, this function returns a FAILURE. If the return value is FALSE but the filter is OPTIONAL, this function returns a SUCCEED. During the IO, the filter will fail and return a size of zero. But the pipeline will skip this filter. Tested on jam, lnew, and amani. Tested on jam with szip.
* [svn-r16807] Purpose: Fix bug 1533Neil Fortner2009-04-201-3/+23
| | | | | | | | | | | Description: Previously, there was no versioning for H5Z_class_t. This prevented applications written for 1.6 using custom filters from being able to use the 1.8 library. There is now an H5Z_class1_t and H5Z_class2_t to enable compatibility. H5Zregister is *not* versioned, it determines which version of the struct has been passed in by the value of the first field (id or version, both are ints). Tested: jam, linew, smirom (h5committest), jam (--with-default-api-version=v16)
* [svn-r15628] Description:Quincey Koziol2008-09-161-2/+2
| | | | | | | | | | | | | Remove trailing whitespace from C/C++ source files, with the following script: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Tested on: Mac OS X/32 10.5.5 (amazon) No need for h5committest, just whitespace changes...
* [svn-r14379] add check of some values for the nbit and scale offest filters ↵Pedro Vicente Nunes2008-01-071-0/+5
| | | | | | | | on the h5repack verify function note: some sybols were made public tested: windows, linux
* [svn-r14376] moved a couple more private filter symbols to the public side, ↵Pedro Vicente Nunes2008-01-041-3/+4
| | | | | | needed by h5repack tested: windows, linux
* [svn-r14365] Add szip filter check of client data values for has_filters.Pedro Vicente Nunes2008-01-031-2/+11
| | | | | | NOTE: szip client symbols were made public Tested: windows, linux, solaris
* [svn-r14360] New function has_filters (replace has_filters for each object ↵Pedro Vicente Nunes2008-01-021-0/+4
| | | | | | | | | and for global filters): verify if all requested filters in the array FILTER obtained from user input are present in the property list PID obtained from the output file. All the filter comparison of client data values is done here instead of the previous filtcmp TO DO: szip, nbit and scale offset NOTE: the symbol H5Z_SHUFFLE_TOTAL_NPARMS was made public Tested: windows, teragrid with icc 8.1, linux (kagiso), solaris (linew)
* [svn-r13660] Minor cleanups and bug fixes.Elena Pourmal2007-04-131-0/+3
| | | | | | | | | H5Zpublic.h file didn't include H5public.h; done H5Spublic.h had ghost function H5Sset_space; deleted New source files were added to make.com for VMS. h5gget_comment_c had a small bug in calculating buffer length; fixed Platforms tested: pahra and kagiso; too minor for h5committest
* [svn-r13253] Updated all C and C++ style source code files with the THG ↵Albert Cheng2007-02-071-2/+3
| | | | | | | | | copyright notice. Tested platform: Kagiso only since it is only a comment block change. If it works in one machine, it should work in all, I hope. Still need to check the parallel build on copper.
* [svn-r12806] Description:Quincey Koziol2006-10-241-1/+7
| | | | | | | | | | Reduce memory usage for common cases of I/O pipeline filter memory usage. Also, clean up some more code... Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12802] Description:Quincey Koziol2006-10-231-9/+13
| | | | | | | | | | Clean up code in passing... Tested on: Linux/32 2.4 (heping) Linux/64 2.4 (mir) FreeBSD/32 4.11(sleipnir) Mac OS/32 10.4.8 (amazon)
* [svn-r11337] Purpose:Quincey Koziol2005-09-011-6/+6
| | | | | | | | | | | | Code cleanup Description: Changed some scale+offset filter symbols from H5_SO_... -> H5Z_SO_... to indicate that they are in the H5Z package. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11326] Purpose:MuQun Yang2005-08-311-4/+6
| | | | | | | | | | | | | | | Updating scale offset filter. Description: Using enum to represent scale_offset type. Change the order of parameters of H5Pset_scaleoffset. Solution: Platforms tested: sol 2.9, Liunx 2.4, AIX 5.1 Misc. update:
* [svn-r11245] Purpose:Quincey Koziol2005-08-131-9/+9
| | | | | | | | | | | | | | | | | | | | Code cleanup Description: Trim trailing whitespace, which is making 'diff'ing the two branches difficult. Solution: Ran this script in each directory: foreach f (*.[ch] *.cpp) sed 's/[[:blank:]]*$//' $f > sed.out && mv sed.out $f end Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r10676] Purpose:MuQun Yang2005-04-271-0/+6
| | | | | | | | | | | | Add a few constants for the scaleoffset filter. Description: Solution: Platforms tested: Misc. update:
* [svn-r10025] Purpose:Xiaowen Wu2005-02-171-0/+1
| | | | | | | | | | | | | | New feature. Description: Add the scaleoffset internal library filter. Solution: Platforms tested: heping, copper, arabica Misc. update:
* [svn-r9758] Purpose:MuQun Yang2005-01-061-0/+1
| | | | | | | | | | | | | | | | | Adding framework of N-bit filter Description: N-bit filter is required for NetCDF project. To add N-bit filter, configure.in configure, Makefile.in under src and other filter-related source code needs to be updated. Currently, N-bit tests are turned off from the library. So the change will affect daily test. Solution: Platforms tested: sol 2.7, linux 2.4, aix 5.1 Misc. update:
* [svn-r8781] James Laird2004-07-011-2/+12
| | | | | | | | | | | | | | | | Purpose: HDF5 now supports SZIP with no encoder. Description: SZIP can be configured to have both encoder and decoder or just to have the decoder. HDF5 can now query the configuration of any filter, and will throw errors if users try to write using a filter with encoding disabled. Solution: Added H5Zget_filter_info function, changed API for H5Pget_filter and H5P_get_filter_by_id. See SZIP RFC. Platforms tested: Copper (fortran, C++, parallel), Sleipnir (C++), Arabica (fortran, C++), Verbena (fortran, C++) Misc. update:
* [svn-r8150] Purpose:Pedro Vicente Nunes2004-02-041-0/+1
| | | | | | | | | | | | | introduced the constant H5Z_FILTER_ALL, used to remove all filters in H5Premove_filter Description: Solution: Platforms tested: linux Misc. update:
* [svn-r7181] Purpose:Quincey Koziol2003-07-071-5/+0
| | | | | | | | | | | Version update Description: Removed 1.4 compatibility code in the library. Platforms tested: FreeBSD 4.8 (sleipnir) h5committest
* [svn-r7126] Purpose:Quincey Koziol2003-06-301-2/+4
| | | | | | | | | | | | | Code cleanup Description: Add in rest of szip "options mask" macros that were missing. Also made "raw" options mask set by the library, instead of requiring users to always set it. Platforms tested: FreeBSD 4.8 (sleipnir) Minor tweaks too small fo h5committest
* [svn-r6611] Purpose:Quincey Koziol2003-04-091-4/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code cleanup/new features Description: Switch over to a new style for registering filters with the library - instead passing in an ID, a string and a callback function to H5Zregister, the client should pass in a single pointer to a H5Z_claass_t struct which contains the ID, the description string and all the function callbacks as fields. Added support for a new "can apply" callback for each filter, which is called when a dataset is created to check whether the parameters for that filter apply correctly to the combination of the datatype and the chunk size (i.e. dataspace) for the dataset. Added support for a new "set local" callback for each filter, which is called when a dataset is created (after the "can apply" filter callback) and sets filter parameters that are specific to that particular dataset. Switched the filters we ship over to use the new H5Z_class_t struct for their internal registrations and also added "set local" callbacks to the szip and shuffle filters and a "can apply" callback to the szip filter. Lots of other code cleanups, etc. also Solution: Platforms tested: FreeBSD 4.8 (sleipnir) w/szip Linux 2.4 (sleipnir) w/szip Solaris 2.7 (arabica) w/FORTRAN IRIX64 6.5 (modi4) w/szip, FORTRAN & parallel Misc. update:
* [svn-r6579] Purpose:Quincey Koziol2003-04-031-0/+6
| | | | | | | | | | | | | | | Code cleanup Description: Added flags for szip-specific settings Solution: Platforms tested: FreeBSD 4.8 (sleipnir) IRIX64 6.5 (modi4) w/parallel Misc. update:
* [svn-r6551] Purpose:MuQun Yang2003-04-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To support szip compression in HDF5 Description: szip compression support is required by NASA ESDIS. The compression algorithm is good for scientific data. In HDF5, we add another filter function to make szip as a default compression package as we did for gzip(or zlib). In this check-in, a new function called H5Pset_szip was added into H5Pdcpl.c, this function is very similar to H5Pset_deflate. The only difference is SZIP needs four parameters from the user to get the compression done while gzip needs only one. So we pass a pointer to this function instead of an integer number. The description of the four parameters of szip should be in different documents. H5Z.c and other header files were simply modified to have HDF5 know szip. Solution: See the decription Platforms tested: Since there are changes of configure.in and configure,I didn't use h5committest. I tested with four platforms. 1) Linux 2.4 (eirene) 2) Solaris 2.7(arabica) 3) windows 2000(VS 6.0) 4) SGI IRIX6.5-64(modi4) For test 1)-3), only basic C tests were done For modi4 test, I tested 64-bit C,parallel and fortran. All tests passed, except a warning message from szip library when checksum is used in some order, which doesn't cause any real problems. Misc. update:
* [svn-r6415] Purpose:Quincey Koziol2003-02-181-5/+17
| | | | | | | | | | | | | Code cleanup Description: Changed hard-coded magic number (32) for the maximum number of filters in a filter pipeline to use a symbolic constant (H5Z_MAX_NFILTERS) instead. This limit could (and probably should) be removed to allow an unlimited number of filters in a pipeline. Platforms tested: FreeBSD 4.7 (sleipnir)
* [svn-r6400] Raymond Lu2003-02-121-1/+1
| | | | | | | | | | | Purpose: Change feature Description: Switch to Fletcher32 from Adler32 checksum Platforms tested: arabica, eirene, modi4 Misc. update: MANIFEST and RELEASE.txt updated.
* [svn-r6375] Raymond Lu2003-02-041-1/+30
| | | | | | | | | | | Purpose: New feature Description: Added Adler32 checksum as a filter in pipeline Platforms tested: arabica (fortran), eirene (, C++), modi4 (parallel, fortran) Misc. update: Update release_docs/RELEASE.
* [svn-r6269] Purpose:Quincey Koziol2003-01-131-4/+4
| | | | | | | | | | | | | Code cleanup Description: Various code cleanups to allow the development branch to be compiled with a C++ compiler (i.e. CC=g++ ) Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} FreeBSD 4.7 (sleipnir) C++
* [svn-r6114] Purpose:Quincey Koziol2002-11-201-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Code Cleanup & New Feature Description: H5config.h.in: Removed H5_HAVE_COMPRESSION & H5_HAVE_FILTER_GZIP flags. Added H5_HAVE_FILTER_DEFLATE flag. H5Z.c: H5Zprivate.h: H5Zpublic.h: Switched from using H5_HAVE_COMPRESSION flag in favor of H5_HAVE_FILTER_DEFLATE. Added H5Zunregister & H5Zfilter_avail API functions. Changed a numeric constant (256) to a symbolic constant (H5Z_FILTER_RESERVED). Automatically add the shuffling filter to the list of available filters (when it is enabled). Moved prototypes for H5Z_filter_deflate & H5Z_filter_shuffle from the public header into the private header. H5Zdeflate.c: Switched from using H5_HAVE_COMPRESSION & H5_HAVE_FILTER_GZIP flags in favor of H5_HAVE_FILTER_DEFLATE. Cleaned up formatting & error reporting a bit. H5Zshuffle.c: Rewrote shuffling algorithm to be more efficient. Added error checking & reporting. Added standard Pablo information. Added standard function header comment. Added FUNC_ENTER & FUNC_LEAVE macros. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)} FreeBSD 4.7 (sleipnir)
* [svn-r6087] MuQun Yang2002-11-131-0/+4
| | | | | | | | | | | | | | | | | | | Purpose: Adding internal shuffle filter Description: With the combination of shuffling filter with general compression algorithm, the compression ratio may be improved without adding much encoding and decoding time for many real NASA datasets(especially floating data) and other application datasets(See techNotes). Solution: SHuffle the bytes within the data to utilize the locality. Platforms tested: arabica , eirene, modi4 Misc. update: Update MANIFEST if you add or remove any file. Update release_docs/RELEASE for bug fixes, new features, etc. Update applicable document files too.
* [svn-r5931] MuQun Yang2002-09-201-1/+1
| | | | | | | | | | | | Purpose: __DLL__ is a keyword in some platforms and __DLL__ is also defined as a macro for windows DLL applications. That causes problems. Description: Solution: Use H5_DLL*** to replace __DLL***__ at all header files. Change the macro defination at H5api_adpt.h. Platforms tested: linux2.2.18smp, irix64, solaris 2.7 and windows 2000
* [svn-r1619] ./src/H5O.c [1.2, 1.3]Robb Matzke1999-08-301-0/+4
| | | | | | | | | | | | | | | | Fixed a read-uninitialized-memory error that resulted in the file containing small amounts (<8 bytes each) of uninitialized data. These padding areas (which are never read by hdf5) are initialized to zero now. ./MANIFEST ./src/H5Z.c ./src/H5Zdeflate.c [NEW] ./src/H5Zprivate.h ./src/H5Zpublic.h ./src/Makefile.in The zlib filter was moved to a separate file but is still automatically defined.
* [svn-r1051] changed the HDF5DLL and HDF5GLOBAL to __DLL__ and __DLLVAR__Patrick Lu1999-02-021-1/+1
| | | | also exported all globals and non static functions to the dll
* [svn-r1032] Changes since 19990118Robb Matzke1999-01-211-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./tools/h5tools.c Strings are not converted to null-padding before being printed; they are printed with whatever byte values appear in the file. ./tools/h5ls.c Now able to display attribute data type and data. Added a `-f' or `--full' switch which causes the full name of each object to be displayed instead of just the base name. Added a `-r' or `--recursive' switch that recursively prints the contents of groups, avoiding cycles. More bulletproofing for non-printable characters in things like object names, attribute names, and comment strings. We don't want listing a file to send termal escape sequences because it's sometimes possible to execute commands that way. Since h5ls doesn't usually use quotes around object names we must sometimes escape space characters. External files are listed in a table to make the output less confusing. ./tools/h5tools.c ./tools/h5tools.h Changed h5dump() to h5dump_dset() and added h5dump_mem(). Also make h5dump_fixtype() public. ./test/dtypes.c Wrote some data to an attribute to test h5ls attribute printing. ./src/H5ACprivate.h ./src/H5Apublic.h ./src/H5Dprivate.h ./src/H5Dpublic.h ./src/H5Epublic.h ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5Gprivate.h ./src/H5HLprivate.h ./src/H5Oprivate.h ./src/H5Ppublic.h ./src/H5RApublic.h ./src/H5Rpublic.h ./src/H5Spublic.h ./src/H5Tpkg.h ./src/H5Tpublic.h ./src/H5Vprivate.h ./src/H5Zpublic.h ./src/H5private.h ./src/H5public.h Reindented function prototypes after `HDF5API' was added. Also rewrapped long lines. ./src/H5Flow.c Added an `#ifdef WIN32' around an unused variable. ./src/H5api_adpt.h Removed extra carriage returns inserted by "broken" operating system. ./src/H5Dprivate.h ./src/H5Oprivate.h ./src/H5Vprivate.h ./src/H5private.h Removed extraneous inclusion of H5api_adpt.h since it's included in H5public.h which is included by everything. ./src/Makefile.in Added H5api_adpt.h to the list of public header files to fix broken `make install'.
* [svn-r1031] added necessary info to export info to the dllPatrick Lu1999-01-211-1/+1
|
* [svn-r569] Changes since 19980731Robb Matzke1998-08-051-43/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./bin/release Added ./Makefile to the distribution again -- it got lost in the changes last week although it isn't all that important a file since it gets clobbered by configure anyway. ./bin/trace ./doc/html/Filters.html ./doc/html/H5.format.html ./doc/html/H5.user.html ./src/H5.c ./src/H5D.c ./src/H5Dprivate.h ./src/H5E.c ./src/H5Epublic.h ./src/H5Farray.c ./src/H5Fistore.c ./src/H5Fprivate.h ./src/H5O.c ./src/H5Ocomp.c ./src/H5Oprivate.h ./src/H5P.c ./src/H5Ppublic.h ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Spoint.c ./src/H5Sprivate.h ./src/H5Ssimp.c ./src/H5Z.c ./src/H5Zprivate.h ./src/H5Zpublic.h ./src/hdf5.h ./test/dsets.c ./tools/h5ls.c Added the data filter pipeline, a generalization of the compression stuff which allows things like checksums, encryption, compression, performance monitoring, etc. See ./doc/html/Filters.html for details -- it replaces the Compression.html doc. ./src/H5T.c Cleaned up debugging output. ./config/linux Added checks for egcs and pgcc and changed optimization flags for the compilers. ./src/H5G.c ./tools/h5dump.c Fixed compiler warnings in these files and others. ./configure.in ./src/H5private.h ./test/mtime.c Added a check for difftime() and defined HDdifftime() to do something else on systems that don't have difftime().
* [svn-r400] Changes since 19980513Robb Matzke1998-05-221-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./html/Datasets.html Fixed a couple of typos. ./src/H5.c Added the `Z' modifier to HDfprintf() for `size_t' sizes. Use it like this: HDfprintf(stderr,"size is %Zd\n", (size_t)x); ./src/H5AC.c ./src/H5F.c ./src/H5Fprivate.h The maximum number of meta data objects that can be cached can be set from the application (but the library might not honor it every time; it's a hint). ./src/H5D.c Changed a warning message so it's not so alarming. ./src/H5Fistore.c Chunks can be cached. ./src/H5O.c ./src/H5Oprivate.h Added H5O_copy() and H5O_free() to copy and free messages. ./src/H5P.c ./src/H5Ppublic.h Added H5Pset_cache() and H5Pget_cache() and changed lots of "template" to "property list". ./src/H5Z.c ./src/H5Zpublic.h Miscellaneous little things to clean up. Mostly just removed H5Z_MAXVAL and added H5Z_USERDEF_MIN and H5Z_USERDEF_MAX. ./MANIFEST ./test/Makefile.in ./test/chunk.c [NEW] Added a performance test for chunk caching. It looks at the amount of I/O instead of timing because timing is partly dependent on the chunk size and I wanted a measurement that was a function of only the cache size. Run `chunk' with no arguments and then say `gnuplot x-gnuplot' to see the plots (press return between plots). Postscript files are created for each plot. ./test/big.c ./test/cmpd_dset.c ./test/extend.c ./test/external.c ./test/gheap.c Added H5F_ACC_DEBUG so we can see cache performance statistics.