Commit Graph

36 Commits

Author SHA1 Message Date
Quincey Koziol
ae69e30f76 [svn-r2318] Rearranged metadata caching to put caching information in the objects being
cached instead of in separate structures.  This reduces the amount of memory
the hash table uses by about half.  This is the initial step along the path of
speeding up the metadata caching.
2000-06-01 18:45:11 -05:00
Quincey Koziol
ba8fbc02db [svn-r2165] Fixed last batch of problems when using free-lists on the SGI machines. They
should (hopefully) work on all platforms again now.
2000-04-20 11:36:38 -05:00
Quincey Koziol
bb12f5d5d2 [svn-r2147] Corrected a few problems in the free-list code and added more assert() macros
to double-check things.  I've turned them back on again now.  I also changed
the internal representation of a few struct fields to be float instead of
double, since the HP/UX 10.20 compiler was having problems with the alignment
of the doubles.
2000-04-14 14:07:32 -05:00
Robb Matzke
cbf68fc824 [svn-r1568] Changes since 19990730
----------------------

This extensive change is the virtual file layer implementation. I've
ported and tested the sec2, family, and core drivers and only ported
the mpio driver (Albert will test it).  So if you need MPIO I would
recommend sticking with the previous version for a while.

You will get a few compile warnings about split and stdio drivers not
being implemented and possibly tracing information not inserted in
some of the drivers. You can safely ignore them but I plan to fix
them.

I'm still working on the split driver because I just realized that it
needs a part of the VFL that isn't written yet.

Documentation is being updated also because there were some minor
changes (mostly just name changes). It should be available on my web
site later this week.

./MANIFEST
./src/Makefile.in
./src/hdf5.h
./src/H5Flow.c			[REMOVED]
./src/H5Fstdio.c		[REMOVED]
./src/H5Fsec2.c			[REMOVED]
./src/H5Fsplit.c		[REMOVED]
./src/H5Fmpio.c			[REMOVED]
./src/H5Ffamily.c		[REMOVED]
./src/H5Fcore.c			[REMOVED]
./src/H5MFpublic.h		[REMOVED]
./src/H5FD.c			[NEW]
./src/H5FDcore.c		[NEW]
./src/H5FDcore.h		[NEW]
./src/H5FDfamily.c		[NEW]
./src/H5FDfamily.h		[NEW]
./src/H5FDmpio.c		[NEW]
./src/H5FDmpio.h		[NEW]
./src/H5FDprivate.h		[NEW]
./src/H5FDpublic.h		[NEW]
./src/H5FDsec2.c		[NEW]
./src/H5FDsec2.h		[NEW]
	Removed/added files for virtual file layer.

./bin/trace
./src/H5.c
	Removed unused public datatypes and added new VFL public
	datatypes.

	Changed an error message.

./config/BlankForm
./config/dec-flags
./config/gnu-flags
./config/hpux10.20
./config/hpux9.03
./config/irix5.x
./config/irix6.x
./config/solaris2.x
./config/unicosmk
	Removed the H5F_OPT_SEEK and H5F_LOW_DFLT constants from the
	configuration since they're no longer applicable. The default
	file driver is always the sec2 driver and it always optimizes
	calls to lseek() or lseek64().

./config/depend.in
	C preprocessor errors generated during automatic dependency
	building are sent to /dev/null to prevent them from appearing
	twice in the make output.

./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Oshared.c
./src/H5T.c
./src/H5detect.c
./test/ohdr.c
	Changed H5F_ADDR_UNDEF to HADDR_UNDEF to be more consistent
	with the `haddr_t' datatype which is now a public type.

./src/H5D.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5Tconv.c
./test/cmpd_dset.c
./test/dsets.c
./test/overhead.c
./test/tselect.c
./test/tvltypes.c
	The H5P_DATASET_XFER constant was changed to H5P_DATA_XFER
	because the properties apply to all types of I/O operations,
	not just datasets.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5R.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./test/big.c
./test/h5test.c
./test/istore.c
./testpar/t_dset.c
./testpar/t_file.c
./tools/h5debug.c
./tools/h5ls.c
	Modified to work with the virtual file layer by calling H5FD_*
	functions instead of H5F_low_* functions and by passing file
	access and data transfer properties by object ID instead of
	pointer.

	Changed H5D_transfer_t to H5FD_mpio_xfer_t since the
	COLLECTIVE vs. INDEPENDENT transfer mode is specific to the
	MPIO file driver.

	Moved MPIO-specific stuff into the MPIO driver.

./src/H5B.c
./src/H5D.c
./src/H5Fprivate.h
	The H5F_mpio_* private functions were renamed and placed in
	the H5FDmpio driver except those which appeared in H5Smpio.c.

./src/H5E.c
./src/H5Epublic.h
	Added major error number H5E_VFL for virtual file layer
	related errors.

./src/H5F.c
./src/H5Fprivate.h
	Changed the logic that controls whether the boot block is
	written. Instead of assuming that the first call to write the
	boot block is only to allocate space, I've added a function
	argument which makes this explicit.

	Changed the way files are compared so that a driver-defined
	comparison function can be called.  Files which belong to
	different drivers are always considered different.

	Removed H5F_driver_t since file drivers are now identified by
	object ID instead of a special non-user-extendible datatype.

	Removed all the hard-coded low-level file properties which
	have been replaced by the various file drivers.

./src/H5I.c
./src/H5Iprivate.h
	Added the H5I_inc_ref() which was removed a few months ago
	since we finally have a use for it.

./src/H5Ipublic.h
	Added the H5I_VFL object ID type to identify file drivers in
	the virtual file layer.

./src/H5MF.c
./src/H5MFprivate.h
	Moved all the allocation/deallocation code into the virtual
	file layer which allows file drivers to override much of it.

./src/H5P.c
./src/H5Ppublic.h
	Moved file driver-specific code into the various file driver
	files.

	The H5Pcopy() and H5Pclose() functions make calls into the
	virtual file driver to manage the memory for driver-specific
	file access and data transfer properties.

./src/H5private.h
./src/H5public.h
	The `haddr_t' type is now public.

./test/tfile.c
	Added a few more comments.
1999-08-10 15:21:32 -05:00
Robb Matzke
e4834c43ce [svn-r1548] Changes since 19990727
----------------------

./src/H5.c		[1.3]
./src/H5AC.c		[1.3]
./src/H5ACprivate.h	[1.3]
./src/H5B.c		[1.3]
./src/H5Bprivate.h	[1.3]
./src/H5D.c		[1.3]
./src/H5F.c		[1.3]
./src/H5Farray.c	[1.3]
./src/H5Fcore.c		[1.3]
./src/H5Ffamily.c	[1.3]
./src/H5Fistore.c	[1.3]
./src/H5Flow.c		[1.3]
./src/H5Fmpio.c		[1.3]
./src/H5Fprivate.h	[1.3]
./src/H5Fsec2.c		[1.3]
./src/H5Fsplit.c	[1.3]
./src/H5Fstdio.c	[1.3]
./src/H5G.c		[1.3]
./src/H5Gent.c		[1.3]
./src/H5Gnode.c		[1.3]
./src/H5Gprivate.h	[1.3]
./src/H5Gstab.c		[1.3]
./src/H5HG.c		[1.3]
./src/H5HGprivate.h	[1.3]
./src/H5HL.c		[1.3]
./src/H5HLprivate.h	[1.3]
./src/H5MF.c		[1.3]
./src/H5MFprivate.h	[1.3]
./src/H5O.c		[1.3]
./src/H5Oattr.c		[1.3]
./src/H5Ocont.c		[1.3]
./src/H5Odtype.c	[1.3]
./src/H5Oefl.c		[1.3]
./src/H5Olayout.c	[1.3]
./src/H5Oprivate.h	[1.3]
./src/H5Oshared.c	[1.3]
./src/H5Ostab.c		[1.3]
./src/H5P.c		[1.3]
./src/H5R.c		[1.3]
./src/H5Smpio.c		[1.3]
./src/H5T.c		[1.3]
./src/H5Tvlen.c		[1.3]
./src/H5private.h	[1.3]
./test/dtypes.c		[1.3]
./test/gheap.c		[1.3]
./test/istore.c		[1.3]
./test/lheap.c		[1.3]
./test/ohdr.c		[1.3]
./tools/h5debug.c	[1.3]
	File addresses (the `haddr_t' type) are passed by value
	instead of by reference. The type is no longer a struct. This
	is one of the preliminary changes needed for the Virtual File
	Layer stuff.

./src/H5Fprivate.h	[1.3]
./src/H5Flow.c		[1.3]
	Some address functions were rewritten as macros.
1999-07-28 13:25:43 -05:00
Robb Matzke
d534a4dd0d [svn-r1204] Changes since 19990415
----------------------

./config/depend.in
	Fixed automatic dependencies. We were storing dependencies for
	*.o files instead of *.lo files after shared libraries were
	added.

./config/gnu-flags
./config/linux-gnulibc1
	Moved `-march=pentiumpro -mcpu=pentiumpro -malign-double' from
	the linux file to this file and caused it to depend on the CPU
	name.  This fixes one of Elena's bugs.

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
./src/H5F.c
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fmpio.c
./src/H5Fprivate.h
./src/H5Fpublic.h
./src/H5Gnode.c
./src/H5P.c
./src/H5RA.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Smpio.c
./src/H5Spoint.c
./src/H5Sprivate.h
./src/H5Tpublic.h
./test/istore.c
	Added an H5Dget_storage_size() function that reports the
	amount of storage allocated for raw data in a dataset.

	Changed H5D_xfer_* to H5F_xfer_* because these properties are
	more general than datasets. This also allows some of the
	lower-level I/O functions to get this information easier.

./src/H5S.c
./src/H5Sall.c
	Added two new functions H5S_all_read() and H5S_all_write()
	which are optimizations that copy data directly between file
	and memory without having to go through the scatter gather
	step.  This knocks quite a bit of time off the I/O and
	reading/writing entire datasets is a fairly common operation.

./tools/h5ls.c
	Reports the logical size of data, the allocated size of data,
	and the percent utilization.

./MANIFEST
	Removed old pablo files, added new files. Snapshots should now
	start to work again.

./src/H5D.c
./src/H5Fmpio.c
	Removed two warnings signed vs. unsigned comparisons and check
	for overflow.
1999-04-23 07:31:21 -05:00
Robb Matzke
37cfaf1665 [svn-r1078] Changes since 19990215
----------------------

./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.
1999-02-18 11:21:34 -05:00
Patrick Lu
3d6d039b86 [svn-r1051] changed the HDF5DLL and HDF5GLOBAL to __DLL__ and __DLLVAR__
also exported all globals and non static functions to the dll
1999-02-02 10:52:59 -05:00
Robb Matzke
8bb8649482 [svn-r925] Changes since 19981116
----------------------

./INSTALL.parallel	[NEW]
	We're beginning to unify some of the parallel installation
	steps.  This file will contain general information for
	installing the parallel library.  It's not complete yet.

./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
	Check for xdr_int() in libnsl required on Solaris when linking
	with hdf4.  It's found on the Irix system I tested which
	complains that `-lnsl' didn't resolve any symbols. Oh well.

	Fixed the order of searching for libdf and libmfhdf for hdf4
	linking.

./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./src/H5Z.c
	Check for compress() in libz in order to find older versions
	of the library that will still work for hdf4.  Added a
	separate check for compress2() that hdf5 will use.

./configure.in
./configure		[REGENERATED]
./src/H5config.h.in	[REGENERATED]
./src/H5.c
./src/H5private.h
./src/H5A.c
./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5F.c
./src/H5Farray.c
./src/H5Fcore.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fmpio.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5HG.c
./src/H5HL.c
./src/H5O.c
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Ofill.c
./src/H5Olayout.c
./src/H5Omtime.c
./src/H5Oname.c
./src/H5Oprivate.h
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5R.c
./src/H5RA.c
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Snone.c
./src/H5Spoint.c
./src/H5Sprivate.h
./src/H5Sselect.c
./src/H5T.c
./src/H5Tbit.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5V.c
./test/bittests.c
./test/gheap.c
./test/hyperslab.c
./test/istore.c
./test/tmeta.c
./test/trefer.c
./test/tselect.c
./tools/h5debug.c
./tools/h5tols.c
	Added checks for Posix.1g types like `int8_t'.  If not defined
	then H5private.h defines them.  Changed all `int8' etc. to
	`int8_t'.

./src/H5A.c
./src/H5D.c
./src/H5F.c
./src/H5G.c
./src/H5I.c
./src/H5P.c
./src/H5R.c
./src/H5RA.c
./src/H5S.c
./src/H5T.c
./src/H5TB.c
./src/H5Z.c
	Calling H5*_term_interface() resets interface_initialize_g to
	FALSE so a subsequent call to H5open() (implied or explicit)
	reinitializes global variables properly.

./src/H5private.h
./src/H5Oefl.c
./src/H5S.c
	Changed MAX_SIZET, MAX_SSIZET, MAX_HSIZET, and MAX_HSSIZET to
	SIZET_MAX, SSIZET_MAX, HSIZET_MAX, and HSSIZE_MAX to they
	match the Posix.1 constants in <limits.h>.

./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5detect.c
	Added 36 more integer hardware conversion functions to the
	type conversion table for conversions to/from `long long' and
	`unsigned long long'.  The `long long' names will be changed
	shortly to make them portable to Win32.

	Changed H5T_init() to H5T_native_open() and added an
	H5T_native_close() to open and close the predefined native
	data types.

	Increased the initial size of the type conversion table from
	64 to 128 entries.

	Reordered the 90 new integer conversion functions so the names
	that are printed favor `int' over `short' or `long' when two
	of them are the same.

./test/dtypes.c
	Added hardware and software integer conversion tests for the
	56 functions I added recently but not the additional 36
	checked in this time.  That will come next.

	Call H5close() after each test so type conversion statistics
	are easier to follow.  Try this: $ HDF5_DEBUG=t ./dtypes

	Added more debugging output for when things go wrong.

./src/H5private.h
	Removed trailing carriage-returns inserted by broken operating
	system ;-)
1998-11-18 13:40:09 -05:00
Robb Matzke
2bfbf4f707 [svn-r773] Changes since 19981019
----------------------

./src/H5Fistore.c
	Improved the hash function so it mixes bits better.  This
	results in a few percent improvement in raw data chunk cache
	efficiency because there are fewer collisions.

./test/chunk.c
	Added #define's for chunk preemption `w0' value and number of
	slots in cache.

./src/H5B.c
	Added some more comments to H5B_insert_helper() and
	H5B_remove_helper()  and also point to some additional
	documentation.
1998-10-21 10:14:15 -05:00
Robb Matzke
beab7f66e5 [svn-r730] Changes since 19980928
----------------------

./MANIFEST
	Changed freebsd2.2.1 to freebsd2.2.7 to match change in file name.

	Added a few missing files.  Are all of these supposed to be
	distributed?

	  ./tools/testfiles/h5dumptst.c
	+ ./tools/testfiles/tall-1.ddl
	+ ./tools/testfiles/tall-2.ddl
	+ ./tools/testfiles/tall-3.ddl
	  ./tools/testfiles/tall.ddl
	  ./tools/testfiles/tall.h5
	+ ./tools/testfiles/tattr-1.ddl
	+ ./tools/testfiles/tattr-2.ddl
	+ ./tools/testfiles/tattr-3.ddl
	+ ./tools/testfiles/tattr-4.ddl
	  ./tools/testfiles/tattr.ddl
	  ./tools/testfiles/tattr.h5
	+ ./tools/testfiles/tdset-1.ddl
	+ ./tools/testfiles/tdset-2.ddl
	+ ./tools/testfiles/tdset-3.ddl
	+ ./tools/testfiles/tdset-4.ddl
	  ./tools/testfiles/tdset.ddl
	  ./tools/testfiles/tdset.h5
	+ ./tools/testfiles/tgroup-1.ddl
	+ ./tools/testfiles/tgroup-2.ddl
	+ ./tools/testfiles/tgroup-3.ddl
	  ./tools/testfiles/tgroup.ddl
	  ./tools/testfiles/tgroup.h5
	+ ./tools/testfiles/tslink-1.ddl
	+ ./tools/testfiles/tslink-2.ddl
	  ./tools/testfiles/tslink.ddl
	  ./tools/testfiles/tslink.h5

./src/H5B.c
./src/H5Bprivate.h
./src/H5D.c
./src/H5Dprivate.h
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5Gstab.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5Sall.c
./src/H5Shyper.c
./src/H5Spoint.c
./src/H5Sprivate.h
./test/istore.c
	Implemented split ratios as documented in previous
	e-mails. Frank, the new API functions are H5Pget_btree_ratios()
	and H5Pset_btree_ratios().

./src/H5Sall.c
./src/H5Shyper.c
./src/H5Spoint.c
./src/H5Sprivate.h
	Added more type checking for the data transfer property list
	passed to these functions.

./src/H5D.c
	Added a dataset transfer property list as an argument to
	H5D_allocate() for the parallel version in order to pass split
	ratios down to H5F_istore_lock().  Eventually we won't need
	the split ratios for H5D_allocate() because we'll build a
	completely full B-tree from the leaves up, but it might be
	useful to have other transfer properties at that level
	anyway.  I always caled H5D_allocate() with &H5D_dflt_xfer.

./MANIFEST
./test/Makefile.in
./test/overhead.c	[NEW]
	Added an `overhead' test run by `make timings'.
1998-09-30 13:50:49 -05:00
Robb Matzke
c0941f01e3 [svn-r726] Changes since 19980924
----------------------

./MANIFEST
./src/H5B.c
./src/H5Bprivate.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gprivate.h
./test/Makefile.in
./test/unlink.c		[NEW]
	Finished H5Gunlink() and H5Grename().

./src/H5F.c
./src/H5Fistore.c
./src/H5Fprivate.h
	Removed the last memcpy() from the chunk cache.

./src/H5Fistore.c
	The offset of a chunk within a dataset is an 8-byte quantity
	per dimension instead of 4 bytes.

./src/H5HL.c
	Fixed infinite loops in H5HL_remove().
1998-09-28 09:20:21 -05:00
Robb Matzke
6d9af58391 [svn-r714] Changes since 19980911
----------------------

This checkin is to fix a couple bugs for Jim Reus.  Some features are
not fully implemented but it shouldn't break anything.

./config/conclude.in
./test/Makefile.in
	`make clean' removes object files from the test directory as
	well as a couple more *.h5 temp files.

./config/hpux9.03		[NEW]
	New config file for HP/UX 9.03

./src/H5B.c
./src/H5Bprivate.h
./src/H5Fistore.c
./src/H5G.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gstab.c
	Not-yet-complete version of object removal.

./src/H5Fistore.c
./src/H5Fprivate.h
	Experimental optimizations, disabled by default.

./src/H5Fprivate.h
	Default low-level driver was changed to H5F_LOW_SEC instead of
	H5F_LOW_STDIO because the sec2 driver is much easier to debug.

./src/H5Fsplit.c
./src/H5G.c
./src/H5Z.c
	Changed a couple return statements to HRETURN.

./src/H5Odtype.c
	Removed a check for nested compound data types from back when
	they weren't implemented that raised an error.

./tools/h5tools.c
	Increased temp buffer sizes and added a check for buffer
	overflow so we fail an assertion (hopefully).  This really
	needs to be fixed sometime.

	Added support for printing H5T_STRING data types.
1998-09-22 10:27:26 -05:00
Robb Matzke
34f5a59b9e [svn-r398] Changes since 19980501
----------------------

./src/H5Bprivate.h
./src/H5F.c
./src/H5Ffamily.c
./src/H5Fprivate.h
./src/H5Gpkg.h
./src/H5MF.c
./src/H5P.c
./src/H5Ppublic.h
./test/big.c
./html/Big.html
./html/Files.html
	Family members can now be any size >1kB.  Got rid of some
	places where we were reading a property list after it was
	closed.

./MANIFEST
./src/Makefile.in
./src/h5repart.c
	A program to repartition file families.  The source and/or
	destination may be files or file families.  Examples:

	   testhdf5 -c -o stab
	   h5repart -m 1m   tstab2.h5 x%05d.h5
	   h5repart -m 100k x%05d.h5  y%05d.h5
	   h5repart         y%05d.h5  z.h5
	   diff tstab2.h5 z.h5

./src/h5ls.c
	Added a usage message, replaced assertions with error
	messages.

./config/linux
	Made a warning message more obvious.  Added better
	optimization flags for Pentium-Pro's.
1998-05-13 12:58:24 -05:00
Robb Matzke
011457075e [svn-r353] Changes since 19980414
----------------------

./html/Compression.html          [NEW]
./html/Datasets.html
./html/H5.format.html
./html/H5.user.html
        Documented compression.  A couple of the H5P functions aren't
        quite implemented yet but they're coming soon...

./src/H5Dprivate.h
./src/H5E.c
./src/H5Epublic.h
./src/H5Farray.c
./src/H5Fistore.c
./src/H5Fprivate.h
./src/H5MF.c
./src/H5MFprivate.h
./src/H5O.c
./src/H5Ocomp.c         [NEW]
./src/H5Oprivate.h
./src/H5P.c
./src/H5Ppublic.h
./src/H5Sprivate.h
./src/H5Ssimp.c
./src/H5Z.c             [NEW]
./src/H5Zprivate.h      [NEW]
./src/H5Zpublic.h       [NEW]
./src/Makefile.in
./src/hdf5.h
./test/dsets.c
./test/istore.c
        Compression is now mostly working.  Don't try to open a
        compressed dataset though because the compression message
        won't be read.

./html/Datatypes.html
./html/H5.api.html
./src/H5.c
./src/H5private.h
./src/H5D.c
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
        Added timing support.  When compiled with H5T_DEBUG defined
        the library will print conversion bandwidths when the library
        closes.  The H5Tregister functions take a string as the first
        argument so the statistics output is meaningful.

./MANIFEST
        Added new files.

./configure.in
./src/H5config.h.in
        Check for getrusage().  Check for compress2() in libz.a and
        the zlib.h header file.  Added `z' to the debug list.

./src/H5B.c
./src/H5Bprivate.h
./src/H5Gnode.c
./src/debug.c
        Cleaned up some indentation and added support to print istore
        B-trees.  From the debugger, give the B-tree address and the
        dimensionality from the layout message of the object header.

./src/h5ls.c
        The oid is printed as  wy:z where w and x are the file ID
        and y and z are the OID within the file.  You can give z or
        y*2^32+z as an argument to the debugger to print the object
        header for the object.

./src/H5AC.c
        Cleaned up statistics and made them match those reported by
        H5T and H5Z.

./src/H5MM.c
./src/H5MMprivate.h
./src/H5Fistore.c
        Finally got rid of a couple of long-standing const cast
        warnings.
1998-04-17 16:29:43 -05:00
Robb Matzke
c01750fa74 [svn-r338] Changes since 19980407
----------------------

./src/H5B.c
./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.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/H5Fsplit.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5MF.c
./src/H5MFprivate.h
./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Oprivate.h
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5P.c
./src/H5Ppublic.h
./src/H5S.c
./src/H5Sprivate.h
./src/H5Spublic.h
./src/H5Ssimp.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5V.c
./src/H5Vprivate.h
./src/H5private.h
./src/H5public.h
./src/h5ls.c
./test/cmpd_dset.c
./test/dsets.c
./test/extend.c
./test/external.c
./test/hyperslab.c
./test/iopipe.c
./test/istore.c
./test/shtype.c
./test/tfile.c
./test/th5s.c
	Anything having to do with the size of a dataset now uses the
	types `hsize_t' and `hssize_t' which must be the same size and
	at least as large as `size_t'.  This isn't fully tested yet,
	so hsize_t and hssize_t are defined as size_t and ssize_t in
	H5public.h.  Setting them to larger values will trip up gcc
	versions less than 2.8.1 on x86 platforms.

	Documented unused function formals with `__unused__' before
	the formal name.  This also has the effect of supressing
	warning messages for gcc since it's defined to be
	`__attribute__((unused))' in the H5private.h file.

./src/debug.c
./src/h5ls.c
	If the file name contains a `%' then the file is opened as a
	file family with H5P_DEFAULT for the file member access
	property list.

./src/h5ls.c
	The group name is optional, defaulting to `/'.

./src/hdf5.h
	Added some missing public header files.
1998-04-08 16:43:02 -05:00
Robb Matzke
2ed9aa69f7 [svn-r328] Changes since 19980318
----------------------
./src/H5B.c
./src/H5Bprivate.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gpublic.h
./src/H5Gstab.c
	Implemented H5Giterate().  However, since most functions can't
	take a group ID in place of a file ID yet, there's not a whole
	lot that the operator can do besides print the name or something.

./test/H5O.c
	Fixed writing of four uninitialized bytes to the file as part
	of an object header.

./test/istore.c
	For some reason, `mpirun -np 1 istore' results in extra
	arguments on the command line that istore doesn't understand.
	I'm probably forgetting to call some MPI function in
	main(). Albert, Kim?  So I commented out the `exit(1)' for the
	time being.
1998-03-24 09:53:57 -05:00
Robb Matzke
dec0c95436 [svn-r165] Changes since 19980122
----------------------

./src/H5.c
./src/H5B.c
./src/H5Bprivate.h
	Changed `new' to something else in 6 places for Fabio.

./src/H5T.c
./src/H5Tconv.c
	Beginning to work on compound data type conversion. Don't look
	yet :-)
1998-01-22 14:57:48 -05:00
Robb Matzke
a0ee2c57e9 [svn-r164] Changes since 19980122
----------------------

./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'.
1998-01-22 11:41:32 -05:00
Quincey Koziol
c2c94c3187 [svn-r157] Reformatted code with indent... 1998-01-16 17:23:43 -05:00
Robb Matzke
082dd8cda9 [svn-r139] ./src/*.[ch]
Removed the interface initialization argument from
	FUNC_ENTER() and made it a locally-defined preprocessor
	symbol, INTERFACE_INIT.

	Changed `offset' to `address' and `length' to `size' in
	documentation so it's more consistent.  `Offset' still appears
	occassionally when it refers to a byte offset within some
	other data structure.

	Moved interface termination function prototypes from public
	header files to .c files and made them static.

./src/H5.c
./src/H5public.h
	Added H5init() because it's possible that the predefined data
	types are not initialized.  This happens only if the first
	call to the hdf5 library passes a predefined data type symbol
	as an argument.  There should be some way to fix this...

./src/H5A.c
./src/H5Aprivate.h
./src/H5Apublic.h
	The free_func returns SUCCEED or FAIL, although the return
	value is ignored by H5A.  This is so we can use the various
	H5*_close() functions to free things.

	H5Ainc_ref() and H5Adec_ref() are no longer public.  Many of
	the other atom functions should also be made private, but I'll
	save that for later...

	Added additional template groups called H5_TEMPLATE_0 through
	H5_TEMPLATE_7 that are used by the various template
	subclasses.

	Increased the number of bits used for atom groups to prevent
	negative atoms.

./src/H5AC.c
./src/H5ACprivate.h
	Changed H5AC_new() to H5AC_create() to make names more consistent.

./src/H5B.c
./src/H5Bprivate.h
	Changed H5B_new() to H5B_create() to make names more consistent.

./src/H5C.c
./src/H5Cprivate.h
./src/H5Cpublic.h
	Now supports multiple subclasses of templates, although it's
	done with big switch statements.  The default values for
	templates are defined in the source file to which that
	template belongs.  This got rid of lots of needless
	preprocessor constants.

	Added H5Ccreate() to create a new template.  Changed
	H5C_release() to H5Cclose() to make the naming more
	consistent.

./src/H5D.c
./src/H5Dprivate.h
./src/H5Dpublic.h
	Enhanced to use the new dataset interface, and uses the enhanced
	data type and data space interfaces, which haven't been
	completely implemented.  The dataset interface doesn't handle
	non-contiguous storage, compression, or data type and space
	conversions yet.

./src/H5F.c
./src/H5Fprivate.h
./src/H5Fpublic.h
	Removed H5Fflush() since just calls H5F_flush(), which doesn't
	do what the user would probably think it does, namely, flush
	everything.  It only flushes those things sitting in the H5AC
	cache and the boot block.

	Changed the `file_create_parms' field of H5F_low_t to just
	`create_parms' since the `file' part is obvious.

./src/H5Fistore.c
	Added some support for external files.  Mostly just in the
	file format and not supported much by the library yet. I need
	to finish some dataset functions first.

	Changed H5F_istore_new() to H5F_istore_create() to make names
	more uniform across packages.

./src/H5Flow.c
	Flushing a file causes the file to be physically extended to
	the logical eof.  This prevents H5F_open() from thinking a
	file has been truncated.  Most of the time the file will
	already be that large, and when it isn't Unix will often just
	allocate the final block anyway.

./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gstab.c
	Removed H5G_basename()

	Removed (temporarily) data type information from symbol table
	entries and renamed H5G_CACHED_SDATA to H5G_CACHED_SDSPACE to
	reflect that it's a simple data space and has nothing to do
	with raw data.

	Changed H5G_node_new() to H5G_node_create() and H5G_stab_new()
	to H5G_stab_create() to make names more uniform across
	packages.

	Fixed an undefined address bug that happens when H5G_node_debug()
	program doesn't pass enough info to H5G_node_load().

./src/H5H.c
./src/H5Hprivate.h
	Changed H5H_new() to H5H_create() to make the names more
	uniform across packages.

./src/H5M.c
./src/H5Mprivate.h
./src/H5Mpublic.h
	Nulled all the create functions.  Most of the other callbacks
	are to public functions.  Removed H5Mcreate().

	Changed hobjtype_t to group_t since it has to be the same
	thing anyway.

./src/H5O.c
./src/H5Oprivate.h
./src/H5Osdim.c
./src/H5Osdtyp.c
	Changed H5O_SIM_DIM to H5O_SDSPACE (simple data space) since
	`simple data space' is its official name, not `simple
	dimensions'.  Will eventually add H5O_CDSPACE for comples data
	spaces. Changed _sim_dim_ to _dspace_.

	Replaced H5O_SIM_DTYPE and the compound data type messages
	with a single H5O_DTYPE message. Changed _sim_dtype_ to _dtype_.

	Changed H5O_STD_STORE to H5O_CSTORE (contiguous storage) since
	contiguous storage is not necessarily standard.  Changed
	_std_store_ to _cstore_ in H5Ocstore.c

	Added the H5O_EFL (external file list) message.

	Changed H5O_new() to H5O_create() to make names more uniform
	across packages.

./src/H5Oefl.c		NEW
	External file list message for specifying which non-hdf5 files
	contain raw data for a dataset.

./src/H5P.c
./src/H5Pprivate.h
./src/H5Ppublic.h
	Renamed and moved data structures to make the names conform to
	our naming scheme.

./src/H5T.c
./src/H5Tprivate.h
./src/H5Tpublic.h
./src/H5Tpkg.h		NEW
	Data structures redesigned to be more flexible.  The interface
	was redesigned to make it more regular and to make some names
	more uniform across packages.

./src/H5detect.c
	Output was changed to produce a file that conforms to the hdf5
	coding standard.

./src/Makefile.in
	Generates H5Tinit.c by running H5detect.

./src/debug.c
	Moved command argument processing.
1997-12-10 17:41:07 -05:00
Robb Matzke
cdeeb5553a [svn-r136] ./MANIFEST
./src/Makefile.in
	Added H5Ffamily.c and H5Fsplit.c

./src/H5B.c
./src/H5Bprivate.h
./src/H5Gnode.c
	Added `const' to sublass arguments.

./src/H5F.c
./src/H5Flow.c
./src/H5Fsec2.c
	Make sure file buffers get flushed during a call to
	H5Fflush().  Check for overflow in address encoding and decoding.

./src/H5Ffam.c
./src/H5Fprivate.c
./test/istore.c
	Implementation of file families so 32-bit machines can access
	64-bit files.

./src/H5Oprivate.h
	Removed H5O_NO_ADDR constant.

./config/freebsd2.2.1
./config/linux
	Added -DH5G_DEBUG and -DH5F_DEBUG to the list of debugging flags.

./html/H5.format.html
	Changed some <offset>-sized things to <length>-sized things.

./src/H5AC.c
./src/H5ACprivate.h
./src/H5B.c
./src/H5Bprivate.h
./src/H5C.c
./src/H5D.c
./src/H5F.c
./src/H5Fcore.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gent.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gshad.c
./src/H5Gstab.c
./src/H5H.c
./src/H5Hprivate.h
./src/H5MF.c
./src/H5MFprivate.h
./src/H5O.c
./src/H5Ocont.c
./src/H5Oistore.c
./src/H5Oprivate.h
./src/H5Ostab.c
./src/H5Ostdst.c
./src/H5pivate.h
./src/debug.c
./test/istore.c
./test/theap.c
./test/tohdr.c
./test/tstab.c
	Lots of changes caused by generalizing addresses.  The haddr_t
	is now a struct, so you can no longer perform arithmetic on
	it. But since it's small, simple, and often used, storage is
	allocated like with an integer.  But we always pass them
	around by reference.  That is, when using an address in
	another struct, allocate space:

		struct my_struct {
		   char *name;
		   haddr_t address;
                } x;

	But when passing it to a function, pass by reference:

		H5F_addr_print (stderr, &(x.address));

	Addresses should be initialized with

		H5F_addr_undef (&(x.address));

	Functions for operating on addresses are in H5Flow.c and begin
	with H5F_addr_...  Functions never return haddr_t or haddr_t*;
	they always pass them through arguments instead. A function
	that returns an address through an argument does so with its
	last argument and it is marked with `/*out*/'.  Calls to such
	functions also mark output-only arguments with `/*out*/'

./src/H5Fsplit.c       (new)
	A two-member family where all meta data goes in the first
	member and all raw data goes in the second member.

./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5Gnode.c
./src/H5H.c
./src/H5MF.c
./src/H5MFprivate.h
./src/H5O.c
	Differentiate between meta data storage and raw data
	storage. Provide a mechanism so that the file driver can
	extend the file to allocate more memory.

./src/H5E.c
./src/H5Epublic.c
	Added the error H5E_TRUNCATED to be reported when the file is
	shorter than the length recorded in the boot block.

./src/H5F.c
	Added H5F_locate_signature() so we only do it in one place
	now.

./INSTALL
./INSTALL_MAINT
	Just a couple clarifications.

./html/ExternalFiles.html
./html/storage.html
	Documents how external files work.

./test/hyperslab.c
./test/istore.c
	Fixed printf's on 64-bit machines.

./test/istore.c
	Added ifdef's to test the split file driver.
1997-11-14 09:42:14 -05:00
Robb Matzke
7389762766 [svn-r135] ./config/linux
./config/freebsd2.2.1
        Rewritten to be more flexible.

./src/H5AC.c
./src/H5ACprivate.h
./src/H5F.c
./src/H5H.c
./src/H5Gpkg.h
./src/H5Gshad.c
./src/H5O.c
./test/istore.c
./test/tstab.c
        Accumulates cache statistics and displays the results on
        stderr when the file is closed if it was opened with
        H5F_ACC_DEBUG passed into H5F_open()

./src/H5B.c
./src/H5Bprivate.h
./src/H5Fistore.c
./src/H5Gnode.c
        Added more debugging which is turned on if H5B_DEBUG is
        defined on the compile command (see config/linux).

        Fixed a couple of bugs with left insertions which are used by
        the indexed storage stuff.

./src/H5Flow.c
        Fixed a memory leak.

./src/H5Fprivate.h
        Fixed warnings about shifting more than size of object.

./src/H5Fstdio.c
        Fixed seek optimizations back to the way Quincey originally
        had them.

./src/H5V.c
        Removed unused variables.
1997-11-07 00:16:53 -05:00
Robb Matzke
56ad55117a [svn-r129] Changes since 19970916
----------------------

./config/depend.in
	Fixed backslashes in sed script because the H5Gnode.c
	dependency info was disappearing.  You'll have to rerun
	config.status to rebuild the Makefiles unless you use gnu
	make.

./config/conclude.in
	Also removes emacs backup files, TAGS, and svf backup files.

./config/linux
	Grouped gcc flags and added provisions for debugging vs. production.

./html/H5.format.html
	Updated messages 0x0008, 0x0009, and 0x000A.

./html/storage.html
	Documentation describing storage schemes.

./src/Makefile.in
./test/Makefile.in
	New source files.

./src/H5A.c
./src/H5Apublic.h
./src/H5C.c
	Changed VOIDP to void* in a couple places.

./src/H5AC.c
./src/H5ACprivate.h
./src/H5B.c
./src/H5Bprivate.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gprivate.h
./src/H5H.c
./src/H5O.c
	Removed `const' from some variables because H5G_node_found() wanted
	to modify it's udata argument. Removing const there caused it
	to cascade to these other locations.

./src/H5AC.c
./src/H5ACprivate.h
./src/H5B.c
./src/H5Gnode.c
./src/H5Gstab.c
./src/H5H.c
./src/H5O.c
	Added an extra argument to H5AC_find_f() and H5AC_protect(). This
	arg gets passed to the load() method.  Also added an extra
	argument to the H5AC_find() macro.

./src/H5B.c
./src/H5Bprivate.h
./src/H5Gnode.c
	Extra argument passed to the sizeof_rkey() method.

./src/H5Fprivate.c
./src/H5Fistore.c (new)
	Added indexed I/O operations.

./src/H5G.c
./src/H5Gnode.c
./src/H5Gprivate.h
	Beginning to add H5G_open/close and related bug fixes.

./src/H5Oprivate.h
./src/H5Oistore.c (new)
	Added the H5O_ISTORE messsage (0x0008) for indexed storage of
	objects.

./src/H5private.h
	Added extra braces around both sides of the FUNC_ENTER() and
	FUNC_LEAVE() macros so FUNC_ENTER() can appear before
	declarations or after executable statements the second case is
	used by H5G_namei() to initialize output arguments to sane
	values before FUNC_ENTER() might return failure.

		int f ()
		{
		   int decl1;
		   printf ("This happens before FUNC_ENTER()\n");
		   FUNC_ENTER (...);
		   int another_declaration;

./src/H5B.c
./src/H5Bprivate.h
./src/H5Gnode.c
	Extra arguments for key encoding and decoding.

./src/H5E.c
./src/H5Epublic.h
./src/H5Fistore.c
./src/H5Oistore.c
./src/H5Oprivate.h
	Indexed, chunked, sparse storage (not ready for general consumption
	yet).

./src/H5V.c		(new)
./src/H5Vprivate.h	(new)
./test/hyperslab.c	(new)
	Vector, array, and hyperslab functions.

./src/H5B.c
./src/H5Bprivate.h
./src/H5Fistore.c
./src/H5Gnode.c
./src/H5V.c
./src/H5Vprivate.h
./test/hyperslab.c
	Added functionality for indexed storage.

./src/H5F.c
	Fixed problems with seek optimizing.  Recommend we disable it
	until we can implement it in the file/address class since all
	of HDF5 must be aware of it.

./src/H5O.c
	Fixed comeent speling erorr :-)

./MANIFEST
	Added new files.

./config/conclude.in
	Added the word `Testing' to the test cases.  So if a test
	program is called hyperslab then the make output will contain
	the line `Testing hyperslab'.

./config/linux
	The default file I/O library is Posix section 2 on my linux
	machine so I can do some I/O performance testing.

./src/H5C.c
./src/H5Cprivate.h
./src/H5Cpublic.h
	Added ability to set size of indexed-storage B-tree.

./src/H5D.c
./src/H5E.c
./src/H5Epublic.h
./src/H5F.c
./src/H5Fprivate.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gpkg.h
./src/H5Gprivate.h
./src/H5Gpublic.h
./src/H5Gshad.c
./src/H5Gstab.c
./test/stab.c
	Changed `directory' to `group' in numerous places.

./src/H5private.h
	The FILELIB constant can be set on the compile command-line.

./src/istore.c		     NEW
	Tests for indexed storage.
1997-10-20 18:14:35 -05:00
Robb Matzke
0f7fcaad25 [svn-r111] Changed hdf5_file_t to H5F_t, split data struct ito two halves, fixed
problems when opening the same file more than once.
1997-09-24 11:30:22 -05:00
Robb Matzke
25d866e9b4 [svn-r100] Interim checkin for purify. Also contains H5G shadow stuff, changes
to int64 encode/decode to fix purify on 32-bit systems, changes to
H5O_modify, changes to H5D.c to use H5F_open/close(), etc.
Documentation will be mailed shortly...
1997-09-19 11:36:59 -05:00
Robb Matzke
8656a64d00 [svn-r83] Bug fixed in H5G_namei().
Arg type changes in H5Bprivate.h
Sorted Makefile.in
1997-09-15 14:27:23 -05:00
Robb Matzke
7ead4a900b [svn-r71] Lost my changelog, but basically some new caching functions. 1997-09-10 14:57:56 -05:00
Robb Matzke
bc2b9d9dea [svn-r35] ./src/H5ACproto.h
./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.
1997-08-15 11:51:34 -05:00
Robb Matzke
5cae951549 [svn-r27] ./src/H5B.c
./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.
1997-08-13 10:36:47 -05:00
Robb Matzke
326981f421 [svn-r24] ./src/H5B.c
./src/H5Bprivate.h
./src/H5G.c
	H5B_new() only takes two arguments.

./src/H5C.c
	Fixed initializer for default_file_create to be the same order
	as it's definition.

./src/H5D.c
	Changed commented-out code to #if 0/#endif.  #if'd out a
	variable that was unused because of #if'd out code.

./src/H5Dproto.c
	Added a prototype for H5Dwrite().

./src/H5F.c
	Changed parentheses to fix precedence problems from:

		flags & (~H5AC_OVERWRITE) != 0
	to
		(flags & ~H5AC_OVERWRITE) != 0

./src/H5H.c
	Heap reallocation doubles the heap size instead of tripling it.

./src/H5O.c
	Got rid of a statement with no effect.

./src/hdf5port.h
	Indented a few #defines.  Added a defn for MAX3().
1997-08-11 17:49:59 -05:00
Robb Matzke
a905a3a1e3 [svn-r15] ./src/H5AC.c
./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.
1997-08-07 14:23:00 -05:00
Robb Matzke
6a3cb617d3 [svn-r12] ./src/H5AC.c
Fails sooner if the type of object requested doesn't match
	the type of object cached.

./src/H5B.c
./src/H5Bprivate.h
./src/H5Fprivate.h
./src/H5G.c
./src/H5Gnode.c
./src/H5Gprivate.h
./src/H5H.c
./src/H5Hprivate.h
	Changed lots of `H5*_HDR_SIZE' macros to `H5*_SIZEOF_HDR' to make
	things more consistent.

	Added H5*_SIZEOF_MAGIC macros.

	Added debugging functions to some of the packages.

./src/H5F.c
	Fixed a bug with reading past the end of a buffer.

./src/H5Tproto.h
	Added prototypes for H5Tadd_field() and H5Tget_fields().

./src/debug.c
	Low-level file debugging program.

./src/Makefile
	Builds `debug' as one of the main targets.  The target is
	called `debug_hdf5' so it doesn't conflict with the `debug'
	target that was already there.  But the executable is called
	`debug'.
1997-08-04 11:19:57 -05:00
Robb Matzke
412e5606a8 [svn-r6] Added the next layer of symbol table functions. Given a symbol table
name, they operate to query or modify the corresponding symbol table entry.
They don't understand directory hierarchies (that's the next layer up).

Since the object header stuff isn't done yet, they call four stub functions
that all return failure:

	not_implemented_yet__create_object_header()
	not_implemented_yet__insert_symtab_message()
	not_implemented_yet__get_symtab_message()
	not_implemented_yet__update_symtab_message()

The interface is:

haddr_t H5G_new (file, initial_heap_size)
	Creates a new symbol table.

haddr_t H5G_find (file, symtab_addr, symbol_name, *entry)
	Returns a symbol table entry given the name.

herr_t  H5G_modify (file, symtab_addr, symbol_name, *entry)
	Modifies the symbol table entry for the specified name.

herr_t  H5G_insert (file, symtab_addr, symbol_name, *entry)
	Inserts a new name and symbol table entry pair.

intn H5G_list (file, symtab_addr, maxentries, names[], entries[])
	Returns a list of all names and symbol table entries.
1997-08-01 15:20:33 -05:00
Robb Matzke
fc4bcbc21f [svn-r4] Changed SIZEOF_OFFSET and SIZEOF_SIZE to H5F_SIZEOF_OFFSET and
H5F_SIZEOF_SIZE.  Modified files to use these instead of
	accessing the hdf5_file_t struct directly.

	Changed address return values from H5B to -1 for error.

	Changed off_t to haddr_t for anything that's a file address.
1997-08-01 11:51:29 -05:00
Quincey Koziol
03997b1f36 [svn-r2] Oops... 1997-07-30 16:17:56 -05:00