summaryrefslogtreecommitdiffstats
path: root/src/H5private.h
Commit message (Collapse)AuthorAgeFilesLines
* [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
* [svn-r12113] Purpose:Leon Arber2006-03-171-3/+0
| | | | | | | | | | | | | | | Bug fix Description: There was a duplicate definition for HDsrandom and HDsrand left over in H5private.h Solution: Removed the two duplicate definitions. Platforms tested: heping (minor change) Misc. update:
* [svn-r12110] Purpose:Leon Arber2006-03-161-1/+17
| | | | | | | | | | | | | | | | | | Optimization Description: Get rid of unnecessary function call for systems that don't have rand_r. Solution: If rand_r isn't present on a system, then macros can be used to simply call the underlying random function instead of calling the HDrand/HDsrand functions that keep track of the random seed within the library. Platforms tested: heping (minor change) Misc. update:
* [svn-r12104] Purpose:Quincey Koziol2006-03-161-2/+2
| | | | | | | | | | Code cleanup Description: Re-alphabetize POSIX macros. Platforms tested: None, just eyeballed, too minor.
* [svn-r12082] Purpose:Quincey Koziol2006-03-121-1/+1
| | | | | | | | | | | Bug fix Description: Clean up a few code mis-matches that crept in during the last checkin. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5commitest
* [svn-r12081] Purpose:Quincey Koziol2006-03-111-1/+2
| | | | | | | | | | | New feature Description: Update "power of two" macro and add "general" log2() routine. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r12054] Purpose: VMS portElena Pourmal2006-03-091-0/+4
| | | | | | | | | | | | Description: Made small changes to sec2 driver to reflect that VMS systems ino_t is 1dim array of size 3; all changes are marked with H5_VMS variable. Defined HDremove macro for VMS to remove multiple versions of the files. Solution: Platforms tested: heping, VMS server Misc. update:
* [svn-r12035] Purpose:Fang Guo2006-03-071-2/+2
| | | | | | | | | | | | | | Description: Two functions (HDsrand and HDrand) are not declared. They caused compiling errors on Windows. Declare these two functions: H5_DLL int HDrand(); H5_DLL void HDsrand(unsigned int seed); Solution: Platforms tested: Windows XP and heping Misc. update:
* [svn-r12019] Purpose:Leon Arber2006-03-071-12/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug fix/Feature Description: Modify the library to use rand_r, when available, instead of srand. If rand_r is not available, it will try to use srandom/random, and then finally fall back to srand/rand. Solution: A couple places in the library use the srand() function to seed the random number generator. This can cause problems on certain platforms and could theoretically cause problems for users who expect a certain sequence of random numbers following their own call to srand(). Most platforms have an implementation of rand_r, which is identical to rand, except that it allows for explicit storage of the seed value. The configure script will now check for the existence of rand_r to facilitate its use in the library. Two new functions are added, to replace the macros HDsrand/HDrand. These functions are HDrand and HDsrand. HDrand will call rand_r, if available, or random(), if available, and fall back to rand() if neither of those is available. HDsrand will store the seed value locally, if rand_r is available. Otherwise, it will call srandom if available, and fall back to srand otherwise. Platforms tested: heping, mir. Really need to test on Red Storm, since that platform motivated this fix, but the machine is currently not available. Misc. update:
* [svn-r12004] Purpose:Quincey Koziol2006-03-041-0/+7
| | | | | | | | | | | | | | | | | New feature & code cleanup Description: Update fractal heap to be able to insert objects into a direct block hanging off the header. Extract "octal dump" code into separate routine so that both the local heaps & fractal heaps can use it. Other code cleanups & support to get this far. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4
* [svn-r11838] Purpose:Quincey Koziol2005-12-261-0/+6
| | | | | | | | | | | | | | | | Bug fix Description: Retrieving an object's name could fail (in various ways) under certain circumstances (mostly having to do with mounted files). Solution: Re-write & simplify "get object name" code to fix error in a better way than adding yet another hack to the previous pile of hacks... :-) Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r11758] Purpose:Quincey Koziol2005-12-041-1/+1
| | | | | | | | | | | | | New feature Description: Add in a combination of Peter's & my code to support copying variable-length data from one file to another, although currently only supported with contiguous data storage. Platforms tested: FreeBSD 4.11 (sleipnir) h5committest
* [svn-r11735] Purpose:Albert Cheng2005-11-161-17/+2
| | | | | | | | | | | | | | | | | | Cleanup. Description: Removed the home-made version of snprintf and vsnprintf since they do not actually enforce the size parameter correctly and could corrupt memory or as a security hole. This block of code has been turned off since Aug 11, 2005 for all platforms except Tflops. No one has reported any problem since--sort of empirical evidence that all platforms except Tflops support both functions. Tflops has retired in September. So, no need to keep this block of code. Also, fixed the HDxxx macro to call the corresponding xxx function. Platforms tested: Tested in heping, both serial and parallel.
* [svn-r11733] Purpose:Quincey Koziol2005-11-161-1/+23
| | | | | | | | | | | | | | | | | | Code cleanup Description: Added some comments about the thread-specific memory for the error and function stacks. Changed H5close() to not use the function stack (since it causes it to be re-enabled after shutting it down) Changed thread-safe semaphore code to not use dynamicly allocated memory. Platforms tested: FreeBSD 4.11 (sleipnir) Linux 2.4 Too minor to require h5committest
* [svn-r11712] Purpose:Quincey Koziol2005-11-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | New feature Description: Check in baseline for compact group revisions, which radically revises the source code for managing groups and object headers. WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! This initiates the "unstable" phase of the 1.7.x branch, leading up to the 1.8.0 release. Please test this code, but do _NOT_ keep files created with it - the format will change again before the release and you will not be able to read your old files!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! WARNING!!!! Solution: There's too many changes to really describe them all, but some of them include: - Stop abusing the H5G_entry_t structure and split it into two separate structures for non-symbol table node use within the library: H5O_loc_t for object locations in a file and H5G_name_t to store the path to an opened object. H5G_entry_t is now only used for storing symbol table entries on disk. - Retire H5G_namei() in favor of a more general mechanism for traversing group paths and issuing callbacks on objects located. This gets us out of the business of hacking H5G_namei() for new features, generally. - Revised H5O* routines to take a H5O_loc_t instead of H5G_entry_t - Lots more... Platforms tested: h5committested and maybe another dozen configurations.... :-)
* [svn-r11598] Purpose:Quincey Koziol2005-10-221-3/+5
| | | | | | | | | | | | Code cleanup Description: Take out odd definition of HDalarm() and replace with standard macro like the rest of the library. Platforms tested: FreeBSD 4.11 (sleipnir) Too minor to require h5committest
* [svn-r11480] Purpose:Fang Guo2005-09-291-2/+2
| | | | | | | | | | | Maintenance on Windows Description: No alarm function on Windows, opt out Solution: Platforms tested: MSVS 6.0 on Windows XP Misc. update: