summaryrefslogtreecommitdiffstats
path: root/src/H5Eprivate.h
Commit message (Collapse)AuthorAgeFilesLines
* [svn-r9234] Purpose:Quincey Koziol2004-09-091-1/+5
| | | | | | | | | | | | | | | | | | | | | | | Code cleanup Description: Tweak recent "forward compatibility" changes to the H5E* API (which allowed for the old H5E API functions to remain unchanged) by allowing for the error stack callback function (H5E_auto_t) to also remain unchanged from the 1.6 branch. This required changing the H5E{get|set}_auto routines to have the old style H5E_auto_t type (which didn't have a stack ID parameter) and the new H5E{get|set}_auto_stack routines to have a newer "H5E_auto_stack_t" type (which has a stack ID parameter). This should make the H5E API changes as forwardly compatible as possible. One side-affect of this change was that it was impossible to determine if the current auto error callback was the old style (H5E_auto_t) or the new style (H5E_auto_stack_t) of callback, so a new API function (H5Eauto_is_stack) was adde to query this. Platforms tested: FreeBSD 4.10 (sleipnir) IRIX64 6.5 (modi4) h5committest
* [svn-r9183] Purpose: New featureRaymond Lu2004-09-011-3/+3
| | | | | | | | | | | | Description: Restore 6 old error API functions back to the library to be backward compatible with v1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto, H5Eget_auto. These functions do not have error stack as parameter. Solution: Internally, these functions use default error stack. Platforms tested: h5committest and fuss. Misc. update: RELEASE.txt
* [svn-r8791] Purpose: Rewrote metadata cache (H5AC.c, etc.) to improve ↵John Mainzer2004-07-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | performance. Description: Replaced the old metadata cache with a cache with a modified LRU replacement policy. This should improve the hit rate. Solution: Since we want to flush cache entries in increasing address order, I used the threaded binary B-tree code to store the cache entries. There is a fair bit of overhead here, so we may want to consider other options. While the code is designed to allow the support of other replacement algorithms, at present, only a modified version of LRU is supported. The modified LRU algorithm requires that a user selectable portion of the cache entries be clean. The clean entries are evicted first when writes are not permitted. If the pool of clean entries is used up, the cache grows beyond its user specified maximum size. The cache can also exceed its maximum size if the combined size of the protected (or locked) entries exceeds the maximum size of the cache. Platforms tested: eirene (serial, parallel, fp), h5committested Misc. update:
* [svn-r7364] Purpose:Quincey Koziol2003-08-141-1/+1
| | | | | | | | | | | Code cleanup Description: Ran lint over code & cleaned up warnings. Platforms tested: FreeBSD 4.8 (sleipnir) too small of changes to require h5committest
* [svn-r7355] Purpose:Quincey Koziol2003-08-131-141/+0
| | | | | | | | | | | | | | | | | | | | | | Code cleanup, etc. Description: Previously (in versions prior to 1.7), there were two locations to modify when an error was added to the library. Now, with the new error API, there were four. Solution: Created a single text file (src/H5err.txt) and a perl script (bin/make_err) which uses the text file to automatically create header files that are included in appropriate places in the library. This means that there is only one file (src/H5err.txt) which needs to be modified when a new error code is added to the library. The automatically generated headers depend on this file and the makefiles will take care of running the perl script to regenerate them when the text file changes, so no user action is required when a new error is added. Platforms tested: h5committested
* [svn-r7347] Purpose:Quincey Koziol2003-08-121-18/+1
| | | | | | | | | | | | | | | | Code cleanup & bug fix Description: Clean up code, adding error checking where appropriate Fix a number of routines which were clearing the default error stack before checking some information about that stack. Set the version # of the library correctly when it is registered. Platforms tested: FreeBSD 4.8 (sleipnir) h5committested
* [svn-r7298] Purpose:Quincey Koziol2003-08-081-38/+15
| | | | | | | | | | | | | Code cleanup & bug fix Description: Refactor code to clean up Corrected several bugs, including problems with library termination and thread-safete, etc. Platforms tested: h5committested
* [svn-r7265] *** empty log message ***Raymond Lu2003-07-261-194/+154
|
* [svn-r7263] Purpose: bug fix for C++ caused by new error apiRaymond Lu2003-07-251-23/+0
| | | | | | | Description: one variable was left out from checkin yesterday Platforms tested: RH 8 with C++
* [svn-r7262] Purpose: Bug fix for C++ caused by new error API.Raymond Lu2003-07-251-4/+0
| | | | Platforms tested: h5committested
* [svn-r7256] Purpose: gradual checkin for error apiRaymond Lu2003-07-231-118/+159
| | | | Platforms tested: RH 8(simple checkin)
* [svn-r7244] Purpose: gradual checkin for error APIRaymond Lu2003-07-221-0/+14
| | | | Platforms tested: h5committest
* [svn-r7241] Purpose: Gradual checkin for error APIRaymond Lu2003-07-181-1/+10
| | | | | | Platforms tested: h5committest, RH 8 Misc. update:
* [svn-r7228] Purpose: Gradual checkin for error APIRaymond Lu2003-07-151-0/+4
| | | | Platforms tested: RH 8
* [svn-r7226] Purpose: Bug fix for error API.Raymond Lu2003-07-151-0/+2
| | | | | | | Description: gradual checkin Platforms tested: platinum, baldric
* [svn-r7225] Purpose: error API gradual checkinRaymond Lu2003-07-141-9/+23
| | | | Platforms tested: RH 8; c and c++
* [svn-r7214] Purpose:Quincey Koziol2003-07-121-109/+124
| | | | | | | | | | | | Code cleanup/bug fix Description: Clean up code a bit and make hid_t's for error class to use the same scheme as predefined datatype hid_t's. Platforms tested: FreeBSD 4.8 (sleipnir) w/C++ h5committest
* [svn-r7212] Purpose: New error API design is being checked gradually.Raymond Lu2003-07-111-0/+157
| | | | Platforms tested: RH 8
* [svn-r7184] Purpose:Quincey Koziol2003-07-081-2/+2
| | | | | | | | | | | Code cleanup Description: Clean up various warnings from lint Platforms tested: FreeBSD 4.8 (sleipnir) no major changes requiring h5committest
* [svn-r6546] Purpose:Bill Wendling2003-03-311-11/+13
| | | | | | | | | | | | Update Description: Updated copyright statement in files which hadn't been updated yet. Platforms tested: Linux (Only comment change) Misc. update:
* [svn-r6266] Purpose:Quincey Koziol2003-01-101-36/+1
| | | | | | | | | | | | Code cleanup/new feature. Description: Split FUNC_LEAVE into API and non-API specific versions. This allows a solution to compiling this branch with C++, as well as reducing the size of the binaries produced. Platforms tested: FreeBSD 4.7 (sleipnir) w/serial, parallel (including MPE) & thread-safe
* [svn-r6232] Purpose:Albert Cheng2003-01-031-0/+1
| | | | | | | | | | | | | | | | new feature Description: Added MPICH/MPE instrumentation support. All source code are bracketed by the macro H5_HAVE_MPE. Use "--enable-mpe" to configure it in. Currently only worked in Eirene because the MPE library is not installed in all machines yet. The added file, H5MPprivate.h, holds HDF5/MPE related defintions. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)}? Yep. Other platforms/configurations tested? --enable-mpe feature tested in Eirene.
* [svn-r6229] Purpose:Albert Cheng2003-01-031-1/+2
| | | | | | | | | | | Minor fix Description: By mistake, the MPI_Error handling macros were inserted outside the overall macro bracket. Moved them back inside the bracket. Platforms tested: Tested h5committest {arabica (fortran), eirene (fortran, C++) modi4 (parallel, fortran)}? Yep.
* [svn-r5986] Purpose:Quincey Koziol2002-10-141-0/+6
| | | | | | | | | | | | | | | | | Code cleanup Description: Shift further toward removing the HRETURN* macros, in favor of the HGOTO* macros for error reporting. This change disables them in the header file and is the last change before removing them entirely after the 1.6 release. Platforms tested: FreeBSD 4.6 (sleipnir) w and w/o parallel Linux 2.2.x (eirene) w/FORTRAN & C++ Solaris 2.7 (arabica) w/FORTRAN IRIX64 6.5 (modi4) w/FORTRAN & parallel
* [svn-r5931] MuQun Yang2002-09-201-6/+6
| | | | | | | | | | | | Purpose: __DLL__ is a keyword in some platforms and __DLL__ is also defined as a macro for windows DLL applications. That causes problems. Description: Solution: Use H5_DLL*** to replace __DLL***__ at all header files. Change the macro defination at H5api_adpt.h. Platforms tested: linux2.2.18smp, irix64, solaris 2.7 and windows 2000
* [svn-r5842] Purpose:Quincey Koziol2002-08-081-0/+16
| | | | | | | | | | | | | | | | 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-r5467] Purpose:Quincey Koziol2002-05-281-12/+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-r5164] Just couple white space editing in HMPI_ERROR macros.Albert Cheng2002-04-101-2/+2
| | | | Nothing of consequence.
* [svn-r5135] Purpose:Albert Cheng2002-04-031-0/+22
| | | | | | | | | | | | | | | | | | | | | | Features. Description: Error stack used to report only hdf5 predefined error messages because it takes only static strings. Runtime defined messages were not pushed to the stack. Added the means and macros to push MPI error strings onto the hdf5 error stack. Added a new minor error class as H5E_MPIERR for this class of messages. H5Epulbic.h, H5E.c: Added H5E_MPIERR and its minor class description. H5Eprivate.h: Added HMPI_XXX macros to push MPI error strings to the stack. H5FDmpio.c: Changed couple places to use the new macros to test the new macros. A more through changes to make use of these new macros will be done later. Platforms tested: eirene (serial, parallel) modi4(parallel)
* [svn-r4706] Purpose:Quincey Koziol2001-12-121-7/+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-r4355] Purpose:Quincey Koziol2001-08-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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-r3781] Purpose:Bill Wendling2001-04-051-2/+2
| | | | | | | | | | | | | | | | | | 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-r2264] Added Thread-safe feature. This is the phase 1 implementationChee-Wai Lee2000-05-181-0/+6
| | | | | | 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-r1078] Changes since 19990215Robb Matzke1999-02-181-6/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/H5.c Fixed more dependency problems in H5_term_library(). There was a bug in the previous version that could cause the wrong EOF marker to be written to the boot block under certain circumstances. Hopefully this fixes it although I don't ready access to a test case (Mark Miller will test it). ./src/H5F.c ./src/H5Fprivate.h Added an H5F_close_all() that is similar to H5F_term_interface() but which doesn't close the interface. Files that don't have open object headers are closed, others are delayed until all object headers close. All files are flushed. ./src/H5ACprivate.h ./src/H5Bprivate.h ./src/H5Dprivate.h ./src/H5Eprivate.h ./src/H5Fprivate.h ./src/H5Gpkg.h ./src/H5Gprivate.h ./src/H5Gpublic.h ./src/H5HGprivate.h ./src/H5HLprivate.h ./src/H5Iprivate.h ./src/H5MFprivate.h ./src/H5MMprivate.h ./src/H5Oprivate.h ./src/H5Pprivate.h ./src/H5Ppublic.h ./src/H5RAprivate.h ./src/H5Sprivate.h ./src/H5Spublic.h ./src/H5Tpkg.h ./src/H5Tprivate.h ./src/H5Tpublic.h ./src/H5Vprivate.h ./src/H5Zprivate.h ./src/H5private.h ./src/H5public.h Reindented after __DLL__ was added.
* [svn-r1051] changed the HDF5DLL and HDF5GLOBAL to __DLL__ and __DLLVAR__Patrick Lu1999-02-021-6/+6
| | | | also exported all globals and non static functions to the dll
* [svn-r429] Changes since 19980616Robb Matzke1998-06-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./html/tracing.html NEW This entire update is to make it possible for the library to print the name, arguments, and return value of every API call without requiring any extra work from developers or app programmers. This file describes how this all works. ./configure.in Added the `--enable-tracing' switch. If you use it then the library will include code to print API function names, argument names and values, and function return values. However, you must then turn on the tracing by setting the HDF5_TRACE environment variable to a file descriptor number. The default is `--disable-tracing' since enabling it causes a slight increase in library size and a slowdown resulting from an extra function call for each API function call (I couldn't even measure the slowdown :-) ./bin/trace NEW A perl script that synchronizes the H5TRACE() macro calls in the *.c files with the function return type and formal argument names and types. If you use GNU make and gcc then this will be done automatically, otherwise just invoke this script with the names of one or more .c files. You could do it by hand to, but encoding argument types is a little tricky at first. ./config/commence.in Added the $(TRACE) macro, which defaults to the no-op. Added -D_POSIX_SOURCE to the compiler command line. ./src/Makefile.in Override the default for $(TRACE). ./config/depend.in Automatically calls $(TRACE) to synchronize the H5TRACE() macros in any source file that changed. As with makefile dependencies, one way to force synchronization of all files is to remove the `.depend' file. ./MANIFEST Added new files. ./src/H5Eprivate.h Modified HRETURN_ERROR() and HRETURN() for tracing. ./src/H5.c ./src/H5private.h This is where the real tracing work really happens, in H5_trace(). ./src/H5A.c ./src/H5D.c ./src/H5G.c ./src/H5P.c ./src/H5S.c ./src/H5Z.c Added H5TRACE() calls to all API functions. You don't really need these changes if you don't want to merge your stuff because they can be generated automatically by going to the hdf5/src directory and saying ../bin/trace *.c ./src/H5T.c Added H5TRACE() calls. Other stuff below. ./src/H5E.c ./src/H5Epublic.h Added H5TRACE() calls. Created a type H5E_auto_t for the `func' argument of H5Eset_auto() and H5Eget_auto() to make those arguments easier to parse for tracing. It should also make it clearer for users that don't know how to read complicated ANSI data types. ./src/H5F.c Added H5TRACE() calls. Changed a couple `uintn' argument types in API functions to `unsigned int' since `uintn' part of the API. Changed a few "can't" and "cant" error messages to "unable to". ./src/H5Ipublic.h Removed H5_DIRECTORY from the H5I_group_t enum. It wasn't used anywhere. ./src/H5Tconv.c Removed an unused label. ./src/H5Fistore.c ./src/H5Oattr.c ./src/H5Odtype.c ./src/H5T.c ./test/dsets.c ./test/dtypes.c Fixed a warning about a variable possibly used before it's initialized. Added __unused__ to turn off some unused argument warnings that pop up when debugging is turned off and optimizations are turned on.
* [svn-r337] Changes since 19980403Robb Matzke1998-04-071-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./configure.in Moved setting of compiler warning switches earlier in the file. Turned on more warning switches to gcc. ./config/linux Prints a warning if the gcc version is less than 2.8.1 since that version has problems with register allocation for `long long'. ./html/Datatypes.html Documented sharing of data types between datasets. ./src/H5G.c ./src/H5Gpublic.h Implemented H5Gmove(), H5Glink() and H5Gunlink() for hard links. Still have soft links to do. ./src/H5AC.c ./src/H5ACprivate.h ./src/H5D.c ./src/H5E.c ./src/H5Eprivate.h ./src/H5F.c ./src/H5Farray.c ./src/H5Fcore.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fprivate.h ./src/H5Fpublic.h ./src/H5Fsec2.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5Gpkg.h ./src/H5Gprivate.h ./src/H5HG.c ./src/H5HL.c ./src/H5HLprivate.h ./src/H5I.c ./src/H5Iprivate.h ./src/H5MM.c ./src/H5MMprivate.h ./src/H5O.c ./src/H5Oefl.c ./src/H5Oprivate.h ./src/H5Osdspace.c ./src/H5Oshared.c ./src/H5Ostab.c ./src/H5P.c ./src/H5S.c ./src/H5Ssimp.c ./src/H5T.c ./src/H5Tconv.c ./src/H5Tprivate.h ./src/H5Tpublic.h ./src/H5V.c ./src/H5Vprivate.h ./src/H5detect.c ./src/h5ls.c ./test/cmpd_dset.c ./test/dsets.c ./test/external.c ./test/hyperslab.c ./test/iopipe.c ./test/istore.c ./test/shtype.c ./test/tstab.c Fixed comparisons between signed and unsigned values. Fixed warnings about unused function arguments.
* [svn-r302] Changes since 19980227Robb Matzke1998-02-281-94/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./html/Errors.html [NEW] ./html/H5.user.html ./MANIFEST Documents the new error handling interface and gives examples. ./src/H5.c ./src/H5private.h ./src/H5Apublic.h ./src/H5E.c ./src/H5Eprivate.h ./src/H5Epublic.h Rewrote error handling. Got rid of `push' overloading and added a few API functions. The error stack is statically allocated and not entered into H5A, simplifying error handling within the error handler. Rudimentary support for threads. Changed the names of some errors. ./src/H5G.c ./src/H5Gnode.c ./src/H5H.c ./src/H5O.c ./src/H5T.c Changed H5ECLEAR to H5E_clear(). ./src/Makefile.in Alphabetized source list. ./test/dsets.c Turned off error reporting around functions that are expected to fail. Error messages are sent to stdout. ./test/testhdf5.c ./test/testhdf5.h Turned off automatic error reporting since this file mostly calls internal functions and does its own error reporting.
* [svn-r193] Changes since 19980128Robb Matzke1998-01-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./MANIFEST Added new config files. ./src/H5private.h Changed FUNC_ENTER() so it calls H5Eclear() for all API functions but not for any private functions. It also prints the names of all API functions on file 55 (just for the prototype) so we can get a list of API functions called with the Bourne shell commands like: ./testhdf5 55>api_list or ./testhdf5 55>&1 1>/dev/null 2>&1 | less Otherwise the names are silently discarded. ./src/H5.c ./src/H5C.c ./src/H5D.c ./src/H5F.c ./src/H5G.c ./src/H5M.c ./src/H5P.c ./src/H5T.c Removed `H5ECLEAR' from lots of places in the source code. ./src/H5E.c ./src/H5Eprivate.h Recursion is a problem here, so to disable a call to H5Eclear() from FUNC_ENTER just define a local variable like this before you call FUNC_ENTER: const H5E_clearable_g = FALSE; Unfortunately this results in a warning: declaration of `H5E_clearable_g' shadows global declaration. Good thing it's only used in two places.
* [svn-r164] Changes since 19980122Robb Matzke1998-01-221-40/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---------------------- ./src/*.h Fixed indentation where indent(1) screwed up. This isn't by any means the final say, but it's better than it was. ./src/H5A.c ./src/H5Aprivate.h ./src/H5Apublic.h ./src/H5C.c ./src/H5D.c ./src/H5E.c ./src/H5F.c ./src/H5G.c ./src/H5M.c ./src/H5P.c ./src/H5T.c ./src/H5Tconv.c ./src/debug.c ./test/dtypes.c ./test/istore.c ./test/theap.c ./test/tohdr.c ./test/tstab.c Removed some atom functions from the API and made them library-scope. Also changed some names by removing the redundant `atom' from the name and by adding a `_' after the `H5A'.
* [svn-r157] Reformatted code with indent...Quincey Koziol1998-01-161-45/+42
|
* [svn-r146] ./src/H5.cRobb Matzke1997-12-161-42/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes to error handling. ./src/H5B.c Increased size of internal static buffers. ./src/H5C.c Fixed syntax error when NDEBUG is defined. ./src/H5E.c ./src/H5Eprivate.h ./src/H5Epublic.h Errors can now be printed with H5Eprint(). Other minor changes to names and arg types. ./src/H5F.c The base address is now stored in the boot block. The user block size and the base address are synonyms. ./src/H5Fstdio.c Fixed a bug with a return value from fseek(). ./src/H5H.c Added alignment constraints to get rid of unaligned access errors on the DEC alpha having to do with the heap free list. ./src/H5P.c ./src/H5Ppublic.h Changed some size arguments from int to size_t and fixed memory allocation calls. ./src/H5T.c ./src/H5Tpublic.h Changed the order of functions so all the public ones are at the top of the file. Other minor changes. ./src/H5detect.c Added a newline to a string constant.
* [svn-r145] ./src/H5Osdtyp.c -> H5Odtype.cRobb Matzke1997-12-111-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ./src/H5Osdim.c -> H5Osdspace.c ./src/Makefile.in Changed the names of these files to better reflect what they actually do. ./src/H5.c ./src/H5AC.c ./src/H5B.c ./src/H5C.c ./src/H5D.c ./src/H5E.c ./src/H5Eprivate.h ./src/H5Epublic.h ./src/H5F.c ./src/H5Fcore.c ./src/H5Ffamily.c ./src/H5Fistore.c ./src/H5Flow.c ./src/H5Fsec2.c ./src/H5Fsplit.c ./src/H5Fstdio.c ./src/H5G.c ./src/H5Gent.c ./src/H5Gnode.c ./src/H5Gshad.c ./src/H5Gstab.c ./src/H5H.c ./src/H5M.c ./src/H5MF.c ./src/H5O.c ./src/H5Osdtyp.c (./src/H5Odtype.c) ./src/H5P.c ./src/H5T.c ./src/H5detect.c ./src/H5private.h Added an argument to the HRETURN_ERROR(), HGOTO_ERROR(), and HERROR() macros which is a string error message. This allows us to give extra information which can't be represented by the major and minor error numbers. This information was previously in comments just before or after the macro call. The string isn't currently used, but I'm planning to change the test files so they print an error trace when something fails. This should make debugging a little faster since it's often obvious what's wrong if we could just see the error stack without even having to start a debugger.
* [svn-r35] ./src/H5ACproto.hRobb Matzke1997-08-151-76/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ./src/H5Aproto.h ./src/H5Bproto.h ./src/H5Cproto.h ./src/H5Dproto.h ./src/H5Eproto.h ./src/H5Fproto.h ./src/H5Gproto.h ./src/H5Hproto.h ./src/H5MFproto.h ./src/H5MMproto.h ./src/H5Mproto.h ./src/H5Oproto.h ./src/H5Pproto.h ./src/H5Tproto.h ./src/H5proto.h These files were removed from the library and renamed by changing `proto' to `public'. ./src/H5ACpublic.h NEW ./src/H5Apublic.h NEW ./src/H5Bpublic.h NEW ./src/H5Cpublic.h NEW ./src/H5Dpublic.h NEW ./src/H5Epublic.h NEW ./src/H5Fpublic.h NEW ./src/H5Gpublic.h NEW ./src/H5Hpublic.h NEW ./src/H5MFpublic.h NEW ./src/H5MMpublic.h NEW ./src/H5Mpublic.h NEW ./src/H5Opublic.h NEW ./src/H5Ppublic.h NEW ./src/H5Tpublic.h NEW ./src/H5public.h NEW These files came from the old H5*proto.h files. ./src/Makefile ./src/Makefile.in NEW Removed. Now generated automatically from Makefile.in by running configure. ./src/h5oplat.h ./src/hdf5fort.h ./src/hdf5gen.h ./src/hdf5glob.h ./src/hdf5lims.h ./src/hdf5meta.h ./src/hdf5pabl.h ./src/hdf5plat.h ./src/hdf5port.h ./src/hdf5type.h Removed. The contents of these files has moved to other header files or source files depending on it's nature. ./src/H5.c ./src/H5A.c ./src/H5B.c ./src/H5C.c ./src/H5D.c ./src/H5E.c ./src/H5F.c ./src/H5G.c ./src/H5H.c ./src/H5M.c ./src/H5MF.c ./src/H5MM.c ./src/H5O.c ./src/H5Ocont.c ./src/H5Oname.c ./src/H5Onull.c ./src/H5Ostab.c ./src/H5P.c ./src/H5T.c Fixed include files. Moved some things from old headers into these files. ./src/H5ACprivate.h ./src/H5Aprivate.h ./src/H5Bprivate.h ./src/H5Cprivate.h ./src/H5Dprivate.h ./src/H5Eprivate.h ./src/H5Fprivate.h ./src/H5Gprivate.h ./src/H5Hprivate.h ./src/H5MFprivate.h ./src/H5MMprivate.h ./src/H5Mprivate.h ./src/H5Oprivate.h ./src/H5Pprivate.h ./src/H5Tprivate.h ./src/H5private.h ./src/debug.c Fixed include files. ./src/hdf5.h This is now the top-level *PUBLIC* include file. It should never appear in the library *.c files.
* [svn-r27] ./src/H5B.cRobb Matzke1997-08-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ./src/H5Bprivate.h The B-tree K value comes from a combination of the B-tree subclass and the file. ./src/H5C.c ./src/H5F.c ./src/hdf5lims.h ./src/hdf5type.h Removed the B-tree size parameter and added an array of B-tree K values. Also added symbol table node K value. ./src/H5Eprivate.h ./src/H5Eproto.h Added H5E_LINK for errors involving link counts. ./src/H5G.c Inserting something into a directory with H5G_insert() increments the link count in the object header. The root object should always have a link count of at least 1. ./src/H5Gnode.c ./src/H5Gprivate.h The symbol table node K value comes from the file instead of being a constant. ./src/H5Olink.c Added an assert(), fixed a hard-link bug.
* [svn-r25] ./src/H5AC.cRobb Matzke1997-08-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We sort the cache before a complete flush because it might be more efficient to write things back to disk in order of increasing address. If you want the old way then undef the SORT_BY_ADDR constant at the top of H5AC.c I haven't determined which systems and I/O libraries this helps or hurts. (This is currently off because of a bug I need to track down that causes qsort() to run for a really long time). ./src/H5B.c Fixed a couple more bugs. ./src/H5Eprivate.h ./src/H5Eproto.h Added major H5E_DIRECTORY and minor H5E_EXISTS, H5E_COMPLEN. ./src/H5G.c Added directory-aware functions. The heap and B-tree are created when a directory is created instead of when the first symbol is added. This simplifies symbol table entry caching for the directory since the cached value never changes now. ./src/H5Gnode.c ./src/H5Gprivate.h Fine tuned the B-tree K values for symbol tables assuming an average number of symbols is about 100 per directory. The tuning minimizes storage space. Fixed a return value in H5G_node_cmp(). ./src/H5H.c ./src/H5Hprivate.h Moved some macros the the header file. ./src/H5O.c ./src/H5Ocont.c ./src/H5Onull.c ./src/H5Ostab.c Changed the arguments for the decode method for messages. The second argument is the raw message size. Added a class variable for native message size. Added H5O_reset() to free memory used internally by a message. ./src/H5Oname.c NEW ./src/H5Oprivate.h ./src/Makefile The object name message. ./src/hdf5port.h Added defn for HDstrdup()
* [svn-r19] Added new minor error code - H5E_BADVALUE, for arguments with only ↵Quincey Koziol1997-08-111-0/+1
| | | | | | a single incorrect value.
* [svn-r15] ./src/H5AC.cRobb Matzke1997-08-071-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ./src/H5ACprivate.h ./src/H5ACproto.h ./src/H5Bproto.h ./src/H5Gproto.h ./src/H5Hproto.h ./src/H5MFprivate.h ./src/H5MFproto.h ./src/H5MM.c ./src/H5MMprivate.h ./src/H5MMproto.h Changed my e-mail address. ./src/H5O.c NEW ./src/H5Onull.c NEW ./src/H5Ocont. NEW ./src/H5Ostab.c NEW New functions for dealing with object headers. The H5O.c is the generic stuff, and each particular message has a source file for the specific stuff. Use ./src/H5Ostab.c as a model for implementing other messages. ./src/Makefile ./src/test/Makefile Added new files ./src/debug.c Added debugging calls for object headers. ./src/H5B.c ./src/H5Bprivate.h ./src/H5Gnode.c ./src/H5MF.c Changed my e-mail address. Improved error handling. ./src/H5Eprivate.h ./src/H5Eproto.h Added more error symbols ./src/H5F.c Changed my e-mail address. Used macros for sizeof offsets and lengths. Added the interface initialization function to H5F_block_read() and H5F_block_write(). Updated H5F_debug() ./src/H5Fprivate.h Got rid of H5F_symbol_table_size(). Use H5G_SIZEOF_ENTRY() instead. Reformatted H5F_decode_offset() for readability. ./src/H5G.c Changed my e-mail address. Improved error handling. Replaced not_implemented_yet__*() with real functions from H5O. ./src/H5Gprivate.h Changed `symtab' to `stab' to be consistent with other stuff. ./src/H5H.c ./src/H5Hprivate.h Changed my e-mail address. Improved error handling. Added an extra argument to H5H_new() to indicate whether you want a global heap or a local heap. ./src/hdf5gen.h Added NELMTS() Fixed FUNC_ENTER() Rewrote FUNC_LEAVE() in terms of HRETURN(). ./src/hdf5meta.h Added `const' to the decode macros. ./src/hdf5pabl.h Added PABLO_SAVE() ./test/testhdf5.c ./test/testhdf5.h Added calls for object header testing. ./test/theap.c Turned off some output.
* [svn-r13] ./src/H5.cRobb Matzke1997-08-051-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added an `_g' to the end of library_initialize, thread_initialize, and interface_initialize to abide by the naming convention. Removed setting of these variables from the various initialization functions since it happens in the FUNC_ENTER() macro now. Defined PABLO_MASK. Removed `CONSTR(FUNC,"function_name")' everywhere since it's handled by the various FUNC_ENTER macros. Fixed calls to FUNC_ENTER(), FUNC_LEAVE(), and HRETURN_ERROR() so they don't need so many arguments. Changed PABLO_TRACE_ON() to FUNC_ENTER() since there is no longer any danger of infinite recursion. H5_term_library() now returns SUCCEED/FAIL and uses FUNC_ENTER/FUNC_EXIT macros. ./src/H5A.c Changes similar to H5.c. Most (all?) of the functions called PABLO_TRACE_ON() and the package doesn't have an interface initializer that I can see, so the second argument to FUNC_ENTER() is always NULL. H5A_release_atom_node() returns SUCCEED/FAIL. ./src/H5AC.c Added error handling. Arguments for internal functions are checked with assert(). ./src/H5C.c Changes similar to H5.c Fixed the FUNC variable in H5C_get_default_atom() since it was initialized to the wrong name. ./src/H5D.c Changes similar to H5.c ./src/H5E.c Changes similar to H5.c Changed the pablo mask from H5_mask to H5E_mask in H5E_init_interface(). H5Eclear(), H5E_store(), and H5Epush() return SUCCEED/FAIL. Changed PABLO_TRACE_OFF() calls to FUNC_LEAVE() calls in the same functions. ./src/H5Eprivate.h ./src/H5Eproto.h Added additional error symbols for the H5AC package. Changed prototypes for H5Eclear() and H5Epush(). Changes to HRETURN_ERROR() and HGOTO_ERROR() to reduce the number of arguments. ./src/H5F.c Changes similr to H5.c Changed the pablo mask from H5_mask to H5F_mask for the FUNC_LEAVE() call of H5F_init_interface(). Added FUNC_ENTER() and FUNC_LEAVE() calls to some functions that didn't have them. ./src/H5M.c Changes similar to H5.c Fixed the FUNC variable in H5M_init_interface() since it was initialized to the wrong name. ./src/H5P.c Changes similar to H5.c ./src/H5T.c Changes similar to H5.c ./src/hdf5gen.c Changes to FUNC_ENTER() and FUNC_EXIT() to reduce the number of arguments. FUNC_ENTER() is now safe from infinite recursion since it updates the library_initialize_g, thread_initialize_g, or interface_initialize_g variables before calling the appropriate initialize function.
* [svn-r7] Changed some text for the file errors to make them more generic. ↵Quincey Koziol1997-08-011-4/+4
| | | | | | | Also, updated the HRETURN_ERROR macro to take Pablo tracing parameters and call the Pablo tracing function before calling 'return()'.