Files
hdf5/doc/html/RM_H5Front.html
Frank Baker 8cffd507bf [svn-r1584] RM_H5D.html
Added H5DGet_storage_size and H5Diterate.
RM_H5F.html
	Rearranged TOC.
RM_H5P.html
	Added H5Pset/get_hyper_cache, H5Pset/get_btree_ratios, H5Pset/get_gc_references,
	and H5Pget_vlen_mem_manager.
RM_H5R.html
	Added H5Rget_object_type.
RM_H5Front.html
	As functions were added to the Reference Manual (above), they were
	removed from "functions missing in the RM" list in this document.
1999-08-23 15:31:25 -05:00

414 lines
15 KiB
HTML

<html>
<head><title>
HDF5 API Specification
</title></head>
<body bgcolor="#FFFFFF">
<hr>
<center>
<table cellspacing=0 cellpadding=0 border=0 width=98%>
<tr><td valign=top align=left>
<a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
<a href="H5.user.html">HDF5 User Guide</a>&nbsp;<br>
<a href="index.html">Other HDF5 documents and links</a>&nbsp;<br>
<!--
<a href="Glossary.html">Glossary</a><br>
-->
</td>
<td valign=top align=right>
<!--
And in this document, the
HDF5 Reference Manual&nbsp;&nbsp;
<br>
<a href="RM_H5.html">H5</a>&nbsp;&nbsp;
<a href="RM_H5A.html">H5A</a>&nbsp;&nbsp;
<a href="RM_H5D.html">H5D</a>&nbsp;&nbsp;
<a href="RM_H5E.html">H5E</a>&nbsp;&nbsp;
<a href="RM_H5F.html">H5F</a>&nbsp;&nbsp;
<a href="RM_H5G.html">H5G</a>&nbsp;&nbsp;
<a href="RM_H5I.html">H5I</a>&nbsp;&nbsp;
<br>
<a href="RM_H5P.html">H5P</a>&nbsp;&nbsp;
<a href="RM_H5R.html">H5R</a>&nbsp;&nbsp;
<a href="RM_H5RA.html">H5RA</a>&nbsp;&nbsp;
<a href="RM_H5S.html">H5S</a>&nbsp;&nbsp;
<a href="RM_H5T.html">H5T</a>&nbsp;&nbsp;
<a href="RM_H5Z.html">H5Z</a>&nbsp;&nbsp;
<a href="Tools.html">Tools</a>&nbsp;&nbsp;
-->
</td></tr>
</table>
</center>
<hr>
<center>
<h1>HDF5: API Specification<br>Reference Manual</h1>
</center>
The HDF5 library provides several interfaces, each of which provides the
tools required to meet specific aspects of the HDF5 data-handling requirements.
<i>(See <a href="#NotDocced">below</a> for a list of functions that are not yet documented in this HDF5 Reference Manual.)</i>
<center>
<table border=0>
<tr><td valign=top><a href="RM_H5.html">Library Functions</a>
</td><td>&nbsp;&nbsp;&nbsp;&nbsp;</td><td valign=top>The general-purpose <strong>H5</strong> functions.
</td></tr>
<tr><td valign=top><a href="RM_H5A.html">Attribute Interface</a>
</td><td></td><td valign=top>The <strong>H5A</strong> API for attributes.
</td></tr>
<tr><td valign=top><a href="RM_H5D.html">Dataset Interface</a>
</td><td></td><td valign=top>The <strong>H5D</strong> API for manipulating scientific datasets.
</td></tr>
<tr><td valign=top><a href="RM_H5E.html">Error Interface</a>
</td><td></td><td valign=top>The <strong>H5E</strong> API for error handling.
</td></tr>
<tr><td valign=top><a href="RM_H5F.html">File Interface</a>
</td><td></td><td valign=top>The <strong>H5F</strong> API for accessing HDF files.
</td></tr>
<tr><td valign=top><a href="RM_H5G.html">Group Interface</a>
</td><td></td><td valign=top>The <strong>H5G</strong> API for creating physical groups of objects on disk.
</td></tr>
<tr><td valign=top><a href="RM_H5I.html">Identifier Interface</a>
</td><td></td><td valign=top>The <strong>H5I</strong> API for working with object identifiers.
</td></tr>
<tr><td valign=top><a href="RM_H5P.html">Property List Interface</a>
</td><td></td><td valign=top>The <strong>H5P</strong> API for manipulating object property lists.
</td></tr>
<tr><td valign=top><a href="RM_H5R.html">Reference Interface</a>
</td><td></td><td valign=top>The <strong>H5R</strong> API for references.
</td></tr>
<tr><td valign=top><a href="RM_H5S.html">Dataspace Interface</a>
</td><td></td><td valign=top>The <strong>H5S</strong> API for defining dataset dataspace.
</td></tr>
<tr><td valign=top><a href="RM_H5T.html">Datatype Interface</a>
</td><td></td><td valign=top>The <strong>H5T</strong> API for defining dataset element information.
</td></tr>
<tr><td valign=top><a href="RM_H5Z.html">Compression Interface</a>
</td><td></td><td valign=top>The <strong>H5Z</strong> API for compression.
</td></tr>
<tr><td valign=top><a href="Tools.html">Tools</a>
</td><td></td><td valign=top>Interactive tools for the examination of existing HDF5 files.
<!--
</td></tr>
<tr><td valign=top><a href="Glossary.html">Glossary</a>
</td><td></td><td valign=top>A glossary of data-types used in the APIs.
-->
</td></tr>
<tr><td valign=top><hr noshade size=1>Experimental interface:<br><a href="RM_H5RA.html">Ragged Arrays</a>&nbsp;&nbsp;
</td><td></td><td valign=top><hr noshade size=1><br>The <strong>H5RA</strong> API for ragged arrays.
</td></tr>
</table>
</center>
<a name="NotDocced">
<hr>
</a>
<pre>
SPECIAL NOTE
HDF5 Release 1.2 Beta
The following HDF5 functions are not documented in the HDF5 Reference
Manual that accompanies this Beta release; they will be documented in
the final Release 1.2. Brief descriptions, as extracted from comments
in the source code, are appended below.
H5Sget_select_hyper_nblocks
H5Sget_select_elem_npoints
H5Sget_select_hyper_blocklist
H5Sget_select_elem_pointlist
H5Sget_select_bounds
H5Tenum_create
H5Tenum_insert
H5Tenum_nameof
H5Tenum_valueof
H5Tset_tag
H5Tget_tag
H5Tget_super
H5Tget_member_value
H5Tregister
/*--------------------------------------------------------------------------
NAME
H5Sget_select_hyper_nblocks
PURPOSE
Get the number of hyperslab blocks in current hyperslab selection
USAGE
hssize_t H5Sget_select_hyper_nblocks(dsid)
hid_t dsid; IN: Dataspace ID of selection to query
RETURNS
The number of hyperslab blocks in selection on success, negative on failure
DESCRIPTION
Returns the number of hyperslab blocks in current selection for dataspace.
--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
NAME
H5Sget_select_elem_npoints
PURPOSE
Get the number of points in current element selection
USAGE
hssize_t H5Sget_select_elem_npoints(dsid)
hid_t dsid; IN: Dataspace ID of selection to query
RETURNS
The number of element points in selection on success, negative on failure
DESCRIPTION
Returns the number of element points in current selection for dataspace.
--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
NAME
H5Sget_select_hyper_blocklist
PURPOSE
Get the list of hyperslab blocks currently selected
USAGE
herr_t H5Sget_select_hyper_blocklist(dsid, hsize_t *buf)
hid_t dsid; IN: Dataspace ID of selection to query
hsize_t startblock; IN: Hyperslab block to start with
hsize_t numblocks; IN: Number of hyperslab blocks to get
hsize_t *buf; OUT: List of hyperslab blocks selected
RETURNS
Non-negative on success, negative on failure
DESCRIPTION
Puts a list of the hyperslab blocks into the user's buffer. The blocks
start with the 'startblock'th block in the list of blocks and put
'numblocks' number of blocks into the user's buffer (or until the end of
the list of blocks, whichever happen first)
The block coordinates have the same dimensionality (rank) as the
dataspace they are located within. The list of blocks is formatted as
follows: <"start" coordinate> immediately followed by <"opposite" corner
coordinate>, followed by the next "start" and "opposite" coordinate, etc.
until all the block information requested has been put into the user's
buffer.
No guarantee of any order of the blocks is implied.
--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
NAME
H5Sget_select_elem_pointlist
PURPOSE
Get the list of element points currently selected
USAGE
herr_t H5Sget_select_elem_pointlist(dsid, hsize_t *buf)
hid_t dsid; IN: Dataspace ID of selection to query
hsize_t startpoint; IN: Element point to start with
hsize_t numpoints; IN: Number of element points to get
hsize_t *buf; OUT: List of element points selected
RETURNS
Non-negative on success, negative on failure
DESCRIPTION
Puts a list of the element points into the user's buffer. The points
start with the 'startpoint'th block in the list of points and put
'numpoints' number of points into the user's buffer (or until the end of
the list of points, whichever happen first)
The point coordinates have the same dimensionality (rank) as the
dataspace they are located within. The list of points is formatted as
follows: <coordinate> followed by the next coordinate, etc. until all the
point information in the selection have been put into the user's buffer.
The points are returned in the order they will be iterated through
when a selection is read/written from/to disk.
--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
NAME
H5Sget_select_bounds
PURPOSE
Gets the bounding box containing the selection.
USAGE
herr_t H5S_get_select_bounds(space, start, end)
hid_t dsid; IN: Dataspace ID of selection to query
hsize_t *start; OUT: Starting coordinate of bounding box
hsize_t *end; OUT: Opposite coordinate of bounding box
RETURNS
Non-negative on success, negative on failure
DESCRIPTION
Retrieves the bounding box containing the current selection and places
it into the user's buffers. The start and end buffers must be large
enough to hold the dataspace rank number of coordinates. The bounding box
exactly contains the selection, ie. if a 2-D element selection is currently
defined with the following points: (4,5), (6,8) (10,7), the bounding box
with be (4, 5), (10, 8). Calling this function on a "none" selection
returns fail.
The bounding box calculations _does_ include the current offset of the
selection within the dataspace extent.
--------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------
* Function: H5Tenum_create
*
* Purpose: Create a new enumeration data type based on the specified
* TYPE, which must be an integer type.
*
* Return: Success: ID of new enumeration data type
* Failure: Negative
*-------------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
* Function: H5Tenum_insert
*
* Purpose: Insert a new enumeration data type member into an enumeration
* type. TYPE is the enumeration type, NAME is the name of the
* new member, and VALUE points to the value of the new member.
* The NAME and VALUE must both be unique within the TYPE. VALUE
* points to data which is of the data type defined when the
* enumeration type was created.
*
* Return: Success: non-negative
* Failure: negative
*-------------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
* Function: H5Tenum_nameof
*
* Purpose: Finds the symbol name that corresponds to the specified VALUE
* of an enumeration data type TYPE. At most SIZE characters of
* the symbol name are copied into the NAME buffer. If the
* entire symbol name and null terminator do not fit in the NAME
* buffer then as many characters as possible are copied (not
* null terminated) and the function fails.
*
* Return: Success: Non-negative.
* Failure: Negative, first character of NAME is set to
* null if SIZE allows it.
*-------------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
* Function: H5Tenum_valueof
*
* Purpose: Finds the value that corresponds to the specified NAME f an
* enumeration TYPE. The VALUE argument should be at least as
* large as the value of H5Tget_size(type) in order to hold the
* result.
*
* Return: Success: Non-negative
* Failure: Negative
*-------------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
* Function: H5Tset_tag
*
* Purpose: Tag an opaque datatype with a unique ASCII identifier.
*
* Return: Non-negative on success/Negative on failure
*-------------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
* Function: H5Tget_tag
*
* Purpose: Get the tag associated with an opaque datatype.
*
* Return: A pointer to an allocated string. The caller should free
* the string. NULL is returned for errors.
*-------------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
* Function: H5Tget_super
*
* Purpose: Returns the type from which TYPE is derived. In the case of
* an enumeration type the return value is an integer type.
*
* Return: Success: Type ID for base data type.
* Failure: negative
*-------------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
* Function: H5Tget_member_value
*
* Purpose: Return the value for an enumeration data type member.
*
* Return: Success: non-negative with the member value copied
* into the memory pointed to by VALUE.
* Failure: negative, VALUE memory is undefined.
*-------------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
* Function: H5Tregister
*
* Purpose: Register a hard or soft conversion function for a data type
* conversion path. The path is specified by the source and
* destination data types SRC_ID and DST_ID (for soft functions
* only the class of these types is important). If FUNC is a
* hard function then it replaces any previous path; if it's a
* soft function then it replaces all existing paths to which it
* applies and is used for any new path to which it applies as
* long as that path doesn't have a hard function.
*
* Return: Non-negative on success/Negative on failure
*-------------------------------------------------------------------------
*/
</pre>
<hr>
<center>
<table border=0 width=98%>
<tr><td valign=top align=left>
<a href="H5.intro.html">Introduction to HDF5</a>&nbsp;<br>
<a href="H5.user.html">HDF5 User Guide</a>&nbsp;<br>
<a href="index.html">Other HDF5 documents and links</a>&nbsp;<br>
<!--
<a href="Glossary.html">Glossary</a><br>
-->
</td>
<td valign=top align=right>
<!--
And in this document, the
HDF5 Reference Manual&nbsp;&nbsp;
<br>
<a href="RM_H5.html">H5</a>&nbsp;&nbsp;
<a href="RM_H5A.html">H5A</a>&nbsp;&nbsp;
<a href="RM_H5D.html">H5D</a>&nbsp;&nbsp;
<a href="RM_H5E.html">H5E</a>&nbsp;&nbsp;
<a href="RM_H5F.html">H5F</a>&nbsp;&nbsp;
<a href="RM_H5G.html">H5G</a>&nbsp;&nbsp;
<a href="RM_H5I.html">H5I</a>&nbsp;&nbsp;
<br>
<a href="RM_H5P.html">H5P</a>&nbsp;&nbsp;
<a href="RM_H5R.html">H5R</a>&nbsp;&nbsp;
<a href="RM_H5RA.html">H5RA</a>&nbsp;&nbsp;
<a href="RM_H5S.html">H5S</a>&nbsp;&nbsp;
<a href="RM_H5T.html">H5T</a>&nbsp;&nbsp;
<a href="RM_H5Z.html">H5Z</a>&nbsp;&nbsp;
<a href="Tools.html">Tools</a>&nbsp;&nbsp;
-->
</td></tr>
</table>
</center>
<hr>
<address>
<table width=100% border=0>
<tr><td align=left valign=top>
<a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a>
<br>
Last modified: 26 April 1999
</td><td align=right valign=top>
<a href="Copyright.html">Copyright</a>&nbsp;&nbsp;
</td></tr>
</table>
</body>
</html>