summaryrefslogtreecommitdiffstats
path: root/src/H5SMprivate.h
diff options
context:
space:
mode:
authorJames Laird <jlaird@hdfgroup.org>2006-11-13 20:41:36 (GMT)
committerJames Laird <jlaird@hdfgroup.org>2006-11-13 20:41:36 (GMT)
commitb6c317f27cd150aa7bfc4e9cf275629570c9a319 (patch)
tree3413a54aec3bbebb821088a473f6ff425c3d39be /src/H5SMprivate.h
parent77c265f26746359cf348437702c93c162f7022f6 (diff)
downloadhdf5-b6c317f27cd150aa7bfc4e9cf275629570c9a319.zip
hdf5-b6c317f27cd150aa7bfc4e9cf275629570c9a319.tar.gz
hdf5-b6c317f27cd150aa7bfc4e9cf275629570c9a319.tar.bz2
[svn-r12902] Checkin of Shared Object Header Message work.
This feature is still in progress; Shared Object Header Messages are not complete as a feature and are not thoroughly tested. There are still "TODO" comments in the code (comments with the word "JAMES" in them, so as not to be confused with other TODO comments). Hopefully this checkin will reduce the liklihood of conflicts as I finish implementing this feature. All current tests pass on juniper, copper (parallel), heping, kagiso, and mir.
Diffstat (limited to 'src/H5SMprivate.h')
-rwxr-xr-xsrc/H5SMprivate.h59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/H5SMprivate.h b/src/H5SMprivate.h
new file mode 100755
index 0000000..f1c2ad5
--- /dev/null
+++ b/src/H5SMprivate.h
@@ -0,0 +1,59 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by the Board of Trustees of the University of Illinois. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the files COPYING and Copyright.html. COPYING can be found at the root *
+ * of the source code distribution tree; Copyright.html can be found at the *
+ * root level of an installed copy of the electronic HDF5 document set and *
+ * is linked from the top-level documents page. It can also be found at *
+ * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have *
+ * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+/*
+ * Programmer: James Laird <jlaird@ncsa.uiuc.edu>
+ * Thursday, March 2, 2006
+ *
+ * Purpose: This file contains private declarations for the H5SM
+ * shared object header messages module.
+ */
+#ifndef _H5SMprivate_H
+#define _H5SMprivate_H
+
+#include "H5SMpublic.h"
+#include "H5Oprivate.h"
+#include "H5Pprivate.h"
+
+/****************************/
+/* Library Private Typedefs */
+/****************************/
+
+#define HDF5_SOHMTABLE_VERSION 0 /* Version of the Shared Object Header Message Master Table*/
+#define HDF5_SOHMINDEX_VERSION 0 /* Verion of Shared Object Header Message Indexes */
+
+#define H5SM_MAX_NUM_INDEXES 6
+
+/* Typedef for a SOHM index node */
+typedef struct {
+ /* JAMES: I think I need message type here, and stored in file. */
+ uint32_t hash; /* Hash value for OHM */
+ H5SM_fheap_id_t fheap_id; /* ID of the OHM in the fractal heap */
+ hsize_t ref_count; /* JAMES TODO: should this be hsize_t? */
+} H5SM_sohm_t;
+
+/******************************/
+/* Library Private Prototypes */
+/******************************/
+H5_DLL herr_t H5SM_init(H5F_t *f, H5P_genplist_t *fc_plist, hid_t dxpl_id);
+H5_DLL htri_t H5SM_try_share(H5F_t *f, hid_t dxpl_id, unsigned type_id,
+ void *mesg);
+H5_DLL herr_t H5SM_try_delete(H5F_t *f, hid_t dxpl_id, unsigned type_id, const H5O_shared_t *mesg);
+H5_DLL herr_t H5SM_get_info(H5F_t *f, haddr_t table_addr, unsigned *nindexes,
+ unsigned *index_flags, size_t *list_to_btree,
+ size_t *btree_to_list, hid_t dxpl_id);
+H5_DLL haddr_t H5SM_get_fheap_addr(H5F_t *f, unsigned type_id, hid_t dxpl_id);
+
+#endif /*_H5SMprivate_H*/
+