summaryrefslogtreecommitdiffstats
path: root/src/H5.c
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r5868] Purpose:Quincey Koziol2002-08-091-1/+1
| | | | | | | | | | Code cleanup Description: Cleanup up a few compiler warnings... Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5867] Purpose:Quincey Koziol2002-08-091-1/+7
| | | | | | | | | | | | | Code cleanup Description: Changed the last HRETURN* statements in the FUNC_ENTER macros into HGOTO* macros, which reduces the size of the library binary in certain configurations by another 10% Platforms tested: FreeBSD 4.6 (sleipnir) serial & parallel, IRIX64 6.5 (modi4) serial & parallel
* [svn-r5860] ./hdf5-devel/src/H5.cRobb Matzke2002-08-091-14/+89
| | | | | | | | | | | | | | | | | Purpose: Merged from 1.4 branch Description: API tracing improvements Platforms tested: Linux (--disable-hsizet didn't work before my changes and still doesn't work, but --enable-hsizet is fine). Note: This checkin includes temporary code in H5FDmpiposix.c to turn off GPFS byte range token prefetches on ASCI/Blue. Once the HDF5 API supports the necessary prerequisite functionality this temporary code can be migraged up above HDF5.
* [svn-r5842] Purpose:Quincey Koziol2002-08-081-21/+21
| | | | | | | | | | | | | | | | Code cleanup Description: Change most (all?) HRETURN_ERROR macros to HGOTO_ERROR macros, along with HRETURN macros to HGOTO_DONE macros. This unifies the error return path from functions and reduces the size of the library by up to 10% on some platforms. Additionally, I improved a lot of the error cleanup code in many routines. Platforms tested: FreeBSD 4.6 (sleipnir) serial & parallel and IRIX64 6.5 (modi4) serial & parallel.
* [svn-r5814] Purpose:Quincey Koziol2002-07-191-0/+1
| | | | | | | | | | | | | | | | | | Bug Fix Description: It was possible to create corrupted metadata information (either in memory or in the file or both) with a parallel I/O program because of the way metadata writes were being handled for writes out of the metadata cache. Solution: Added a dataset transfer property called "block before metadata write" which is used by the MPI-I/O and MPI-posix drivers to sync up all the processes before attempting a metadata write. This property is currently only for metadata writes from the metadata cache. Platforms tested: IRIX64 6.5 (modi4) w/parallel
* [svn-r5582] Purpose:Quincey Koziol2002-06-101-1/+1
| | | | | | | | | | | Code cleanup Description: Need to change FUNC_ENTER_NOINIT to FUNC_ENTER_API_NOINIT for H5dont_atexit() Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5471] Purpose:Quincey Koziol2002-05-291-7/+7
| | | | | | | | | | | | | | | | Code cleanup Description: Broke the FUNC_ENTER macro into several macros, with more specialized uses (which followup mail will describe). This was designed to move most/all of the checks which could be done at compile time to that point, instead of needlessly performing them (over & over :-) at run-time. This reduces the library's size (and thus staticly linked binaries) and has a minor speedup effect also. Platforms tested: IRIX64 6.5 (modi4) with parallel & FORTRAN enabled, and additional testing on FreeBSD and Solaris immediately after the checkin.
* [svn-r5467] Purpose:Quincey Koziol2002-05-281-27/+13
| | | | | | | | | | | | | | | | | | | | | | | | Code cleanup. Description: Took Robb's recent ideas for improving the FUNC_ENTER/FUNC_LEAVE macros equivalents in the SAF library and adapted them to our library. I added an additional macro which is equivalent to FUNC_ENTER: FUNC_ENTER_NOINIT - Has the API tracing code, etc. from FUNC_ENTER but none of the library or interface initialization code. This is to be used _only_ for static functions and those which explicitly cannot have the library or interface initialization code enabled (like the API termination routines, etc.). This allowed many more of the functions in the library [but not all yet :-(] to be wrapped with FUNC_ENTER[_NOINIT]/FUNC_LEAVE pairs. It also reduced the size of the library and executables (by cutting out a bunch of code which was never executed), I'll e-mail the exact results when I've finished editing it. Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5437] Pedro Vicente Nunes2002-05-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Purpose: eliminate warnings on win32 Description: some conversion warnings were being issued Solution: added some type casts Platforms tested: w2000, linux changed the HDmemset to include a cast in win32; this was just to eliminate a compiler warning. probably the macro can also be used in unix #ifdef WIN32 #define HDmemset(X,C,Z) memset((void*)(X),C,Z) #else /* WIN32 */ #define HDmemset(X,C,Z) memset(X,C,Z) #endif /* WIN32 */ the list of previous warnings was D:\disk_w\hdf5\src\H5FDstdio.c(659) : warning C4244: 'initializing' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(435) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(497) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(915) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Fcontig.c(982) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(912) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(995) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(1936) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2019) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2862) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2864) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(2948) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3690) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3692) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(3776) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Shyper.c(5167) : warning C4244: '+=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data D:\disk_w\hdf5\src\H5Tvlen.c(371) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
* [svn-r5278] Purpose:Albert Cheng2002-04-281-7/+7
| | | | | | | | | | | | | | | | | | | | | Migrate from configure macros of XYZ_ABC to H5_XYZ_ABC Description: configure generates many macros definitions on the fly and were stored in src/H5config.h which is included by H5public.h. But other software that uses hdf5 may also run their own configure. There can be a clash in macro name space. We decided awhile ago to prepend all generated macros with "H5_" to avoid conflicts. The process has started and this commit completes it (at least attempt to). Solution: Many macros symbols (e.g. SIZEOF_xxx and HAVE_xxx were changed to H5_SIZEOF_xxx and H5_HAVE_xxx). Then H5private.h no longer includes H5config.h. This cuts H5config.h away from HDF5 source code. Pending issues: The module of fortran and pablo are to be resolved in a different commit. Platforms tested: eirene (parallel), arabica (solaris 7 --enable-fortran, --enable-cxx)
* [svn-r4978] Purpose:Quincey Koziol2002-02-171-1/+1
| | | | | | | | Code cleanup Description: Cleanup compiler warnings found by the SGI compiler and gcc 3.0 Platforms tested: FreeBSD 4.5 w/gcc 3.0 (hack) && IRIX64 (modi4)
* [svn-r4813] Purpose:Quincey Koziol2002-01-111-8/+18
| | | | | | | | | | | Bug fix Description: HDfprintf was not handling Microsoft's "%I64d" extension to printf for printing thier '__int64' type. Solution: Added code to properly detect and use this extension. Platforms tested: None! (Kent will be testing shortly)
* [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.