summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r5864] ./hdf5-devel/src/H5private.hRobb Matzke2002-08-091-37/+33
| | | | | | | | | | | | | | | | | 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-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-r5793] Purpose:Quincey Koziol2002-07-151-0/+1
| | | | | | | | | | | | Code cleanup Description: Changed a few direct calls to posix functions to use proper wrapper macros. Also, changed method of extending file to use ftruncate(). Platforms tested: FreeBSD 4.6 (sleipnir) && IRIX64 6.5 (modi4)
* [svn-r5782] Purpose:Quincey Koziol2002-07-121-0/+7
| | | | | | | | | | | New feature Description: Add support in for "dmalloc" debugging malloc library to configure script and library headers. Platforms tested: IRIX64 6.5 (modi4) and FreeBSD 4.6 (sleipnir)
* [svn-r5471] Purpose:Quincey Koziol2002-05-291-18/+51
| | | | | | | | | | | | | | | | 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-31/+54
| | | | | | | | | | | | | | | | | | | | | | | | 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-r5444] Purpose:Quincey Koziol2002-05-201-0/+14
| | | | | | | | | | Code cleanup Description: Clean up warnings on IRIX64 6.5 (modi4) Platforms tested: IRIX64 6.5 (modi4)
* [svn-r5437] Pedro Vicente Nunes2002-05-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-r5342] Description:Albert Cheng2002-05-021-12/+0
| | | | | | | | | Removed unused code that is related to inline issue. hdf5 C source now uses H5_inline for the non-standard inline feature. No need to undefine/redefine the symbol inline itself. Platforms tested: eirene.
* [svn-r5324] Pedro Vicente Nunes2002-05-021-2/+1
| | | | | | | Purpose: updated some comments regarding Code Warrior , removed other debugging comments Platforms tested: w2000
* [svn-r5312] Purpose:Quincey Koziol2002-05-011-10/+20
| | | | | | | | | | Bug Fix Description: Add TRACE8 and TRACE9 macros Platforms tested: FreeBSD 4.5 (sleipnir)
* [svn-r5278] Purpose:Albert Cheng2002-04-281-79/+70
| | | | | | | | | | | | | | | | | | | | | 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-r5244] MuQun Yang2002-04-241-1/+5
| | | | | | | | | | | | | | | Purpose: update macro HDstat Description: The original defination of HDstat only defines HDstat as stat. the file size defined at struct stat is int32, However for files greater than 4G(or 2G)file, lookup of file size will fail on windows when using stat. Add a macro for windows,define HDstat as istat64. This fix is the same as HDfstat macro. Solution: Platforms tested: linux 2.2.18
* [svn-r5205] Purpose:Albert Cheng2002-04-191-0/+3
| | | | | | | | | | | | | | Code cleanup Description: Platform dependent code related to the struct stat and fstat calls polluted source codes. Hard to maintain. Solution: Platform dependent code are moved to H5private.h and then internal code can #include H5private.h. Repeat those macro definition for the stdio and multi drivers since they area examples for writing a virtual file driver. They must not use any internal code. Platforms tested: eirene (parallel), modi4 (serial including gass driver.)
* [svn-r5101] MuQun Yang2002-03-271-1/+5
| | | | | | | | | | | | | | | Purpose: fix a windows bug Description: 1. To create a >4GB file, fstati64 has to be used instead of fstat. change fstat to fstati64 for WIN32 macroes. Some discussions are going on the general issue on how to better handle with WIN32 or other similar platform. This check-in is just a reminder not to forget the windows bug. 2. erase a WIN32 macro(include winsock2.h) at h5detect.c. It is not a problem now. Solution: use fstati64 instead of fstat for win32. Platforms tested: windows2000(confirmed at linux machine eirene)
* [svn-r4706] Purpose:Quincey Koziol2001-12-121-8/+1
| | | | | | | | | | | | 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-r4646] Purpose:Quincey Koziol2001-11-271-1/+1
| | | | | | | | Bug fix Description: Fix typo which caused thread-safe tests to fail over the weekend. Platforms tested: IRIX64 6.5 (modi4) with thread-safe code enabled.
* [svn-r4642] Purpose:Quincey Koziol2001-11-271-0/+16
| | | | | | | | | Code cleanup Description: Added macro to check for overflows when assigning a value to a variable which requires a cast down in size or precision. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4619] Purpose:Quincey Koziol2001-11-201-31/+40
| | | | | | | | Code cleanup Description: Clean up thread-safety macros and neaten up code. Platforms tested: FreeBSD 4.4 (hawkwind)
* [svn-r4595] MuQun Yang2001-11-081-0/+2
| | | | | | | | | | | | | Purpose: 1. temporarily fixed mtime test when daylight saving changes on windows. 2. move H5_inline defination for win32 to windows H5pubconf.h at H5private.h. Description: 1. the mtime test is not working when the daylight saving ends. Hard-coded back to the correct time. Need to find a universal solution later. 2. Move H5_inline defination for win32 at H5private.h into windows specificed H5pubconf.h so that windows maintenance can be more easy to handle. Solution: see above. Platforms tested: windows 2000, confirmed at Linux Red Hat 6.2.
* [svn-r4355] Purpose:Quincey Koziol2001-08-141-19/+12
| | | | | | | | | | | | | | | | | | | | | | 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-r4232] Purpose:Quincey Koziol2001-07-171-9/+6
| | | | | | | | | | | | | | | | | Bug fix. Description: On some systems (linux when not using gcc) 'dev_t' is not actually a scalar variable. This causes the code which compares dev_t's in the file drivers to not compile. Also the H5_inline flag was not being set correctly in the H5private.h file. Solution: Set the H5_inline flag to '' (i.e. define it, but don't assign it a value) if it is not currently defined. Use DEV_T_IS_SCALAR flag from configure to correctly compare dev_t's using memcmp instead of a scalar flag. Platforms tested: FreeBSD 4.3 (hawkwind), Linux 2.4.2 (chiba city cluster at Argonne)
* [svn-r4160] Purpose:Pedro Vicente Nunes2001-07-091-0/+3
| | | | | | | | | | added a include for io.h that was missing Description: Solution: Platforms tested: NT
* [svn-r4155] Pedro Vicente Nunes2001-07-091-17/+5
| | | | | | | | | | | | | Purpose: updated windows headers in these 2 src files Description: Solution: Platforms tested: NT:
* [svn-r4102] Purpose:Quincey Koziol2001-07-031-30/+0
| | | | | | | | | | | | Code cleanup Description: File driver macros were defined in this file, instead of the file driver source file. Solution: Removed redundant file driver information, which is already in each file driver source file. Platforms tested: FreeBSD 4.3 (hawkwind)
* [svn-r4099] Pedro Vicente Nunes2001-07-031-7/+42
| | | | | | | | | | | Purpose: Code Cleanup Description: Updating CodeWarrior Port Solution: Move around some Windows and Metroworks ifdefs, etc. Platforms tested: Solaris 2.7 (arabica) Linux 2.2 (eirene)
* [svn-r4088] Purpose:Quincey Koziol2001-06-291-39/+9
| | | | | | | | | | | | Code cleanup Description: Recent CodeWarrior patches have broken the Unix builds and moved code around in non-portable ways. Solution: Patched things back up to try to accomodate CodeWarrior and still let the Unix builds work correctly. Platforms tested: FreeBSD 4.3 (hawkwind)
* [svn-r4083] Pedro Vicente Nunes2001-06-291-13/+42
| | | | | | | | | | | | | | code warrior support and some clean up the macros file_seek and file_offset_t that were repeated over sevral files were put only in H5private.h H5private .h was updated for win32 vthe Description: Solution: Platforms tested:
* [svn-r4068] Purpose:Quincey Koziol2001-06-221-0/+4
| | | | | | Code cleanup... Description: Added support for Windows to mkdir macro.
* [svn-r4046] MuQun Yang2001-06-211-0/+1
| | | | | | | | | | | Purpose: bug fix for windows MVS Description: adding various windows macros to make it work on windows platform Solution: see above Platforms tested: test on windows 2000, confirmed on linux.
* [svn-r4022] Purpose:Bill Wendling2001-06-191-0/+1
| | | | | | | | | Code Cleanup Description: Changed POSIX function calls to the HD* way of doing things. Checked with checkposix and tested on Linux. Platforms tested: Linux
* [svn-r4017] Purpose:Quincey Koziol2001-06-191-1/+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-r4013] Purpose:Bill Wendling2001-06-181-0/+2
| | | | | | | | | | | | 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-6/+2
| | | | | | | | Clean up compiler warnings. Description: Just code neatening mostly, some casts, etc. Platforms tested: FreeBSD 4.3 (hawkwind)
* [svn-r4010] Purpose:Quincey Koziol2001-06-161-47/+21
| | | | | | | | | | | | | Bug Fix Description: uint64_t type was accidentally taken out and was causing tests on DEC UNIX to fail. Solution: Brought back uint64_t type. Also cleaned up some comments and moved the sec2 specific macros back into the sec2 (and log) driver. Platforms tested: DEC UNIX (gondolin)
* [svn-r3998] Purpose:Quincey Koziol2001-06-121-34/+0
| | | | | | | | | | | Code cleanup Description: float32 & float64 typedefs are not used in HDF5 library and are causing conflicts with Kent's h4toh5 library code. Solution: Take the float32 & float64 typedefs out Platforms tested: FreeBSD 4.3 (hawkwind)
* [svn-r3974] code warrior portPedro Vicente Nunes2001-06-071-9/+88
|
* [svn-r3916] Purpose:Albert Cheng2001-05-121-0/+3
| | | | | | | | New feature Description: Added verification of H5_VERS_INFO in H5check_version(). Platforms tested: Eirene (linux).
* [svn-r3781] Purpose:Bill Wendling2001-04-051-6/+7
| | | | | | | | | | | | | | | | | | 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-r3743] Purpose:Quincey Koziol2001-04-011-0/+4
| | | | | | | | | | Code cleanup Description: Defined snprintf macro for non-UNIX platform which needed tweak. Solution: Added extra ifdef around snprintf macro to accomodate platform. Platforms tested: FreeBSD 4.3 (hawkwind)
* [svn-r3741] Purpose:Albert Cheng2001-03-311-0/+8
| | | | | | | | | | | | | | | | | | | | Improvment Description: H5config.h and H5pubconf.h are generated by configure. It does not have the #ifndef _H5config_H ... #endif guard to prevent duplicated definitions if it is included more than once. It is messy to try make configure to put in those guards. Solution: HDF5 has set an internal rule that H5public.h includes H5pubconf.h and H5private.h includes H5config.h. Source files should NOT include H5config.h or H5pubconf.h directly but include it via H5public.h or H5private.h respectively. The #ifndef ... #endif in the H5public.h and H5private.h would prevent repeated definitions from repeated include. Adjusted H5FDstream.c and H5FDstream.h to follow this rule. Platforms tested: modi4, eirene.
* [svn-r3317] Purpose:Quincey Koziol2001-01-221-10/+7
| | | | | | | | | | Bug Fix Description: Fix definition of strdup on Windows machines. Solution: Merged duplicate definitions into one cohesive block of definitions. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3304] Purpose:Quincey Koziol2001-01-181-1/+0
| | | | | | | | Code update Description: Remove ragged array code & tests from library before release. Platforms tested: FreeBSD 4.2 (hawkwind)
* [svn-r3283] Purpose:Quincey Koziol2001-01-121-4/+6
| | | | | | | | Suppress warnings for release. Description: Always declare strdup as extern, figure out way to avoid warnings later. Platforms tested: Linux 2.2.16 (eirene)
* [svn-r3273] MuQun Yang2001-01-121-1/+20
| | | | | | | | | | Purpose: Avoid windows warnings Description: Solution: put some windows specified headers into this file Platforms tested: Win 2000, confirmed by eirene
* [svn-r3252] Purpose:Quincey Koziol2001-01-091-1/+14
| | | | | | | | | | | | | Code cleanup. Description: Fixed _lots_ (I mean _tons_) of warnings spit out by the gcc with the extra warnings. Including a few show-stoppers for compression on IRIX machines. Solution: Changed lots of variables' types to more sensible and consistent types, more range-checking, more variable typecasts, etc. Platforms tested: FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
* [svn-r2951] Purpose:Quincey Koziol2000-11-161-26/+25
| | | | | | | | | | | | | | | Bug fix Description: Previous re-arrangement of FUNC_ENTER macro was a _little_ too agressive about not re-checking for library or interface re-initialization. Although it happens very rarely that the library is shut down and then re-started the library & interface initialization functions weren't getting run in that case. Solution: Separated out the library, interface & function checks again. This version is still a little faster than the previous way things were being done. Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2947] Purpose:Quincey Koziol2000-11-161-24/+32
| | | | | | | | | | | | | | | Code optimization Description: Re-vamped FUNC_ENTER macro to remove as many of the if's as possible and also to only check once if any given function is an API function. This improves the performance of the hyperslab I/O benchmark (h5hypers) that I've been testing with by another 5%. All library functions should be 5-15% faster, depending on how many times they are called and what percentage of the function's time was spent in the FUNC_ENTER macro vs. the percentage of time in the main body of the function. Platforms tested: Solaris 2.6 (baldric)
* [svn-r2866] Purpose:Quincey Koziol2000-11-111-23/+23
| | | | | | | | Code cleanup Description: Found more "Have_foo" usage and converted them to "H5_HAVE_foo" Platforms tested: FreeBSD 4.1.1 (hawkwind)
* [svn-r2276] Modifed thread-safety code to more closely align with rest of ↵Quincey Koziol2000-05-191-26/+9
| | | | | | HDF5 coding standards.