summaryrefslogtreecommitdiffstats
path: root/src/H5HFpkg.h
diff options
context:
space:
mode:
authorQuincey Koziol <koziol@hdfgroup.org>2006-12-18 17:52:43 (GMT)
committerQuincey Koziol <koziol@hdfgroup.org>2006-12-18 17:52:43 (GMT)
commitddbc06fce64bc49ff6b3e83da3ff74d08251fc2c (patch)
tree2fd1ab62b539b7c05a2adf461006e1c07d6f3535 /src/H5HFpkg.h
parent9236c9a148aaf206294be0554cf78e7ab769bd51 (diff)
downloadhdf5-ddbc06fce64bc49ff6b3e83da3ff74d08251fc2c.zip
hdf5-ddbc06fce64bc49ff6b3e83da3ff74d08251fc2c.tar.gz
hdf5-ddbc06fce64bc49ff6b3e83da3ff74d08251fc2c.tar.bz2
[svn-r13067] Description:
Add [quite] limited ability to update (ie. write) data for objects in fractal heap. Limited to just updating objects in managed heap blocks (i.e. not 'tiny' or 'huge' objects) and must be updated with data of the same length as the object in the heap. Updating objects in compressed heaps does work though [as long as the data isn't 'tiny' or 'huge']. Needed for changing the data value or the name of an attribute that is stored in dense or shared storage. Tested on: Linux/32 2.6 (chicago) Linux/64 2.6 (chicago2)
Diffstat (limited to 'src/H5HFpkg.h')
-rw-r--r--src/H5HFpkg.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/H5HFpkg.h b/src/H5HFpkg.h
index e927e4d..676a63e 100644
--- a/src/H5HFpkg.h
+++ b/src/H5HFpkg.h
@@ -178,6 +178,10 @@
#define H5HF_FSPACE_SECT_NORMAL_ROW 2 /* Section is a range of blocks in an indirect block row */
#define H5HF_FSPACE_SECT_INDIRECT 3 /* Section is a span of blocks in an indirect block */
+/* Flags for 'op' operations */
+#define H5HF_OP_MODIFY 0x0001 /* Operation will modify object */
+#define H5HF_OP_FLAGS (H5HF_OP_MODIFY) /* Bit-wise OR of all op flags */
+
/****************************/
/* Package Private Typedefs */
/****************************/
@@ -617,6 +621,8 @@ H5_DLL herr_t H5HF_man_insert(H5HF_hdr_t *fh, hid_t dxpl_id, size_t obj_size,
const void *obj, void *id);
H5_DLL herr_t H5HF_man_read(H5HF_hdr_t *fh, hid_t dxpl_id, const uint8_t *id,
void *obj);
+H5_DLL herr_t H5HF_man_write(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
+ const void *obj);
H5_DLL herr_t H5HF_man_op(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id,
H5HF_operator_t op, void *op_data);
H5_DLL herr_t H5HF_man_remove(H5HF_hdr_t *hdr, hid_t dxpl_id, const uint8_t *id);
@@ -709,7 +715,8 @@ H5_DLL herr_t H5HF_sect_indirect_add(H5HF_hdr_t *hdr, hid_t dxpl_id,
H5HF_indirect_t *iblock, unsigned start_entry, unsigned nentries);
/* Internal operator callbacks */
-H5_DLL herr_t H5HF_op_memcpy(const void *obj, size_t obj_len, void *op_data);
+H5_DLL herr_t H5HF_op_read(const void *obj, size_t obj_len, void *op_data);
+H5_DLL herr_t H5HF_op_write(const void *obj, size_t obj_len, void *op_data);
/* Testing routines */
#ifdef H5HF_TESTING