summaryrefslogtreecommitdiffstats
path: root/src/H5HGprivate.h
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1999-02-15 17:38:04 (GMT)
committerRobb Matzke <matzke@llnl.gov>1999-02-15 17:38:04 (GMT)
commitc22bac0d207abbdd81123c35681f0558f75de488 (patch)
tree98db51d9303724a07f13558a7490881e89c6e6ad /src/H5HGprivate.h
parentf6272d42929093a81aa2da79f150333793de49e0 (diff)
downloadhdf5-c22bac0d207abbdd81123c35681f0558f75de488.zip
hdf5-c22bac0d207abbdd81123c35681f0558f75de488.tar.gz
hdf5-c22bac0d207abbdd81123c35681f0558f75de488.tar.bz2
[svn-r1065] Changes since 19990121
---------------------- ./configure.in ./acconfig.h ./configure [REGENERATED] ./src/H5config.h.in [REGENERATED] ./src/H5public.h ./src/H5Omtime.c Check for <stddef.h> Checks for `__tm_gmtoff' in `struct tm' because old versions of GNU libc are different than recent versions. This fixes the failing mtime test. ./bin/config.guess ./config/freebsd2.2.7 [REMOVED] ./config/freebsd [ADDED] Changed the name so it works with all versions of FreeBSD. ./src/H5.c Moved H5F after H5T and H5G in H5_term_library() to satisfy dependencies. ./src/H5G.c Fixed a bug that caused H5Gcreate() to fail if the group name had trailing slashes. ./src/H5Gpublic.h Changed `group_name' to `name' in a prototype. ./src/Makefile.in Dynamic library on Linux, but needs for work to be generally useful. ./src/H5HG.c ./src/H5HGprivate.h Fixed alignment problems when using old GCC compilers (like the one shipped with RedHad Linux). ./tools/h5ls.c Fixed a bug where the contents of the root group could be listed twice if there was a link back to the root group. Similarly for groups that are mentioned on the command line. Fixed a bug where unknown types were printed with a random type class number. ./src/H5T.c ./src/H5Tconv.c ./src/H5Tprivate.h Fixed O(log N) conversion bugs.
Diffstat (limited to 'src/H5HGprivate.h')
-rw-r--r--src/H5HGprivate.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/src/H5HGprivate.h b/src/H5HGprivate.h
index 6b64e8d..c4e0f1f 100644
--- a/src/H5HGprivate.h
+++ b/src/H5HGprivate.h
@@ -32,6 +32,7 @@
#define H5HG_ALIGNMENT 8
#define H5HG_ALIGN(X) (H5HG_ALIGNMENT*(((X)+H5HG_ALIGNMENT-1)/ \
H5HG_ALIGNMENT))
+#define H5HG_ISALIGNED(X) ((X)==H5HG_ALIGN(X))
/*
* All global heap collections are at least this big. This allows us to read
@@ -53,20 +54,24 @@
#define H5HG_MAXLINK 65535
/*
- * The size of the collection header.
+ * The size of the collection header, always a multiple of the alignment so
+ * that the stuff that follows the header is aligned.
*/
-#define H5HG_SIZEOF_HDR(f) (4 + /*magic number */ \
- 1 + /*version number */ \
- 3 + /*reserved */ \
- H5F_SIZEOF_SIZE(f)) /*collection size */
+#define H5HG_SIZEOF_HDR(f) \
+ H5HG_ALIGN(4 + /*magic number */ \
+ 1 + /*version number */ \
+ 3 + /*reserved */ \
+ H5F_SIZEOF_SIZE(f)) /*collection size */
/*
- * The overhead associated with each object in the heap.
+ * The overhead associated with each object in the heap, always a multiple of
+ * the alignment so that the stuff that follows the header is aligned.
*/
-#define H5HG_SIZEOF_OBJHDR(f) (2 + /*object id number */ \
- 2 + /*reference count */ \
- 4 + /*reserved */ \
- H5F_SIZEOF_SIZE(f)) /*object data size */
+#define H5HG_SIZEOF_OBJHDR(f) \
+ H5HG_ALIGN(2 + /*object id number */ \
+ 2 + /*reference count */ \
+ 4 + /*reserved */ \
+ H5F_SIZEOF_SIZE(f)) /*object data size */
/*
* The initial guess for the number of messages in a collection. We assume