| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
./INSTALL_MAINT
./README
./RELEASE
Partially updated for second alpha, but haven't updated
version numbers yet.
./src/H5.c
./src/H5A.c
./src/H5AC.c
./src/H5B.c
./src/H5D.c
./src/H5F.c
./src/H5Fcore.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Fmpio.c
./src/H5Fsec2.c
./src/H5Fsplit.c
./src/H5Fstdio.c
./src/H5G.c
./src/H5Gnode.c
./src/H5HG.c
./src/H5HL.c
./src/H5I.c
./src/H5MM.c
./src/H5MMprivate.h
./src/H5O.c
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Oshared.c
./src/H5Ostab.c
./src/H5P.c
./src/H5S.c
./src/H5T.c
./src/H5Tconv.c
./src/H5detect.c
./test/hyperslab.c
./test/istore.c
Changed memory allocation functions so they fail instead of
dumping core. The `x' was removed from the name to remind us
of that: H5MM_xmalloc() -> H5MM_malloc(), etc.
H5MM_calloc() takes one argument like H5MM_malloc() instead of
two like calloc() because we almost always called it with `1'
for one of the arguments anyway. The only difference between
the two functions is that H5MM_calloc() returns memory which
is initialized to zero.
./src/H5Gent.c
./src/H5Gprivate.h
Removed H5G_ent_calloc() since it wasn't used.
./src/H5Fistore.c
Fixed a bug found by Albert. Thanks, Albert! This fix
combined with the changes to memory allocation prevent the
library from failing an assertion if the application uses an
unreasonable size for chunks (like Alberts 10000x10000x4).
./src/H5MF.c
./src/H5MFprivate.h
Changed H5MF_free() to H5MF_xfree() since calling it with an
undefined address is allowed.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
./src/H5D.c
./src/H5Tconv.c
./src/H5detect.c
Updated to work with new internal H5T functions. Fixed some
data type memory leaks during error recovery.
./src/H5Dprivate.h
Added H5D_typeof() similar to H5D_entof() that returns a
pointer directly to the dataset's type. This is used by
H5Tcopy() when invoked on a dataset (see below).
./src/H5Epublic.h
Fixed typos in H5E_BEGIN_TRY and H5E_END_TRY macros.
./src/H5F.c
Closing a file with objects still open reports the file name
in the warning message. Removed unnecessary invalidation of
shared data types.
./src/H5Gent.c
./src/H5Gpkg.h
./src/H5Gprivate.h
Added `const' to some arguments.
./src/H5O.c
./src/H5Oprivate.h
./src/H5Oshared.c
An object header message can now be a pointer to a message in
some other object header. The pointer is to the first message
of the appropriate type in the other object header and hard
link counts are maintained automatically to prevent dangling
pointers. The old global heap method of message sharing is
also supported although nothing actually uses it.
./src/H5Oattr.c
./src/H5Ocomp.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Osdspace.c
./src/H5Oshare.c
./src/H5Ostab.c
Changed the data type for the shared message info struct to
H5O_shared_t and added an extra initializer to the class
methods struct for the set_share method.
./src/H5Odtype.c
Added the ability to share data type messages by pointing to
other object headers.
./src/H5T.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
Added named data types and changed the functionality of some
API functions as follows:
* The term `read-only' means that a type handle cannot be
modified with functions like H5Tset_*() or H5Tinsert().
* The term `immutable' means the same as `read-only' with the
added restriction that H5Tclose() cannot be called for the
type. A transient type is made immutable by calling
H5Tlock().
* Handles to named types are always read-only.
* Handles to predefined types are immutable.
* A transient type can be converted to a named type by calling
H5Tcommit(). This function will fail if the type is already
named or is immutable.
* The API function H5Tcommitted() returns an indication of
whether a data type has been commited (or is named). If
H5Tcommitted() returns TRUE for a data type obtained by
calling H5Dget_type() on a dataset, then the dataset is
using a shared data type.
* H5Topen() returns a handle to a named type.
* H5Tcopy() always returns a handle to a modifiable transient
type even when invoked on a named type. Also, when invoked
on a dataset it returns a modifiable transient type which is
a copy of the dataset's data type.
* Using a named data type in the call to H5Dcreate() causes
the dataset object header to point to the named data type,
but using a transient type causes the type to be copied into
the dataset's object header.
* The data type returned from H5Dget_type() is a named data
type or a read-only transient data type depending on whether
the dataset points to a named data type. The old behavior,
to return a modifiable transient type, is accomplished by
overloading H5Tcopy() to operate on datasets (see above).
* H5Tshare(), H5Tunshare(), and H5Tis_shared() have been
removed from the API.
The following features were *not* implemented because they
need more discussion:
* A named data type can be opened by applying H5Topen() to a
dataset in which case the data type is the data type of the
dataset (or the data type to which the dataset points if the
dataset has a shared data type).
* A named data type can have attributes like groups or
datasets.
* The members of a compound data type can point to named data
types.
./src/h5ls.c
Reports `Data type' for named data type objects in the file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
----------------------
./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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
----------------------
./MANIFEST
./src/Makefile.in
./test/Makefile.in
Added new files.
./config/linux
./src/H5HL.c
./src/H5HLprivate.h
./src/H5MF.c
./src/H5MFprivate.h
Added `-DH5HL_DEBUG -DH5MF_DEBUG' to the debug list.
./html/H5.format.html
Updated shared object message information.
./src/H5D.c
Datasets can now share data types.
./src/H5F.c
Updated a comment that referred to H5ACC_WRITE.
./src/H5HG.c
./src/H5HGprivate.h
Moved a few things around. Made debugging better so you can
now give a collection address to ./src/debug and it shows some
useful stuff.
./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Oprivate.h
./src/H5Osdspace.c
./src/H5Oshared.c [NEW]
./src/H5Ostab.c
Supports shared messages.
./src/H5T.c
./src/H5Tpkg.h
./src/H5Tprivate.h
./src/H5Tpublic.h
The H5Tshare() function allows the user to give the library
hints about how a data type will be used.
./test/shtype.c
Tests the H5Tshare() function.
./test/gheap.c
Tests the global heap.
./configure.in
./config/BlankForm [NEW]
./config/alpha-dec
./config/freebsd2.2.1
./config/hpux10.20
./config/irix6.2
./config/irix64
./config/linux
./config/powerpc-ibm-aix4.2.1.0
./config/rs6000-ibm-aix4.1.4.0
./config/solaris2.5
Cleaned up lots of configuration stuff and made the site
configuration files lots easier and more uniform. To make a
new file grab the BlankForm and modify it.
By default, debugging is turned on for most packages. Within
a package one can use `#ifdef H5AC_DEBUG' to wrap debugging
code. Other options are:
--enable-debug
--enable-debug=yes
The default, most but not all packages.
--disable-debug
--enable-debug=no
--enable-debug=none
The symbol NDEBUG is defined and none of the package
debug symbols.
--enable-debug=all
Debugging is turned on for all packages. This might
produce lots of output.
--enable-debug=g,d
Debugging is turned on for H5G and H5D.
A compile mode is also now supported
--enable-production
--enable-production=yes
The library is compiled with optimizations turned on.
The compiler flags are augmented by adding PROD_CFLAGS
and PROD_CPPFLAGS which are defined in the site config
file.
--disable-production
--enable-production=no
The default. The library is compiled for development
by including DEBUG_CFLAGS and DEBUG_CPPFLAGS defined in
the site config file. This is usually just `-g'.
--enable-production=profile
--enable-production=pg
Builds a library for profiling by including the flags
from PROFILE_CFLAGS and PROFILE_CPPFLAGS defined in the
site config file. This is usullay just `-pg' but it
could include optimization flags as well depending on
the type of profile one wants.
In summary, configure by saying `./configure' and you'll get a
development version of the library. Configure by saying
`./configure --enable-production --disable-debug' and you'll
get a production version with no debugging code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
while he is visiting LLNL. I changed the default creation template
offset and length to 4. Will fix the problem later.
Changes since 19980205
----------------------
./src/H5H.c
./src/H5Hprivate.h
./src/H5O.c
./src/H5Ocont.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Olayout.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Oprivate.h
./src/H5Odspace.c
./src/H5Ostab.c
./src/debug.c
./html/H5.format.html
Added an extra 4-byte field after the heap magic number for
alignment on the DEC alpha. Changed object header message
alignment to 8-bytes.
./src/H5F.c
./src/H5Farray.c
./src/H5Ffamily.c
./src/H5Fistore.c
./src/H5Flow.c
./src/H5Fprivate.h
./src/H5Fsec2.c
./src/H5Fstdio.c
./src/H5Gnode.c
./src/H5O.c
./src/H5Odtype.c
./src/H5P.c
./src/H5Pprivate.h
./src/H5T.c
./src/H5Tconv.c
./src/H5Tpkg.h
./src/H5Tpublic.h
./src/H5V.c
./src/H5detect.c
./test/cmpd_dset.c
./test/dsets.c
./test/dtypes.c
./test/extend.c
./test/hyperslab.c
./test/istore.c
./test/th5p.c
./test/theap.c
Fixed a few irix64 warnings regarding size_t vs. int,
variables set but not used, printf formats
./config/irix64
Added `-woff 1196' to get rid of errors about __vfork() being
implicitly defined in a system header file.
./src/H5B.c
Fixed a stack alignment problem.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
----------------------
./config/freebsd2.2.1
./config/linux
Added -UH5O_DEBUG to the debug flags. Turn this on to get
lots of lines on stderr to show what objects are opened and
closed.
./src/H5C.o
./src/H5Cpublic.h
./test/dsets.c
./test/tfile.c
Split H5Cget_prop() and H5Cset_prop() into functions for each
property.
./src/H5D.c
./src/H5Dpublic.h
./src/H5Gstab.c
./src/H5O.c
./src/H5Ocont.c
./src/H5Ocstore.c
./src/H5Odtype.c
./src/H5Oefl.c
./src/H5Oistore.c
./src/H5Oname.c
./src/H5Onull.c
./src/H5Oprivate.h
./src/H5Osdspace.c
./src/H5Ostab.c
./src/H5P.c
./src/istore.c
./test/tohdr.c
Object header functions now understand constant
vs. non-constant messages.
./src/H5F.c
./src/H5Fprivate.h
The file OID can be closed before other OID's.
./src/H5Flow.c
H5F_addr_defined() is a macro in this file.
./src/H5G.c
./src/H5Gpublic.h
./test/tstab.c
A current working group cannot be deleted.
./src/H5Gent.c
./src/H5Gpkg.h
Removed unused functionality.
./src/H5public.h
Includes <sys/types.h> for size_t.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
./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.
|
|
|
|
| |
problems when opening the same file more than once.
|
|
|
|
|
|
| |
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...
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
./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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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'.
|
|
./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.
|