Commit Graph

19716 Commits

Author SHA1 Message Date
Quincey Koziol
ad2642eee2 [svn-r66] Removed H5ECLEAR call from H5Epush routine. 1997-09-04 08:00:23 -05:00
Quincey Koziol
7ad71c04d4 [svn-r65] Removed Makefile from distribution, started added dataspace test routines. 1997-09-02 14:55:24 -05:00
Quincey Koziol
a079f8246e [svn-r64] Removed from distribution. 1997-09-02 14:55:00 -05:00
Robb Matzke
81f93ab2d7 [svn-r63] *** empty log message *** 1997-09-02 12:56:30 -05:00
Robb Matzke
ede8b12085 [svn-r62] Fixed a stupidity bug. 1997-09-02 12:56:18 -05:00
Robb Matzke
9d41d3679e [svn-r61] ./src/H5.c
Changed atexit() to HDatexit().

./src/H5AC.c
        Changed qsort() to HDqsort().

./src/H5B.c
        Changed memcmp() to HDmemcmp().

./src/H5E.c
./src/H5M.c
        Added parentheses around indirect function calls so that
        checkposix doesn't complain and to advertise that it's an
        indirect function call.

./src/H5F.c
./src/H5G.c
        Added errors field to each function prologue to test the
        script mentioned above.

./src/H5H.c
        Changed fputc() to HDfputc().

./src/H5MM.c
./src/H5MMprivate.h
        The argument for H5MM_xfree() is a pointer to a constant even
        though the argument to free() isn't.  This reduces the number
        of warnings in other parts of the code but creates a new
        warning in this file.

./src/H5O.c
        Plugged a few memory leaks that happen during error handling.

./src/H5Oname.c
./src/debug.c
        Added `HD' to the beginning of some posix functions.
1997-09-02 10:38:26 -05:00
Robb Matzke
07dacb9486 [svn-r60] ./bin/checkposix NEW
Perl script that looks for Posix functions that haven't been
        protected by adding `HD' to the beginning of the name.  It
        takes a list of .c file names as arguments.

./bin/errors                    NEW
        A filter that takes a function prologue and function body as
        standard input and updates the error list in the prologue
        based on the function body.  You must add the `ERRORS' or
        `Errors:' field to the prologue before you pass it through
        this filter or else the errors come out as a separate
        comment.  The errors field must be terminated with a blank
        line in the prologue so we know where the end is.

        I may enhance this in the future to take an entire file as
        standard input instead of individual functions.
1997-09-02 10:37:49 -05:00
Quincey Koziol
064648a1f6 [svn-r59] Added [basic] testing for H5T interface, which appears to be working well. 1997-08-29 18:19:22 -05:00
Quincey Koziol
38a4745563 [svn-r58] Added H5Tget_type and a few minor bug-fixes. 1997-08-29 18:18:35 -05:00
Quincey Koziol
ee40da82df [svn-r57] Fixed bug in "reserved" atoms code which was not actually reserving the
atoms. :-)
1997-08-29 17:38:35 -05:00
Robb Matzke
ec80e5939f [svn-r56] ./test/tohdr.c
Testing H5O_remove() and H5O_load().

./test/tstab.c
	Uncommented call to H5O_read() since H5O_remove() is
	implemented now.
1997-08-29 17:23:22 -05:00
Robb Matzke
cbf1f8dbb5 [svn-r55] ./src/H5F.c
Added H5Fflush() and H5F_flush() which flush (and optionally
	invalidate the cache) and flush the file boot block.

	H5Fcreate() calls H5F_flush() to output the boot block.

	H5Fclose() calls H5F_flush() to update the boot block.

	H5F_debug() prints the root symbol table entry.

./src/H5Fpublic.h
	Added H5Fflush() prototype.

./src/H5G.c
	The name message is removed when an object moves from the root
	object position into a directory.

	Added H5G_debug() to print a symbol table entry.  Most of the
	code was just moved from H5G_node_debug().

./src/H5Gnode.c
	Moved some debugging code into H5G_debug().

./src/H5Gprivate.c
	Added H5G_debug() prototype.

./src/H5O.c
	Implemented H5O_remove().

	Added identifiers for H5O_SIM_DIM and H5O_SIM_DTYPE so they
	can be read from files.

	H5O_load() combines adjacent null messages for better memory
	management.

./src/H5Oprivate.h
	Changed minimum header data block size from 16 to 32 bytes.

	Changed prototype for H5O_remove()
1997-08-29 17:23:04 -05:00
Quincey Koziol
3ea316ff54 [svn-r54] *** empty log message *** 1997-08-29 14:26:45 -05:00
Quincey Koziol
39a94b2f53 [svn-r53] Added datatype and dimensionality messages to dataset header, cleaned up more
code, etc.
1997-08-29 14:26:32 -05:00
Robb Matzke
c48f8b7590 [svn-r52] ./src/H5O.c
If the symbol table entry doesn't change then the ent_modified
        argument to H5O_modify() doesn't change.  This allows us to
        set ent_modified to false and then call H5O_modify() a whole
        bunch of times and easily determine if any of the calls
        modified the symbol table entry.

./src/H5D.c
        Fixed caching of things in the symbol table entry using the
        scheme we came up with a couple months ago.
1997-08-29 14:05:50 -05:00
Robb Matzke
3d526ab6cb [svn-r51] ./test/tstab.c
./test/tohdr.c
./test/tmeta.c
./test/theap.c
./test/tfile.c
./test/testhdf5.h
./test/testhdf5.c
	Changed the MESSAGE macro so it doesn't have a semicolon
	inside the argument list and automatic indentation tools work
	better.

	Old call:  MESSAGE (5, printfunc("foo%s %d", s, i););
        New call:  MESSAGE (5, ("foo%s %d", s, i));

	The parentheses are required.

./test/tstab.c
	Added more tests.
1997-08-29 11:59:28 -05:00
Robb Matzke
9ada2de83a [svn-r50] ./src/H5G.c
Commented out H5G_basename(). Fixed a bug in H5G_namei() and
	H5G_insert().

./src/H5O.c
	Fixed a bug in H5O_modify()
1997-08-29 11:58:58 -05:00
Robb Matzke
969654ce45 [svn-r49] ./src/H5D.c
Changed H5D_flush() to work with the new symbol table
        functions.  I just remembered that caching data in the symbol
        table entries still needs some work, so there's a line in
        there that invalidates the symbol table entry cache.

        Also, there are some comments in there with the word `Quincey'
        for you to read about inserting the messages in the dataset
        object header.
1997-08-28 14:25:10 -05:00
Quincey Koziol
1fa56d8b29 [svn-r48] Fixed H5Cgetparm tests to use uint8 for the offset and length parameters. 1997-08-28 12:15:18 -05:00
Quincey Koziol
a39e0ef324 [svn-r47] Finished flashing out the H5M* functions calls. Cleaned up non-compiling
source.  Finished adding in remainder of H5Osdtyp.c functions.
1997-08-28 12:14:35 -05:00
Quincey Koziol
e8d5c25431 [svn-r46] *** empty log message *** 1997-08-28 12:13:32 -05:00
Robb Matzke
21ac9cde56 [svn-r45] ./test/tstab.c
No longer calls H5G_mkroot().
1997-08-28 11:38:31 -05:00
Robb Matzke
2707808297 [svn-r44] ./src/H5D.c
I commented out a bunch of code in H5D_flush() so I could
	compile and link the test cases.  If you commit your changes
	to that file, whatever they may be, I'll change H5D_flush() to
	use the new directory functions described below...

./src/H5G.c
	H5G_namei()
	-----------
	Understands files without directories. The root object
	(directory or not) can be found by asking for `/' (or any
	equivalent absolute or relative name like `/.//.///' or
	`.//.///' (if the cwd is the root)) or by name like `/foo' (or
	any other equivalent absolute or relative name) if the object
	has a name message with the value `foo'.  This function is
	used by most of the other H5G functions so they now understand
	directory-less files too.

	H5G_new()
	---------
	Creates the root directory implicitly if it doesn't already
	exist, moving any previous non-directory root object into the
	new root directory before creating the requested directory
	within the root.  The creation of the root directory happens
	first, regardless of whether the requested directory creation
	succeeds.  Once the root directory is created it never
	disappears even if the file later has only one object.  This
	"feature" can be used to force a file to have a root directory
	by saying something like:

	  H5G_new (..., "/", ...);
	  H5ECLEAR; /*we don't care about the H5E_EXISTS failure*/

	The H5G_new() in the previous example fails because the root
	directory is created implicitly before we attempt to create
	the requested "/" directory.

	H5G_find()
	----------
	Understands files without directories.  If there is no root
	object then this function is guaranteed to fail even if the
	request is for `/'.  As mentioned for H5G_namei(), the root
	object can be retrieved with `/' or `/foo' (or equivalent
	absolute or relative names).

	H5G_insert()
	------------
	Understands files without directories and attempts to create
	such files when there is only one object.  The root symbol
	table is created implicitly when necessary.

	A root object can be given a name message by the caller and
	then inserted with the name `/' or it can be inserted with
	the name `/foo' in which case H5G_insert() will set the name
	message to `foo'.

	H5G_modify()
	------------
	Understands files without directories.

./src/H5Fprivate.h
	Removed the root_type field from hdf5_file_t.

./src/H5Fprivate.h
./src/H5F.c
	Removed H5F_root_type()

./src/H5Fpublic.h
	Removed H5F_root_symtype_t.

./src/H5Oprivate.h
./src/H5O.c
	Added H5O_remove() which is currently a no-op.
1997-08-28 11:37:58 -05:00
Robb Matzke
ae4e423133 [svn-r43] *** empty log message *** 1997-08-28 11:36:57 -05:00
Quincey Koziol
31ff3e40a0 [svn-r42] Minor tweaks to correct parameters for H5O_new 1997-08-26 14:51:49 -05:00
Quincey Koziol
ed257f0958 [svn-r41] Interim checkpoint of dataset code for Robb to look at. 1997-08-26 12:01:18 -05:00
Quincey Koziol
99d621130d [svn-r40] Changed comments about length and offset parameters from uintn to uint8 1997-08-22 17:25:07 -05:00
Quincey Koziol
c4ed232b2c [svn-r39] Fixed incorrect comment about 'buf' parameter in H5Csetparm 1997-08-22 17:05:29 -05:00
Quincey Koziol
23ae34e586 [svn-r38] Code review changes to H5Csetparm & H5Cgetparm:
error checking on atom group of template in both funcs
    range checking of parameters in H5Csetparm
1997-08-22 11:15:49 -05:00
Robb Matzke
7d9941f5c5 [svn-r37] *** empty log message *** 1997-08-15 11:54:08 -05:00
Robb Matzke
bcbe95cad0 [svn-r36] ./test/testhdf5.c
./test/testhdf5.h
./test/tfile.c
./test/theap.c
./test/tmeta.c
./test/tohdr.c
./test/tstab.c
	Fixed include files.

./test/Makefile.in	NEW
./test/Makefile
	Removed Makefile; it is now generated from Makefile.in by
	configure.
1997-08-15 11:53:11 -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
9c6f65ec24 [svn-r34] ./config/commence.in NEW
./config/conclude.in	NEW
	Templates for the beginning and end of each Makefile.

./config/depend.in	NEW
	Template for the part of the Makefile that generates source
	dependencies.

./config/freebsd2.2.1	NEW
./config/linux		NEW
	Personal preference files.  These are not part of a
	distribution but are for fine tuning configure for particular
	systems and are used by the HDF5 maintainers.
1997-08-15 11:40:24 -05:00
Robb Matzke
d61f4c0ed5 [svn-r33] ./bin/config.guess NEW
./bin/config.sub	NEW
	Shell scripts for guessing the CPU, vendor name, and operating
	system.  Used by configure.

./bin/install-sh        NEW
	A portable BSD-compatible install script which is used if a
	BSD-compatible `install' can't be found.
1997-08-15 11:38:05 -05:00
Robb Matzke
8ec38c06f4 [svn-r32] ./INSTALL NEW
Instructions for end users.

./INSTALL_MAINT	        NEW
	Instructions and hints for maintainers.

./MANIFEST		NEW
        A list of names of files that are part of the HDF5
        distribution.

./Makefile.in		NEW
	Top-level makefile template.  See INSTALL and/or INSTALL_MAINT
	for instructions on how to generate the Makefile from this
	file.

./configure		NEW
./configure.in		NEW
	Configuration shell script generated from configure.in.

./Makefile
	Removed from CVS.  This file is now generated by running
	configure.
1997-08-15 11:35:53 -05:00
Quincey Koziol
fdb45fa4fa [svn-r31] Added code for H5Mget_file & H5Mflush and re-targeted some of the H5D calls
to use them.
1997-08-15 11:06:12 -05:00
Quincey Koziol
876badec3f [svn-r30] Intermediate checkin of (non-working) dataset code to allow for source code
rearrangement.
1997-08-15 09:36:27 -05:00
Quincey Koziol
2339599b7c [svn-r29] Added 'debug' executable to clean target 1997-08-15 09:35:46 -05:00
Robb Matzke
5b66a4928e [svn-r28] ./test/tfile.c
Removed tests for H5_BTREEPAGE_SIZE and added tests for
	H5_SYM_LEAF_K and H5_SYM_INTERN_K.

./test/tstab.c
	Removed call to H5O_link() since it's handled by H5G_insert().
1997-08-13 10:37:09 -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
46ef9d9c26 [svn-r26] ./test/tfile.h
Removed unused local variables.

./test/tstab.c
	Now uses directory-aware functions which in turn call the
	unaware functions.
1997-08-12 17:46:07 -05:00
Robb Matzke
fb947c34b1 [svn-r25] ./src/H5AC.c
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()
1997-08-12 17:44:46 -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
Quincey Koziol
eec23941ab [svn-r23] A user's view of a basic HDF5 file. 1997-08-11 12:03:49 -05:00
Quincey Koziol
5d32282b5e [svn-r22] Reasonable, high-level BNF-like description of the structure of an HDF5 file. 1997-08-11 12:03:23 -05:00
Quincey Koziol
8b630f536a [svn-r21] [Very] Basic flowchart of allowable excecution flow through the HDF5 library. 1997-08-11 12:02:36 -05:00
Quincey Koziol
097972b7da [svn-r20] Upgraded function comment header for H5Fcreate to be the the template for
future functions...
1997-08-11 11:10:38 -05:00
Quincey Koziol
9b80b8ff79 [svn-r19] Added new minor error code - H5E_BADVALUE, for arguments with only a single
incorrect value.
1997-08-11 11:09:29 -05:00
Robb Matzke
bae16b355d [svn-r18] ./src/hdf5plat.h
Added defn for int64 and uint64 on irix.  It seems to be
	wrong, but at least things compile and run.  This file will go
	away with autoconf anyway.

./test/testhdf5.c
./test/Makefile
	Added tstab.c

./test/testhdf5.h
	Added tstab.c

	Fixed bugs with CHECK_I() and CHECK_PTR().
1997-08-09 11:47:25 -05:00
Robb Matzke
a260c7849c [svn-r17] ./src/H5AC.c
Renamed H5AC_find() to H5AC_find_f() which is invoked from the
	H5AC_find() macro.

	Changed HASH() to H5AC_HASH().

./src/H5ACprivate.h
	Increased the number of cache slots from 1033 to 10330 to see
	how it affects performance.  This should probably be
	changeable on a per-file basis.

./src/H5B.c
	Fixed some bugs now that symbol tables are actually using the
	stuff.

	Improved debugging a little.

	Fixed uninitialized memory appearing in the file.

./src/H5D.c
	Changed a FUNC_ENTER() argument from H5Dset_info to H5Dwrite.

./src/H5F.c
	Plugged a memory leak in H5F_dest().

./src/H5G.c
./src/H5Gprivate.h
	Many of these functions take a symbol table entry which
	describes the symbol table rather than just the symbol table
	address.

	Moved some functions to make room for the ones that understand
	directory names:
		  H5G_new()	-> H5G_stab_new()
		  H5G_find()	-> H5G_stab_find()
		  H5G_modify()	-> H5G_stab_modify()
		  H5G_insert()	-> H5G_stab_insert()
		  H5G_list()	-> H5G_stab_list()

./src/H5Gnode.c
	Added more assertions.

	Zero new memory so junk doesn't appear in the data file.  This
	is a problem when one tries to declassify a classified data
	file.

	H5G_node_debug() can take an extra argument which is the
	address of the heap for the symbol table.  If supplied, the
	symbol names are printed along with the heap offsets.

./src/H5H.c
./src/H5Hprivate.h
	Fixed a bug with the free blocks by forcing things to align on
	even boundaries.  It's still possible to lose heap memory if
	the hole is smaller than the free list header.  The
	alternative is to align heap objects on 12 or 20 byte
	boundaries, but this tends to waste to much space.

	Zero new memory like with H5Gnode.c.

	Fixed a "mispeling" of NDEBUG.

./src/H5Ocont.c
./src/H5Onull.c
	Added the pablo mask defn.

./src/H5Ostab.c
	Added the pablo mask defn.

	Fixed a read from uninitialized memory.

./src/H5Oprivate.h
	Tuned some parameters to see how they affect performance.

./src/debug.c
	An optional third argument can be supplied which is the
	address of a heap to use to display names in a symbol table.

./src/hdf5pabl.h
	Changed `int' to `intn'.
1997-08-09 11:45:59 -05:00