summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
Commit message (Collapse)AuthorAgeFilesLines
* [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-r15549] Description:Quincey Koziol2008-08-281-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Initial checkin of extensible array data structure prototype code and regression tests. Initial definitions for revised FUNC_ENTER/LEAVE and error reporting macros, which are being vetted in the extensible array code. Minor warning and formatting cleanups in other sections of code. Tested on: Mac OS X/32 10.5.4 (amazon) in debug mode Mac OS X/32 10.5.4 (amazon) w/C++ & FORTRAN, w/threadsafe, in production mode FreeBSD/32 6.3 (duty) in debug mode FreeBSD/64 6.3 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/Intel compilers w/default API=1.6.x, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode Linux/64-amd64 2.6 (abe) w/parallel, w/FORTRAN, in production mode
* [svn-r15208] Description:Quincey Koziol2008-06-121-0/+3
| | | | | | | | | | | | | | | | | | | | Add a "HDcompile_assert" macro for assertions that can/should be checked at compile time, as opposed to run time. (And used it for a couple of simple cases, to begin) Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.5.3 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r15165] Purpose: Create new HDpthread_self and HDpthread_self_ulong macrosScott Wegner2008-06-061-0/+9
| | | | | | | | | Description: On Windows, the pthread_self function cannot be used to print the returned thread ID for debugging. Instead, we need a separate function, GetCurrentThreadId. To eliminate some Windows ifdef's in the code, we create two new function macros which can be used by all platforms. It is conditionally defined in H5win32defs.h, and globally in H5private.h. Tested: VS2005 w/ pthreads on WinXP kagiso w/ pthreads
* [svn-r15156] Purpose: Update H5private.h with new file nameScott Wegner2008-06-051-1/+1
| | | | | | | | Description: Forgot to change the filename reference in H5private.h. This update fixes it. Tested: kagiso
* [svn-r15150] Purpose: Separate Windows function macro definitions to win32defs.hScott Wegner2008-06-051-384/+822
| | | | | | | | | | | | | | Description: In library code, we try not to use system calls directly, but instead use the HD{function} macro instead. This way, we can map special versions of the call on particular systems. Previously, it was all done in H5private.h. However, in an effort to clean up platform-specific definitions, we move all of the Windows macros into a separate file, win32defs.h. This way, we can use the non-Posix versions that Visual Studio sends warnings about. Some macros are set specifically in the platform-specific header files. Then, any macros left unset will be set by the "default" implementation in H5private.h. This checkin also cleans up various source files to use the HD* macros when possible. Tested: VS2005 on WinXP VS.NET on WinXP h5committest (kagiso, linew, smirom)
* [svn-r14903] Undoing change committed in r14902.Scot Breitenfeld2008-04-301-0/+44
|
* [svn-r14902] Merged fortran_1_8 branch changes r14505:14901 into the trunk. ↵Scot Breitenfeld2008-04-301-44/+0
| | | | New fortran wrappers added.
* [svn-r14847] 1. test/links.c: add tests specific for windowsVailin Choi2008-04-161-1/+0
| | | | | | | | | remove HDputenv() from external_link_env() test (will add script later to set HDF5_EXT_PREFIX for running the test) modify and add more comments 2. src/H5private.h: remove #define for HDputenv() Tested on kagiso, linew and smirom.
* [svn-r14822] 1. src/H5private.h: fixed a bug in CHECK_ABSOLUTE() for windows.Vailin Choi2008-04-091-2/+1
| | | | 2. test/links.c: fixed one external link test to be the same as in 1.8.
* [svn-r14821] Having this signature Pedro Vicente Nunes2008-04-081-1/+1
| | | | | | | | | | | | | | | | H5_DLL herr_t H5_build_extpath(const char *, char **/*out*/); makes this stupid warning in windows that gets repeated in every source file c:\_pvn\hdf5\src\h5private.h(958) : warning C4138: '*/' found outside of comment changed signature to H5_DLL herr_t H5_build_extpath(const char *, char ** /*out*/ ); compiler is happy now tested: windows, linux
* [svn-r14794] Use putenv() instead of setenv() in test/links.c Vailin Choi2008-04-041-2/+1
| | | | (solaris did not support setenv() and unsetenv())
* [svn-r14789] Add handling for external link:Vailin Choi2008-04-021-0/+47
| | | | | | | 1. src/H5F.c, src/H5system.c: formulate path for mainfile 2. src/H5Lexternal.c: add search for target file 3. configure.in: add H5_HAVE_WINDOW_PATH 4. test/links.c: add tests for external link
* [svn-r14353] Description:Quincey Koziol2007-12-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | - Add hash value for skip list string types, to reduce # of string comparisons. - Fixed bug with metadata/small data block aggregator adding size == 0 block into file free space list. - Refactored metadata/small data block aggregator code into single set of common routines. - Changed block aggregator code to be smarter about releasing space in the 'other' block when the 'other' block has aggregated enough data. Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14284] Description:Quincey Koziol2007-11-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add H5Lvisit_by_name() API routine to library. Eliminated all (five!) other group traversal routines and changed them all to use the new API routine. Cleaned up output of h5ls & h5stat: - Issue error when requesting recursive traversal of a file with the "group info" flag, but no group given - Print info about root group in all(?) appropriate situations - Don't print "verbose" information about root group until the root group is in the list of objects to display (mostly because h5ls & h5stat had a different twist on traversing the groups in a file that the other utilities) Tested on: FreeBSD/32 6.2 (duty) in debug mode FreeBSD/64 6.2 (liberty) w/C++ & FORTRAN, in debug mode Linux/32 2.6 (kagiso) w/PGI compilers, w/C++ & FORTRAN, w/threadsafe, in debug mode Linux/64-amd64 2.6 (smirom) w/default API=1.6.x, w/C++ & FORTRAN, in production mode Linux/64-ia64 2.6 (cobalt) w/Intel compilers, w/C++ & FORTRAN, in production mode Solaris/32 2.10 (linew) w/deprecated symbols disabled, w/C++ & FORTRAN, w/szip filter, in production mode Mac OS X/32 10.4.10 (amazon) in debug mode Linux/64-ia64 2.4 (tg-login3) w/parallel, w/FORTRAN, in production mode
* [svn-r14144] Description:Quincey Koziol2007-09-131-5/+4
| | | | | | | | | | | | | | | | Move H5Gget_objinfo() to deprecated symbols section and retarget internal usage to H5Lget_info()/H5Oget_info(). Misc. other code cleanups... Tested on: FreeBSD/32 6.2 (duty) FreeBSD/64 6.2 (liberty) Linux/32 2.6 (kagiso) Linux/64 2.6 (smirom) AIX/32 5.3 (copper) Solaris/32 2.10 (linew) Mac OS X/32 10.4.10 (amazon)
* [svn-r13916] Purpose: Fix MinGW inconsistencyScott Wegner2007-06-261-0/+4
| | | | | | | | | | Description: Windows does not accept the buffer size parameter of setvbuf to be less than 2. Previously, we had our fix split between two files, H5private.h and the Windows H5pubconf.h. This was a problem for MinGW, because it generates its own H5private.h. This moves the fix out of H5pubconf.h and into H5private.h. This shouldn't affect other platforms. Tested: MinGW on WinXP
* [svn-r13766] In Visual Studio 2005 for 64-bit, _WIN32 is defined, but not ↵Scott Wegner2007-05-181-21/+21
| | | | | | | WIN32, so I've standardized all #ifdef's to use _WIN32. This should not affect any other platform. Tested: Visual Studio (32- and 64-bit) on Win XP
* [svn-r13754] VMS port:Elena Pourmal2007-05-151-1/+7
| | | | | | | | Updated command files; added "extern "C"" for HDremove_all function. Platforms tested: VMS server; kagiso - very minor and affects only VMS
* [svn-r13694] 1. changed the HDlseek to be lseek64 and HDfseek to be fseeko ↵Raymond Lu2007-04-231-2/+10
| | | | | | | | | if available, to support big files. 2. added a check in test/big.c to make sure the system supports big file. Tested on smirom because already tested the same changes for v1.6 on liberty, smirom, copper, and sol.
* [svn-r13435] Changed prototype of HDremove_all function to use const char * ↵Elena Pourmal2007-02-281-1/+1
| | | | | | | | | instead of char * This function is only used on VMS Platforms tested: kagiso, VMS is still going.
* [svn-r13419] Description:Quincey Koziol2007-02-271-0/+1
| | | | | | | | | Fix error introduced into driver info block size computation, which caused the test/big test to fail. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r13413] Description:Quincey Koziol2007-02-271-21/+0
| | | | | | | | | | | | | Further cleanups to superblock code: - Move most of the ISOHM-specific code into the H5SM module - Make only one checksum, for combined superblock & driver info block Minor other cleanups, etc. Tested on: Mac OS X/32 10.4.8 (amazon) FreeBSD/32 6.2 (duty)
* [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-r13252] Moved definition of uint32_t from H5private.h to H5public.h, ↵James Laird2007-02-071-16/+1
| | | | | | | | | | since it's now used in H5Opublic.h. This should fix build errors on Windows. Tested on kagiso; will test on Windows immediately after checkin.
* [svn-r13167] Description:Quincey Koziol2007-01-221-12/+12
| | | | | | | | | | | Get rid of two different types of fill value struct (merge H5O_fill_t and H5O_fill_new_t) and clean up & simplify dataset initialization code. (In preparation for shared object header message method call refactoring). Tested on: FreeBSD/32 6.2 (duty) Mac OS X/32 10.4.8 (amazon)
* [svn-r13153] Added checksum to superblock and driver info block (in latest ↵James Laird2007-01-181-3/+5
| | | | | | | | | | | version of superblock). Tried to standardize sizes and added #defines to H5Fpkg.h so that hopefully the code is a little easier to read. Of course this is a file format change. Tested on Windows, juniper, smirom, kagiso.
* [svn-r12990] Description:Quincey Koziol2006-11-281-0/+1
| | | | | | | | | | | When using the latest version of the file format, move the "modification time" information into the object header prefix, which is more efficient. Also add "access time" and "change time" (for metadata) fields, all of which take about the same space as the previous modification time header message. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12972] Description:Quincey Koziol2006-11-221-17/+1
| | | | | | | | Move the definition of the typedef for uint64_t from H5private.h to H5public.h (to fix Windows builds) Tested on: None - just eyeballed.
* [svn-r12902] Checkin of Shared Object Header Message work.James Laird2006-11-131-1/+3
| | | | | | | | | | | | This feature is still in progress; Shared Object Header Messages are not complete as a feature and are not thoroughly tested. There are still "TODO" comments in the code (comments with the word "JAMES" in them, so as not to be confused with other TODO comments). Hopefully this checkin will reduce the liklihood of conflicts as I finish implementing this feature. All current tests pass on juniper, copper (parallel), heping, kagiso, and mir.
* [svn-r12894] Description:Quincey Koziol2006-11-121-1/+3
| | | | | | | | | | | | Add H5Lget_name_by_idx routine & tests Move more H5G routines to deprecated API file Tested on: FreeBSD/32 4.11 (sleipnir) w/threadsafe Linux/32 2.4 (heping) C++ & FORTRAN Linux/64 2.4 (mir) w/build-all & enable_compat1.6 AIX/32 5.? (copper) w/parallel & FORTRAN
* [svn-r12868] Description:Quincey Koziol2006-11-061-1/+1
| | | | | | | | Make API routines that don't initialize the library more consistent, to help with future internal library changes. Tested on: Linux/64 2.6 (chicago2)
* [svn-r12841] Bug fix. The mechanism to handle interupted system call or ↵Raymond Lu2006-11-011-0/+1
| | | | | | partial I/O for reading data may not work well for Direct I/O because of the requirement for data alignment. Took it out.
* [svn-r12768] Description:Quincey Koziol2006-10-161-2/+2
| | | | | | | | | | Add 'initval' parameter to "lookup3" checksum routine (and implicitly to the metadata checksum routine), to allow chaining several checksums together easily (which isn't used by these modules, but will be used in my next checkin) Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12703] Using int64_t in H5Lpublic.h caused errors on Windows, where ↵James Laird2006-10-021-16/+1
| | | | | | | | | | | | int64_t is only defined in H5private.h. Moved definition of int64_t from H5private.h to H5public.h as a temporary solution. Tested on heping and Windows (windows also needed H5Gdense.c and H5Gbtree2.c to be added to hdf5 project).
* [svn-r12661] Description:Quincey Koziol2006-09-121-0/+1
| | | | | | | | | | | Add 'loookup3' checksum routine and switch to using it for metadata checksums - it's just as "strong" as the CRC32 and about 40% faster in general (with some compiler optimizations, it's nearly as fast as the fletcher-32 algorithm). Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12649] Description:Quincey Koziol2006-09-051-1/+2
| | | | | | | | | | | | Add a CRC algorithm to the library, initially for "small" (<256 byte) metadata blocks. Update checksum tests to verify it's working correctly. Tested: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) (Will be testing on more platforms after checkin)
* [svn-r12612] Description:Quincey Koziol2006-08-221-0/+1
| | | | | | | | | | Provide more abstract internal routine for computing checksums on metadata in a file. This will allow a unified policy on which algorithm to choose and under what criteria (length probably) to be more easily maintained. Tested On: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
* [svn-r12605] Description:Quincey Koziol2006-08-211-0/+3
| | | | | | | | | | | | | Break out a bunch of the misc. routines that were in src/H5.c into more specific modules. Add optimized fletcher32 checksum routine, for checksumming metadata as well as raw data. Tested On: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2) Will test further after checkin...
* [svn-r12528] Added User-Defined links to the library.James Laird2006-08-021-0/+1
| | | | | | | | | | | | | | Users can create external links using H5L_create_external(). These links point to an object in another HDF5 file. Users can alter the behavior of external links or create new kinds of links by registering callbacks using the H5L interface. Added tests, tools support, etc. Also a number of other, minor changes have been made (some restructuring of the H5L interface, for instance). Additional documentation and examples are forthcoming.
* [svn-r12440] Purpose:Quincey Koziol2006-06-271-1/+1
| | | | | | | | | | | Code cleanup Description: Trim trailing whitespace in Makefile.am and C/C++ source files to make diffing changes easier. Platforms tested: None necessary, whitespace only change
* [svn-r12349] Purpose:Quincey Koziol2006-05-151-0/+1
| | | | | | | | | | | | | | | Code checkpoint Description: Checkpoint fractal heap improvements, as well as move the free space manager code that it's using into a separate package. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4/64 (mir) w/C++ & FORTRAN Linux 2.4/32 (heping) Solaris 2.9 (shanti) AIX 5.? (copper) w/FORTRAN & parallel
* [svn-r12348] Purpose:Albert Cheng2006-05-141-13/+5
| | | | | | | | | | | | | | | | | | Bug fix. Description: Some machines (e.g., HPUX) will have off64_t defined but no support for stat64 unless certain LargeFile macro is turned on. This caused the last fix on H5private not quite right which caused compiling failures. Solution: Added stat64 and fstat64 tests and then will use them only if they are supported. Platforms tested: Tested on kelgia, copper and heping (pll). (Compiling alright but tests for kelgia and heping are not done. expect no problems.)
* [svn-r12342] Purpose:Albert Cheng2006-05-101-29/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | bug fix. Description: Previous H5private.h would attempt to use the off64_t/stat64/etc by checking just sizeof __INT64 being 8. This caused errors in some machines like alpha cluster which is a 64bit machine. Its compiler supports the type __int64 but it does not support off64_t since its off_t is already 64bits big. The above code casued the compiler to complain about the unknown off64_t and such. Solution: H5private.h: Changed the code to use the pseudo standard of off64_t/stat64/etc only if sizeof(off_t) is not 64 bits AND sizeof(off64_t) exists and is 64 bits. This assumes if off64_t is defined, all those stat64, fstat64, etc are supported too. configure.in: configure: Added the testing of sizeof(off64_t) to support the above solution. Platforms tested: h5committested. Also tested at LANL QSC.
* [svn-r12320] Purpose:Quincey Koziol2006-05-021-8/+8
| | | | | | | | | | code cleanup Description: Finish H5FS->H5CS internal API name changes... Platforms tested: FreeBSD 4.11 (sleipnir) w/ & w/o --enable-codestack
* [svn-r12286] Purpose: Fix bugBinh-Minh Ribler2006-04-201-3/+13
| | | | | | | | | | | | | | | | | Description: The file size test in C++ library failed on Copper because the value returned by h5_get_file_size was intepreted incorrectly due to different interger sizes. Solution: H5private.h: Added check to use stat64 and off64_t where appropriate. h5test.c and h5test.h: used h5_stat_size_t in place of off_t. tattr.cpp: used h5_stat_size_t in place of off_t. Platforms tested: Linux 2.4 (heping) AIX 5.1 (copper) SunOS 5.8 64-bit (sol) - still on going
* [svn-r12139] Purpose:MuQun Yang2006-03-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | portibility issue to windows Description: setvbuf on visual studio 2005 needs the size to be greater or equal to 2. <description of setvbuf from msdn library> Buffer size in bytes. Allowable range: 2 <= size <= INT_MAX (2147483647). Internally, the value supplied for size is rounded down to the nearest multiple of 2. h5import used linebuffer option of setvbuf for stderr and stdout and the size is 0 by default. This causes core dump with visual 2005 on windows 64-bit. Solution: 1. Use HDsetvbuf inside h5import.c, 2. Define HDsetvbuf inside windows H5pubconf.h for windows to work around the core dump of h5import test. This is probably a bug inside visual studio 2005. Platforms tested: h5committest windows 6.0 at XP visual 2005 at XP-64bit Misc. update:
* [svn-r12138] Purpose: VMS portElena Pourmal2006-03-221-1/+2
| | | | | | | | | | | | | | Description: Unix remove function removes only the latest version of a file on VMS. Some of our tests create multiple versions of the testfiles and as a result, test programs may be confused, give false negative result, etc. Solution: Created HDremove_all function for VMS that removes all versions of the files. HDremove on VMS is an alias to HDremove_all. Platforms tested: VMS server and heping (to check that nothing is borken on UNIX side) Misc. update:
* [svn-r12125] Purpose:Quincey Koziol2006-03-211-4/+15
| | | | | | | | | | | | | | | Code checkpoint Description: Update fractal heap code to insert & read heaps up to 64MB in size (with my current configuration paramaters) and add initial support for iteratively walking down nested indirect blocks. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 (chicago) Solaris 9 (shanti) Linux 2.4 (mir) w/64-bit
* [svn-r12114] Purpose:Quincey Koziol2006-03-171-7/+11
| | | | | | | | | | | | Code cleanup Description: Re-alphabetize the POSIX routines (again). Also, add proper prototype to HDrand() definition. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest