[svn-r2482] Bringing "HDF5 Technical Notes" into development branch (from R1.2 branch)
This commit is contained in:
84
doc/html/TechNotes/HeapMgmt.html
Normal file
84
doc/html/TechNotes/HeapMgmt.html
Normal file
@@ -0,0 +1,84 @@
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<h1>Heap Management in HDF5</h1>
|
||||
|
||||
<pre>
|
||||
|
||||
Heap functions are in the H5H package.
|
||||
|
||||
|
||||
off_t
|
||||
H5H_new (hdf5_file_t *f, size_t size_hint, size_t realloc_hint);
|
||||
|
||||
Creates a new heap in the specified file which can efficiently
|
||||
store at least SIZE_HINT bytes. The heap can store more than
|
||||
that, but doing so may cause the heap to become less efficient
|
||||
(for instance, a heap implemented as a B-tree might become
|
||||
discontigous). The REALLOC_HINT is the minimum number of bytes
|
||||
by which the heap will grow when it must be resized. The hints
|
||||
may be zero in which case reasonable (but probably not
|
||||
optimal) values will be chosen.
|
||||
|
||||
The return value is the address of the new heap relative to
|
||||
the beginning of the file boot block.
|
||||
|
||||
off_t
|
||||
H5H_insert (hdf5_file_t *f, off_t addr, size_t size, const void *buf);
|
||||
|
||||
Copies SIZE bytes of data from BUF into the heap whose address
|
||||
is ADDR in file F. BUF must be the _entire_ heap object. The
|
||||
return value is the byte offset of the new data in the heap.
|
||||
|
||||
void *
|
||||
H5H_read (hdf5_file_t *f, off_t addr, off_t offset, size_t size, void *buf);
|
||||
|
||||
Copies SIZE bytes of data from the heap whose address is ADDR
|
||||
in file F into BUF and then returns the address of BUF. If
|
||||
BUF is the null pointer then a new buffer will be malloc'd by
|
||||
this function and its address is returned.
|
||||
|
||||
Returns buffer address or null.
|
||||
|
||||
const void *
|
||||
H5H_peek (hdf5_file_t *f, off_t addr, off_t offset)
|
||||
|
||||
A more efficient version of H5H_read that returns a pointer
|
||||
directly into the cache; the data is not copied from the cache
|
||||
to a buffer. The pointer is valid until the next call to an
|
||||
H5AC function directly or indirectly.
|
||||
|
||||
Returns a pointer or null. Do not free the pointer.
|
||||
|
||||
void *
|
||||
H5H_write (hdf5_file_t *f, off_t addr, off_t offset, size_t size,
|
||||
const void *buf);
|
||||
|
||||
Modifies (part of) an object in the heap at address ADDR of
|
||||
file F by copying SIZE bytes from the beginning of BUF to the
|
||||
file. OFFSET is the address withing the heap where the output
|
||||
is to occur.
|
||||
|
||||
This function can fail if the combination of OFFSET and SIZE
|
||||
would write over a boundary between two heap objects.
|
||||
|
||||
herr_t
|
||||
H5H_remove (hdf5_file_t *f, off_t addr, off_t offset, size_t size);
|
||||
|
||||
Removes an object or part of an object which begins at byte
|
||||
OFFSET within a heap whose address is ADDR in file F. SIZE
|
||||
bytes are returned to the free list. Removing the middle of
|
||||
an object has the side effect that one object is now split
|
||||
into two objects.
|
||||
|
||||
Returns success or failure.
|
||||
|
||||
===========================================
|
||||
Last Modified: 8 July 1998 (technical content)
|
||||
Last Modified: 28 April 2000 (included in HDF5 Technical Notes)
|
||||
HDF Help Desk: hdfhelp@ncsa.uiuc.edu
|
||||
|
||||
</pre>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user