summaryrefslogtreecommitdiffstats
path: root/src/H5Aprivate.h
diff options
context:
space:
mode:
authorRobb Matzke <matzke@llnl.gov>1997-08-15 16:51:34 (GMT)
committerRobb Matzke <matzke@llnl.gov>1997-08-15 16:51:34 (GMT)
commitbc2b9d9dea6271a46cdfb12913d73d0cd7675607 (patch)
tree41ac2d41fd86a39ae969610fefde057474f50f8e /src/H5Aprivate.h
parent9c6f65ec241eb2941e2af399385d7c7b62edac04 (diff)
downloadhdf5-bc2b9d9dea6271a46cdfb12913d73d0cd7675607.zip
hdf5-bc2b9d9dea6271a46cdfb12913d73d0cd7675607.tar.gz
hdf5-bc2b9d9dea6271a46cdfb12913d73d0cd7675607.tar.bz2
[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.
Diffstat (limited to 'src/H5Aprivate.h')
-rw-r--r--src/H5Aprivate.h67
1 files changed, 32 insertions, 35 deletions
diff --git a/src/H5Aprivate.h b/src/H5Aprivate.h
index 1a2db6f..572d3be 100644
--- a/src/H5Aprivate.h
+++ b/src/H5Aprivate.h
@@ -18,34 +18,51 @@
*---------------------------------------------------------------------------*/
/* avoid re-inclusion */
-#ifndef __ATOM_H
-#define __ATOM_H
+#ifndef _H5Aprivate_H
+#define _H5Aprivate_H
+#include <H5Apublic.h> /* Include Public Definitions */
-#include "H5Aproto.h" /* Include Public Definitions */
+/* Private headers needed by this file */
+#include <H5private.h>
/* Atom Features control */
-/* Define the following macro for fast hash calculations (but limited hash sizes) */
+
+/*
+ * Define the following macro for fast hash calculations (but limited
+ * hash sizes)
+ */
#define HASH_SIZE_POWER_2
/* Define the following macro for atom caching over all the atoms */
#define ATOMS_ARE_CACHED
-#if defined HDF5_ATOM_MASTER | defined HDF5_ATOM_TESTER
#ifdef ATOMS_ARE_CACHED
-/* # of previous atoms cached */
-#define ATOM_CACHE_SIZE 4
-#endif /* ATOMS_ARE_CACHED */
+# define ATOM_CACHE_SIZE 4 /* # of previous atoms cached */
+#endif
/* Map an atom to a Group number */
#define ATOM_TO_GROUP(a) ((group_t)((((hatom_t)(a))>>((sizeof(hatom_t)*8)-GROUP_BITS))&GROUP_MASK))
#ifdef HASH_SIZE_POWER_2
-/* Map an atom to a hash location (assumes s is a power of 2 and smaller than the ATOM_MASK constant) */
-#define ATOM_TO_LOC(a,s) ((hatom_t)(a)&((s)-1))
-#else /* HASH_SIZE_POWER_2 */
-/* Map an atom to a hash location */
-#define ATOM_TO_LOC(a,s) (((hatom_t)(a)&ATOM_MASK)%(s))
-#endif /* HASH_SIZE_POWER_2 */
+/*
+ * Map an atom to a hash location (assumes s is a power of 2 and smaller
+ * than the ATOM_MASK constant).
+ */
+# define ATOM_TO_LOC(a,s) ((hatom_t)(a)&((s)-1))
+#else
+/*
+ * Map an atom to a hash location.
+ */
+# define ATOM_TO_LOC(a,s) (((hatom_t)(a)&ATOM_MASK)%(s))
+#endif
+
+/* Default sizes of the hash-tables for various atom groups */
+#define H5A_ERRSTACK_HASHSIZE 64
+#define H5A_FILEID_HASHSIZE 64
+#define H5A_TEMPID_HASHSIZE 64
+#define H5A_DATATYPEID_HASHSIZE 64
+#define H5A_DATASPACEID_HASHSIZE 64
+#define H5A_DATASETID_HASHSIZE 64
/* Atom information structure used */
typedef struct atom_info_struct_tag {
@@ -65,26 +82,6 @@ typedef struct atom_group_struct_tag {
atom_info_t **atom_list;/* pointer to an array of ptrs to atoms */
}atom_group_t;
-/* Define this in only one place */
-#ifdef HDF5_ATOM_MASTER
-
-/* Array of pointers to atomic groups */
-static atom_group_t *atom_group_list[MAXGROUP]={NULL};
-
-/* Pointer to the atom node free list */
-static atom_info_t *atom_free_list=NULL;
-
-#ifdef ATOMS_ARE_CACHED
-/* Array of pointers to atomic groups */
-static hatom_t atom_id_cache[ATOM_CACHE_SIZE]={-1,-1,-1,-1};
-static VOIDP atom_obj_cache[ATOM_CACHE_SIZE]={NULL};
-#endif /* ATOMS_ARE_CACHED */
-
-#endif /* HDF5_ATOM_MASTER */
-
-/* Useful routines for generally private use */
-
-#endif /* HDF5_ATOM_MASTER | HDF5_ATOM_TESTER */
-#endif /* __ATOM_H */
+#endif