summaryrefslogtreecommitdiffstats
path: root/src/H5.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r4706] Purpose:Quincey Koziol2001-12-121-151/+153
| | | | | | | | | | | | Code cleanup Description: Tweaked internal error handling macros to reduce the size of the library's object code by about 10-20%. Also cleaned up some compiler warnings... Platforms tested: FreeBSD 4.4 (sleipnir)
* [svn-r4618] Purpose:Quincey Koziol2001-11-201-45/+19
| | | | | | | | Code cleanup Description: Clean up threading macros and remove vestiges of old-style property lists. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4584] Raymond Lu2001-11-021-12/+11
| | | | | | | | | Purpose: Switch from old property list to new generic property list. Description: Mainly changed H5Pcreat, H5Pclose, H5Pcopy. Platforms tested: IRIX64 6.5, FreeBSD, SunOS 5.7.
* [svn-r4573] Raymond Lu2001-10-251-15/+0
| | | | | | | Purpose: Switch mount property list to the new generic property list. Platforms tested: IRIX64 6.5, SunOS 5.7, FreeBSD.
* [svn-r4569] Raymond Lu2001-10-241-6/+0
| | | | | | | | | Purpose: Generic Property List Change Description: Changed file access list to the new generic list. Platforms tested: IRIX64, SunOS5.7, FreeBSD
* [svn-r4543] Raymond Lu2001-10-151-6/+0
| | | | | | | Purpose: Changed the file creation property list to the new generic property list. Platform tested: IRIX64, SunOS5.7, FreeBSD
* [svn-r4517] Raymond Lu2001-10-031-6/+0
| | | | | | | | Purpose: Changed to the new generic property list for dataset creation property list. Platforms tested: Arabica, modi4 and Hawkwind
* [svn-r4482] Purpose:Quincey Koziol2001-09-261-276/+291
| | | | | | | | | | | | | | | | | | | | | | Kludge Description: Since we're only about halfway through converting the internal use of property lists from the "old way" to the generic property lists, we turned off snapshots to avoid exposing lots of API changes to users, until the APIs settled down. Getting the snapshots rolling again seems to have become a priority, so some changes are going to have to be made now that were going to be postponed until we were completely finished with the conversion. This requires that the old API functions be able to deal with both the old and new property lists smoothly. Solution: Kludge together the property list code so that they can transparently handle dealing with both the old and new property lists Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4473] Purpose:Quincey Koziol2001-09-251-40/+40
| | | | | | | | | | | | | | | | | | | | | Code cleanup for better compatibility with C++ compilers Description: C++ compilers are choking on our C code, for various reasons: we used our UNUSED macro incorrectly when referring to pointer types we used various C++ keywords as variables, etc. we incremented enum's with the ++ operator. Solution: Changed variables, etc.to avoid C++ keywords (new, class, typename, typeid, template) Fixed usage of UNUSED macro from this: char UNUSED *c to this: char * UNUSED c Switched the enums from x++ to x=x+1 Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4355] Purpose:Quincey Koziol2001-08-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | Code cleanup (sorta) Description: When the first versions of the HDF5 library were designed, I remembered vividly the difficulties of porting code from a 32-bit platform to a 16-bit platform and asked that people use intn & uintn instead of int & unsigned int, respectively. However, in hindsight, this was overkill and unnecessary since we weren't going to be porting the HDF5 library to 16-bit architectures. Currently, the extra uintn & intn typedefs are causing problems for users who'd like to include both the HDF5 and HDF4 header files in one source module (like Kent's h4toh5 library). Solution: Changed the uintn & intn's to unsigned and int's respectively. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4324] Purpose:Quincey Koziol2001-08-101-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | New Features! Description: Start migrating the internal use of property lists in the library from the older implementation to the new generic property lists. Currently, only the dataset transfer property lists are migrated to the new architecture, all the rest of the property list types are still using the older architecture. Also, the backward compatibility features are not implemented yet, so applications which use dataset transfer properties may need to make the following changes: H5Pcreate(H5P_DATASET_XFER) -> H5Pcreate_list(H5P_DATASET_XFER_NEW) and H5Pclose(<a dataset transfer property list>) -> H5Pclose_list(id) This still may have some bugs in it, especially with Fortran, but I should be wrapping up those later today. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4021] Purpose:Bill Wendling2001-06-191-8/+0
| | | | | | | Remove my fix... Description: Quincey already put a fix up for the bug I fixed before I could put up my fix for the bug. So I'm retracting my fix.
* [svn-r4020] Purpose:Bill Wendling2001-06-191-2/+9
| | | | | | | | | | | | Bug Fix Description: On some platforms, long long is printed with the "ll" modifier. HDfprintf didn't handle this case. Solution: Added code which checks if there's an "ll" modifier on the template. If so, then it uses that as the modifier. Platforms tested: Kelgia and Dangermouse
* [svn-r4019] Purpose:Quincey Koziol2001-06-191-2/+11
| | | | | | | | | | | Bug fix Description: 'll' type description wasn't being handled correctly in HDfprintf, causing testing failures. Solution: Added tests for 'll' to HDfprintf's type description parsing. Platforms tested: Solaris 2.7 (arabica)
* [svn-r4017] Purpose:Quincey Koziol2001-06-191-8/+1
| | | | | | | | | | | | | Code cleanup Description: Several system header files needed to be included on Linux machines to get the prototypes for some of the system calls we are using. Solution: Added a new feature test macro for including the <features.h> header on Linux machines, to set up compile macros for system header files. Platforms tested: Linux (eirene), FreeBSD 4.3 (hawkwind)
* [svn-r4014] Purpose:Quincey Koziol2001-06-191-1/+1
| | | | | | | | | | | Bug Fix Description: HDfprintf wasn't aware of 'L' type modifier and was passing along the '%Ld' verbatim instead of printing a long long integer value. Solution: Added 'L' to the type modifiers checked in HDfprintf Platforms tested: Linux (eirene)
* [svn-r4013] Purpose:Bill Wendling2001-06-181-8/+8
| | | | | | | | | | | | POSIX Removal Description: Removed calls to POSIX functions and replaced them with the HD* equivalents. Solution: Did just that. Also had to create two new HD* macros, the gettimeofday() and getrusage() Platforms tested: Linux
* [svn-r4012] Purpose:Quincey Koziol2001-06-181-0/+2
| | | | | | | | Clean up compiler warnings. Description: Just code neatening mostly, some casts, etc. Platforms tested: FreeBSD 4.3 (hawkwind)
* [svn-r3974] code warrior portPedro Vicente Nunes2001-06-071-0/+2
|
* [svn-r3946] Purpose:Bill Wendling2001-05-291-1/+1
| | | | | | | | | | | Code Simplification Description: H5Pget_class() was being called from the H5.c module. Changed it so that it calls H5P_get_class() instead. Also, the H5Pget_class() and H5P_get_class() functions were identical. Changed so that H5Pget_class() calls H5P_get_class(). Platforms tested: Linux
* [svn-r3916] Purpose:Albert Cheng2001-05-121-0/+35
| | | | | | | | New feature Description: Added verification of H5_VERS_INFO in H5check_version(). Platforms tested: Eirene (linux).
* [svn-r3781] Purpose:Bill Wendling2001-04-051-15/+15
| | | | | | | | | | | | | | | | | | Update Description: Changed #include <hdf_file.h> construct to #include "hdf_file.h" so that the GNU compiler can more easily pick up the dependencies which it places in the .depend and Dependencies files. Also regenerated the Dependencies to go along with this. Platforms tested: Linux
* [svn-r3677] Purpose:Albert Cheng2001-03-201-4/+0
| | | | | | | | | | | | | Bug fix (sort of) Description: The RCSID string in H5public.h was causing the C++ code problem as it was included multiple times and C++ did not like multiple definitions of the same static variable. Solution: Since we don't really make use of the RCSID strings as we have not installed it in all source files, we decided to remove it. Platforms tested: eirene (linux), modi4 (IRIX64-64) both serial and parallel modes.
* [svn-r3304] Purpose:Quincey Koziol2001-01-181-10/+0
| | | | | | | | Code update Description: Remove ragged array code & tests from library before release. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3236] Purpose:Quincey Koziol2001-01-041-6/+6
| | | | | | | | Clean up code. Description: Cleaned up various compiler warnings. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3050] ./hdf5/src/H5.cRobb Matzke2000-12-011-2/+0
| | | | | 2000-12-01 Robb Matzke *: Removed empty lines from end of file?
* [svn-r3008] Purpose:Quincey Koziol2000-11-281-1/+1
| | | | | | | | | | | | | | Code cleanup Description: Several places in the code were using -2 as a default value for various features. However, when a default value is returned from a function that is supposed to return negative on failure, it was causing confusion and extra work for users to check for the special value. Solution: Replaced hard-coded -2 values in the code with symbolic names, then changed symbolic names to 0 instead of -2. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3005] Purpose:Quincey Koziol2000-11-271-4/+4
| | | | | | | | Backward compatibility code Description: Add in code to allow the library to emulate the v1.2 API and behavior. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r2891] Purpose:Quincey Koziol2000-11-141-8/+10
| | | | | | | | | | | Bug fix. Description: Generic property list code wasn't getting initialized early enough to get the proper values into the macro/constants. Solution: Call H5P_init() from H5_init_library(). Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2866] Purpose:Quincey Koziol2000-11-111-9/+9
| | | | | | | | Code cleanup Description: Found more "Have_foo" usage and converted them to "H5_HAVE_foo" Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2652] Purpose:Quincey Koziol2000-10-101-2/+2
| | | | | | | | | | | | | | | Maintainance & performance enhancements Description: Re-arranged header files to protect private symbols better. Changed optimized regular hyperslab I/O to compute the offsets more efficiently from previous method of using matrix operations. Added sequential I/O operations at a more abstract level (at the same level as H5F_arr_read/write), to support the optimized hyperslab I/O. Platforms tested: Solaris 2.6 (baldric) & FreeBSD 4.1.1 (hawkwind)
* [svn-r2548] Added #include <sys/resource.h> for the struct getrusage ↵Bill Wendling2000-09-141-24/+28
| | | | | | | declaration. Przemek Klosowski, Ph.D. <przemek@nist.gov> reported this problem on Linux RH 6.1 systems.
* [svn-r2459] Added public API function (H5set_free_list_limits) to allow ↵Quincey Koziol2000-08-041-0/+44
| | | | | | | | limits to be placed on how much memory is used by the free lists before they are garbage collected. The default is to have no limit, with garbage collection only occurring when they cannot allocate memory.
* [svn-r2444] Checkpoint the Generic Property implementation. It's not active ↵Quincey Koziol2000-07-251-2/+10
| | | | | | yet, but it's close. This shouldn't interfere with other development work. (I think.. :-)
* [svn-r2318] Rearranged metadata caching to put caching information in the ↵Quincey Koziol2000-06-011-1/+0
| | | | | | | | objects being cached instead of in separate structures. This reduces the amount of memory the hash table uses by about half. This is the initial step along the path of speeding up the metadata caching.
* [svn-r2276] Modifed thread-safety code to more closely align with rest of ↵Quincey Koziol2000-05-191-15/+10
| | | | | | HDF5 coding standards.
* [svn-r2264] Added Thread-safe feature. This is the phase 1 implementationChee-Wai Lee2000-05-181-11/+60
| | | | | | that all HDF5 API functions are protected by a mutex lock. Basically, serialized all API calls. To use it, use configure --enable-threadsafe --with-pthread
* [svn-r2151] Modified H5_term_library to not reported errors when ↵Quincey Koziol2000-04-151-2/+9
| | | | | | | | H5Eset_auto(NULL,NULL) has turned off error reporting in the library. Also, changed the way property lists are managed and closed so that they can be automatically closed when the library terminates.
* [svn-r2122] Fixed small problem with va_arg & shorts and floats in ↵Quincey Koziol2000-04-121-3/+3
| | | | | | HDfprintf. This closes bug #401.
* [svn-r2073] Added free-list code to the library and took out the older ↵Quincey Koziol2000-04-041-1/+38
| | | | | | | "temporary buffer" code, since the functionality was superceded. See the followup document for details on the free-list code.
* [svn-r1881] Changed all the HAVE_PARALLEL and HAVE_GASS macros to the newAlbert Cheng1999-12-171-2/+2
| | | | form of H5_HAVE_PARALLEL and H5_HAVE_GASS.
* [svn-r1832] * 1999-11-16Robb Matzke1999-11-161-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | ** configure.in ** configure [REGENERATED] ** src/H5private.h ** src/H5public.h ** src/Makefile.in Generates an H5pubconf.h file which is just like H5config.h except all the preprocessor symbols have `H5_' prepended. This was done so that the configuration results can be used in public header files without polluting the namespace. ** src/H5.c Added H5I_REFERENCE and H5I_VFL to the API tracing code so their names are printed instead of just numbers. ** src/H5FDstdio.c ** tools/h5import.c ** tools/h5repart.c ** tools/pdb2hdf.c Changed to use the `H5_' versions of configure results since these files include only the public API. ** test/big.c Removed a compiler warning. ** test/h5test.c Removed unused code.
* [svn-r1802] Changes since 19991019Robb Matzke1999-11-011-0/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST ./configure.in ./configure [REGENERATED] Added more checking for `make' features. ./Makefile.in ./doc/Makefile.in ./doc/html/Makefile.in ./doc/html/Tutor/Makefile.in ./examples/Makefile.in ./pablo/Makefile.in ./src/Makefile.in ./test/Makefile.in ./testpar/Makefile.in ./tools/Makefile.in ./config/commence.in ./config/conclude.in ./config/depend.in [REMOVED] ./config/depend1.in [NEW] ./config/depend2.in [NEW] ./config/depend3.in [NEW] ./config/depend4.in [NEW] ./config/dependN.in [NEW] The directory search stuff was moved into commence.in, thereby shortening the Makefile.in prologues. ./doc/html/Dependencies [NEW] ./doc/html/Tutor/Dependencies [NEW] ./examples/Dependencies [NEW] ./src/Dependencies [NEW] ./test/Dependencies [NEW] ./testpar/Dependencies [NEW] ./tools/Dependencies [NEW] The `.distdep' files were all renamed to `Dependencies' to make them more obvious. They are required (but may be empty) in every directory that has a Makefile.in that ends with @CONCLUDE@ (you'll get an obvious error from make if you forgot to create one). ./bin/trace ./src/H5.c Added H5E_major_t and H5E_minor_t although tracing only prints the integer value. ./src/H5E.c ./src/H5Epublic.h Added tracing information. ./src/H5FDcore.c ./src/H5FDfamily.c ./src/H5FDgass.c ./src/H5FDmpio.c ./src/H5FDsec2.c ./src/H5FDstdio.c Fixed places where FUNC_LEAVE() evaluated it's argument more than once. Added tracing information. Wrapped long lines. ./config/gnu-flags Fixed a syntax error when we don't have a gnu compiler.
* [svn-r1573] Changes since 19990817Robb Matzke1999-08-171-1/+6
| | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5D.c ./src/H5F.c ./src/H5Fistore.c ./src/H5Smpio.c Incorporated previous changes into MPIO special cases. These are mostly due to the fact that most of the members of the file->shared->fapl struct have been moved into the file->shared->file->shared struct (`file' is an H5F_t*). ./src/H5I.c Fixed a bug with closing the library w.r.t. the VFL stuff. The VFL layer introduced reference counts on object ID's and the library termination functions freed these objects in the wrong order. Now H5I_clear_group() does not normally remove objects with a reference count larger than one because it assumes that those objects are currently in use by the library.
* [svn-r1572] Changes since 19990810Robb Matzke1999-08-171-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST ./src/H5FDmulti.c [NEW] ./src/H5FDmulti.h [NEW] ./src/Makefile.in ./src/hdf5.h The split driver was reimplemented as a more general "multi" driver which is capable of splitting data into multiple files like the family driver except the partioning is done by memory usage type instead of address. The H5Pset_fapl_split() function just calls H5Pset_fapl_multi() with arguments which prepare to split the address space into two files: meta and raw data. This is the first version. I plan to allow the open() call to relax a bit which would allow one to open an hdf5 file when only the meta-data file is present. This would allow a very large file to be split and stored on tape and the relatively small meta file to be mirrored on disk to allow limited browsing of the file (any request for raw data would fail). ./src/H5private.h ./src/H5F.c ./src/H5FD.c ./src/H5FDprivate.h ./src/H5FDpublic.h ./src/H5FDcore.c ./src/H5FDfamily.c ./src/H5FDmpio.c ./src/H5FDsec2.c Added the ability for a file driver to store information in the superblock which would be needed if the file were opened again later for reading. The format is driver-defined which allows users to extend it however they like. ./doc/html/H5.format.html Added information about the new driver information block of the superblock. This is where file drivers store information they need in order to reopen the file later. ./src/H5F.c ./src/H5Fprivate.h ./src/H5FD.c ./src/H5FDprivate.h ./src/H5FDpublic.h ./src/H5FDcore.c ./src/H5FDfamily.c ./src/H5FDmpio.c ./src/H5FDsec2.c ./src/H5Fistore.c ./src/H5R.c The file access properties and the file access property list were decoupled, which allows the property list to more cleanly contain properties for various levels of the file and which allows the property list to be modified more cleanly when opening files. ./src/H5.c ./src/H5FDpublic.h Removed H5FD_MEM_META and H5FD_MEM_GROUP since they're never used. ./src/H5D.c Changed the way we detect the MPIO driver in all these special cases. ./src/H5F.c ./src/H5Rpublic.h ./test/tfile.c The default file sizeof(offset) was changed to be a function of haddr_t instead of hsize_t. THE H5RPUBLIC.H DEFINITIONS WILL HAVE PROBLEMS IF THE USER CREATES A FILE WITH NON-DEFAULT OFFSET AND SIZE SIZES! ./src/H5F.c Fixed an uninitialized memory access bug in file closing related to the VFL. ./src/H5T.c ./src/H5Tpublic.h Added an H5T_NATIVE_HADDR predefined datatype which corresponds to the `haddr_t' type. ./test/Makefile.in Reformatted long lines. ./test/big.c ./test/cmpd_dset.c ./test/dsets.c ./test/dtypes.c ./test/extend.c ./test/external.c Removed the H5F_ACC_DEBUG flag from file creation/open calls. ./test/big.c Plugged a memory leak. ./test/h5test.c Added support for the `multi' driver. Removed #warning about not having the stdio driver. Plans are to not implement it since the sec2 driver serves the same purpose and testing didn't show any difference in execution times between the two.
* [svn-r1568] Changes since 19990730Robb Matzke1999-08-101-50/+78
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- This extensive change is the virtual file layer implementation. I've ported and tested the sec2, family, and core drivers and only ported the mpio driver (Albert will test it). So if you need MPIO I would recommend sticking with the previous version for a while. You will get a few compile warnings about split and stdio drivers not being implemented and possibly tracing information not inserted in some of the drivers. You can safely ignore them but I plan to fix them. I'm still working on the split driver because I just realized that it needs a part of the VFL that isn't written yet. Documentation is being updated also because there were some minor changes (mostly just name changes). It should be available on my web site later this week. ./MANIFEST ./src/Makefile.in ./src/hdf5.h ./src/H5Flow.c [REMOVED] ./src/H5Fstdio.c [REMOVED] ./src/H5Fsec2.c [REMOVED] ./src/H5Fsplit.c [REMOVED] ./src/H5Fmpio.c [REMOVED] ./src/H5Ffamily.c [REMOVED] ./src/H5Fcore.c [REMOVED] ./src/H5MFpublic.h [REMOVED] ./src/H5FD.c [NEW] ./src/H5FDcore.c [NEW] ./src/H5FDcore.h [NEW] ./src/H5FDfamily.c [NEW] ./src/H5FDfamily.h [NEW] ./src/H5FDmpio.c [NEW] ./src/H5FDmpio.h [NEW] ./src/H5FDprivate.h [NEW] ./src/H5FDpublic.h [NEW] ./src/H5FDsec2.c [NEW] ./src/H5FDsec2.h [NEW] Removed/added files for virtual file layer. ./bin/trace ./src/H5.c Removed unused public datatypes and added new VFL public datatypes. Changed an error message. ./config/BlankForm ./config/dec-flags ./config/gnu-flags ./config/hpux10.20 ./config/hpux9.03 ./config/irix5.x ./config/irix6.x ./config/solaris2.x ./config/unicosmk Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the configuration since they're no longer applicable. The default file driver is always the sec2 driver and it always optimizes calls to lseek() or lseek64(). ./config/depend.in C preprocessor errors generated during automatic dependency building are sent to /dev/null to prevent them from appearing twice in the make output. ./src/H5AC.c ./src/H5B.c ./src/H5D.c ./src/H5F.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5Oattr.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Oshared.c ./src/H5T.c ./src/H5detect.c ./test/ohdr.c Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent with the `haddr_t' datatype which is now a public type. ./src/H5D.c ./src/H5P.c ./src/H5Ppublic.h ./src/H5Tconv.c ./test/cmpd_dset.c ./test/dsets.c ./test/overhead.c ./test/tselect.c ./test/tvltypes.c The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER because the properties apply to all types of I/O operations, not just datasets. ./src/H5B.c ./src/H5Bprivate.h ./src/H5D.c ./src/H5Dpublic.h ./src/H5F.c ./src/H5Farray.c ./src/H5Fistore.c ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5Gnode.c ./src/H5Gpkg.h ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5R.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Smpio.c ./src/H5Spoint.c ./src/H5Sprivate.h ./test/big.c ./test/h5test.c ./test/istore.c ./testpar/t_dset.c ./testpar/t_file.c ./tools/h5debug.c ./tools/h5ls.c Modified to work with the virtual file layer by calling H5FD_* functions instead of H5F_low_* functions and by passing file access and data transfer properties by object ID instead of pointer. Changed H5D_transfer_t to H5FD_mpio_xfer_t since the COLLECTIVE vs. INDEPENDENT transfer mode is specific to the MPIO file driver. Moved MPIO-specific stuff into the MPIO driver. ./src/H5B.c ./src/H5D.c ./src/H5Fprivate.h The H5F_mpio_* private functions were renamed and placed in the H5FDmpio driver except those which appeared in H5Smpio.c. ./src/H5E.c ./src/H5Epublic.h Added major error number H5E_VFL for virtual file layer related errors. ./src/H5F.c ./src/H5Fprivate.h Changed the logic that controls whether the boot block is written. Instead of assuming that the first call to write the boot block is only to allocate space, I've added a function argument which makes this explicit. Changed the way files are compared so that a driver-defined comparison function can be called. Files which belong to different drivers are always considered different. Removed H5F_driver_t since file drivers are now identified by object ID instead of a special non-user-extendible datatype. Removed all the hard-coded low-level file properties which have been replaced by the various file drivers. ./src/H5I.c ./src/H5Iprivate.h Added the H5I_inc_ref() which was removed a few months ago since we finally have a use for it. ./src/H5Ipublic.h Added the H5I_VFL object ID type to identify file drivers in the virtual file layer. ./src/H5MF.c ./src/H5MFprivate.h Moved all the allocation/deallocation code into the virtual file layer which allows file drivers to override much of it. ./src/H5P.c ./src/H5Ppublic.h Moved file driver-specific code into the various file driver files. The H5Pcopy() and H5Pclose() functions make calls into the virtual file driver to manage the memory for driver-specific file access and data transfer properties. ./src/H5private.h ./src/H5public.h The `haddr_t' type is now public. ./test/tfile.c Added a few more comments.
* [svn-r1548] Changes since 19990727Robb Matzke1999-07-281-12/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5.c [1.3] ./src/H5AC.c [1.3] ./src/H5ACprivate.h [1.3] ./src/H5B.c [1.3] ./src/H5Bprivate.h [1.3] ./src/H5D.c [1.3] ./src/H5F.c [1.3] ./src/H5Farray.c [1.3] ./src/H5Fcore.c [1.3] ./src/H5Ffamily.c [1.3] ./src/H5Fistore.c [1.3] ./src/H5Flow.c [1.3] ./src/H5Fmpio.c [1.3] ./src/H5Fprivate.h [1.3] ./src/H5Fsec2.c [1.3] ./src/H5Fsplit.c [1.3] ./src/H5Fstdio.c [1.3] ./src/H5G.c [1.3] ./src/H5Gent.c [1.3] ./src/H5Gnode.c [1.3] ./src/H5Gprivate.h [1.3] ./src/H5Gstab.c [1.3] ./src/H5HG.c [1.3] ./src/H5HGprivate.h [1.3] ./src/H5HL.c [1.3] ./src/H5HLprivate.h [1.3] ./src/H5MF.c [1.3] ./src/H5MFprivate.h [1.3] ./src/H5O.c [1.3] ./src/H5Oattr.c [1.3] ./src/H5Ocont.c [1.3] ./src/H5Odtype.c [1.3] ./src/H5Oefl.c [1.3] ./src/H5Olayout.c [1.3] ./src/H5Oprivate.h [1.3] ./src/H5Oshared.c [1.3] ./src/H5Ostab.c [1.3] ./src/H5P.c [1.3] ./src/H5R.c [1.3] ./src/H5Smpio.c [1.3] ./src/H5T.c [1.3] ./src/H5Tvlen.c [1.3] ./src/H5private.h [1.3] ./test/dtypes.c [1.3] ./test/gheap.c [1.3] ./test/istore.c [1.3] ./test/lheap.c [1.3] ./test/ohdr.c [1.3] ./tools/h5debug.c [1.3] File addresses (the `haddr_t' type) are passed by value instead of by reference. The type is no longer a struct. This is one of the preliminary changes needed for the Virtual File Layer stuff. ./src/H5Fprivate.h [1.3] ./src/H5Flow.c [1.3] Some address functions were rewritten as macros.
* [svn-r1224] Changes since 19990426Robb Matzke1999-04-271-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./tools/h5tools.c ./tools/h5tools.h Finally fixed a long-standing bug that caused core dumps if a compound datum rendered to more than some number of characters (we kept bumping up the limit at the risk of violating stack size limits on some machines). The fix works only on systems that have the vsnprintf() function (otherwise a 4kB limit is imposed, which if violated probably dumps core). If vsnprintf() is present then the library dynamically allocates space for the output string. Also made it possible to control how compound data is rendered across multiple lines of output by allowing the caller to specify where optional line-breaks get inserted. The output functions split up the value at one or more optional line-breaks to prevent it from wrapping around the screen. If a datum doesn't fit on the current line but would fit on the next line then it is printed on the next line regardless of whether optional line-breaks would have prevent wrapping around the screen. This makes it easier to find the beginnings of compound data values. This feature is disabled by default but can be enabled by the application. If a datum doesn't fit on the current line and the previous datum also occupied more than one line then we move to the next line before printing. This makes it easier to find the beginnings of compound data values but prevents the output from looking fragmented if there are only a few long values among mostly short values. This feature is disabled by default but can be enabled by the application. The application can control the printf() formats used for all the native data types. The defaults are what the library used to use: %g, %ld, %lu, %d, and %u ./tools/h5ls.c Compound datatype values can now be split across multiple lines of output instead of just wrapping. Also, when lots of compound values are too long they all start at the beginning of a line. This only required about 10 lines of changes in the setup for tools library calls (I didn't modify the h5dump program because it uses its own version of the tools library that forked off long ago). Added code for Win32 which is unable to cast `unsigned long long' to `double'. If the dataset size exceeds (2^63)-1 then the percent utilization is not displayed (this is easily possible with chunked datasets). This is untested yet. ./configure.in ./src/H5config.h.in ./src/H5.c ./src/H5private.h Check for vsnprintf() and provide a simple, stupid definition if it isn't available. The stupid definition just calls vsprintf() and ignores the second argument. This can result in buffer overflows in h5ls and h5dump since vsprintf() is an unsafe function (and anyone can create an hdf5 file that runs an arbitrary command from h5ls and h5dump in that case)! ./config/conclude.in Remove more *.o files for `make clean' ./src/H5A.c ./src/H5D.c ./src/H5F.c ./src/H5I.c ./src/H5Iprivate.h ./src/H5P.c ./src/H5R.c ./src/H5RA.c ./src/H5S.c ./src/H5T.c ./src/H5TB.c Cleaned up a memory leak during H5_term_library() by allowing H5I_clear_group() to skip items that couldn't be freed. This allows the item to remain in the group until we can free it later. ./src/H5F.c The H5F_close_all() function fails if a file cannot be closed.
* [svn-r1184] Changes since 19990402Robb Matzke1999-04-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./config/commence.in ./config/conclude.in ./test/Makefile.in ./tools/Makefile.in Fixed so private libraries are not installed publicly. The installation directories `bin', `include', and `lib' are created mode 755. ./src/H5.c ./src/H5A.c ./src/H5F.c ./src/H5Fcore.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fmpio.c ./src/H5Fsec2.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5HG.c ./src/H5HL.c ./src/H5O.c ./src/H5Oattr.c ./src/H5Ocomp.c ./src/H5Ocont.c ./src/H5Odtype.c ./src/H5Oefl.c ./src/H5Ofill.c ./src/H5Olayout.c ./src/H5Omtime.c ./src/H5Oname.c ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5R.c ./src/H5Sall.c ./src/H5Shyper.c ./src/H5Smpio.c ./src/H5Snone.c ./src/H5Spoint.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Vprivate.h ./src/H5Z.c ./src/H5detect.c ./src/H5private.h ./test/chunk.c ./test/dsets.c ./test/dtypes.c ./test/h5test.c ./test/overhead.c ./test/ragged.c ./test/tattr.c ./tools/h5dump.c ./tools/h5findshd.c ./tools/h5ls.c Changed `__unused__' to `UNUSED' to fix a conflict with GNU header files. ./src/H5Tpkg.h ./test/h5test.h Removed __unused__ from forward function declarations. ./src/H5P.c Removed a comment about restrictions for the type conversion temporary buffers. Thanks to Quincey, the comment no longer applied. ./src/H5T.c Relaxed the H5Tpack() a little so it would pack compound data structures that had non-transient atomic members. ./tools/h5ls.c Added a `-g' (or `--group') flag that causes information to be printed about the specified group instead of the group's contents. (sort of like Unix's `ls -d'). The `-g' can be used in combination with `-r' to print information about the group and its contents.
* [svn-r1171] Changes since 19990330Robb Matzke1999-04-021-1/+1
| | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5A.c ./src/H5D.c The `bkg' buffers are zeroed before calling the type conversion function. This fixes a problem where reading a file compound data structure into memory results in garbage between the members. ./src/H5I.c Fixed H5I_clear_group() so it removes entries even when a free callback is not registered. This fixes fixes an `infinite loop closing library' warning message. ./src/H5.c Added ellipses to the end of the infinite loop message.