diff options
-rw-r--r-- | doc/html/H5.api.html | 4623 |
1 files changed, 0 insertions, 4623 deletions
diff --git a/doc/html/H5.api.html b/doc/html/H5.api.html deleted file mode 100644 index 5f3cf78..0000000 --- a/doc/html/H5.api.html +++ /dev/null @@ -1,4623 +0,0 @@ -<html><head><title> -HDF5 Draft API Specification -</title></head><body> - -<center> -<h1>HDF5: API Specification</h1> -</center> - -<ol type=I> -<li><a href="#Library">Library</a> - H5<name> - API for global library HDF information/modification -<ol type=A> - <li><a href="#Library-DontAtExit">H5dont_atexit</a> - <li><a href="#Library-Close">H5close</a> - <li><a href="#Library-Version">H5version</a> -</ol> - -<li><a href="#File">File</a> - H5F<name> - API for accessing HDF files -<ol type=A> - <li><a href="#File-Open">H5Fopen</a> - <li><a href="#File-Create">H5Fcreate</a> - <li><a href="#File-IsHDF5">H5Fis_hdf5</a> - <li><a href="#File-GetCreatePlist">H5Fget_create_plist</a> - <li><a href="#File-Close">H5Fclose</a> -</ol> - -<li><a href="#Plist">Property list</a> - H5P<name> - API for manipulating object property lists -<ol type=A> - <li><a href="#Plist-Create">H5Pcreate</a> - <li><a href="#Plist-GetClass">H5Pget_class</a> - <li><a href="#Plist-Copy">H5Pcopy</a> - <li><a href="#Plist-Close">H5Pclose</a> - <li><a href="#Plist-GetVersion">H5Pget_version</a> - <li><a href="#Plist-SetUserblock">H5Pset_userblock</a> - <li><a href="#Plist-GetUserblock">H5Pget_userblock</a> - <li><a href="#Plist-SetSizes">H5Pset_sizes</a> - <li><a href="#Plist-GetSizes">H5Pget_sizes</a> - <li><a href="#Plist-SetMPI">H5Pset_mpi</a> - <li><a href="#Plist-GetMPI">H5Pget_mpi</a> - <li><a href="#Plist-SetXfer">H5Pset_xfer</a> - <li><a href="#Plist-GetXfer">H5Pget_xfer</a> - <li><a href="#Plist-SetSymK">H5Pset_sym_k</a> - <li><a href="#Plist-GetSymK">H5Pget_sym_k</a> - <li><a href="#Plist-SetIstoreK">H5Pset_istore_k</a> - <li><a href="#Plist-GetIstoreK">H5Pget_istore_k</a> - <li><a href="#Plist-SetLayout">H5Pset_layout</a> - <li><a href="#Plist-GetLayout">H5Pget_layout</a> - <li><a href="#Plist-SetChunk">H5Pset_chunk</a> - <li><a href="#Plist-GetChunk">H5Pget_chunk</a> -</ol> - -<!-- -<li><a href="#Error">Error</a> - H5E<name> - API for error reporting -<ol type=A> - <li><a href="#Error-SetPush">H5Eset_push</a> -</ol> ---> - -<!-- -<li><a href="#Relationships">Relationships</a> - H5R<name> - API for logically linking objects together (ie. attributes) -<ol type=A> - <li><a href="#Relationships-GetNumRelations">H5Rget_num_relations</a> - <li><a href="#Relationships-GetMemberOfOIDs">H5Rget_memberof_oids</a> - <li><a href="#Relationships-GetAttachedOIDs">H5Rget_attached_oids</a> - <li><a href="#Relationships-Attach">H5Rattach_oid</a> -</ol> ---> - -<li><a href="#Dataset">Dataset</a> - H5D<name> - API for manipulating scientific datasets. See <a href="Datasets.html">datasets</a>. -<ol type=A> - <li><a href="#Dataset-Create">H5Dcreate</a> - <li><a href="#Dataset-Open">H5Dopen</a> - <li><a href="#Dataset-GetSpace">H5Dget_space</a> - <li><a href="#Dataset-GetType">H5Dget_type</a> - <li><a href="#Dataset-GetCreateParms">H5Dget_create_parms</a> - <li><a href="#Dataset-Read">H5Dread</a> - <li><a href="#Dataset-Write">H5Dwrite</a> - <li><a href="#Dataset-Extend">H5Dextend</a> - <li><a href="#Dataset-Close">H5Dclose</a> -</ol> - -<li><a href="#Datatype">Datatype</a> - H5T<name> - API for defining dataset element information. See <a href="Datatypes.html">data types</a>. -<ol type=A> - <li><a href="#Datatype-Create">H5Tcreate</a> - <li><a href="#Datatype-Copy">H5Tcopy</a> - <li><a href="#Datatype-Equal">H5Tequal</a> - <li><a href="#Datatype-Lock">H5Tlock</a> - <li><a href="#Datatype-GetClass">H5Tget_class</a> - <li><a href="#Datatype-GetSize">H5Tget_size</a> - <li><a href="#Datatype-SetSize">H5Tset_size</a> - <li><a href="#Datatype-GetOrder">H5Tget_order</a> - <li><a href="#Datatype-SetOrder">H5Tset_order</a> - <li><a href="#Datatype-GetPrecision">H5Tget_precision</a> - <li><a href="#Datatype-SetPrecision">H5Tset_precision</a> - <li><a href="#Datatype-GetOffset">H5Tget_offset</a> - <li><a href="#Datatype-SetOffset">H5Tset_offset</a> - <li><a href="#Datatype-GetPad">H5Tget_pad</a> - <li><a href="#Datatype-SetPad">H5Tset_pad</a> - <li><a href="#Datatype-GetSign">H5Tget_sign</a> - <li><a href="#Datatype-SetSign">H5Tset_sign</a> - <li><a href="#Datatype-GetFields">H5Tget_fields</a> - <li><a href="#Datatype-SetFields">H5Tset_fields</a> - <li><a href="#Datatype-GetEbias">H5Tget_ebias</a> - <li><a href="#Datatype-SetEbias">H5Tset_ebias</a> - <li><a href="#Datatype-GetNorm">H5Tget_norm</a> - <li><a href="#Datatype-SetNorm">H5Tset_norm</a> - <li><a href="#Datatype-GetInpad">H5Tget_inpad</a> - <li><a href="#Datatype-SetInpad">H5Tset_inpad</a> - <li><a href="#Datatype-GetCset">H5Tget_cset</a> - <li><a href="#Datatype-SetCset">H5Tset_cset</a> - <li><a href="#Datatype-GetStrpad">H5Tget_strpad</a> - <li><a href="#Datatype-SetStrpad">H5Tset_strpad</a> - <li><a href="#Datatype-GetNmembers">H5Tget_nmembers</a> - <li><a href="#Datatype-GetMemberName">H5Tget_member_name</a> - <li><a href="#Datatype-GetMemberOffset">H5Tget_member_offset</a> - <li><a href="#Datatype-GetMemberDims">H5Tget_member_dims</a> - <li><a href="#Datatype-GetMemberType">H5Tget_member_type</a> - <li><a href="#Datatype-Insert">H5Tinsert</a> - <li><a href="#Datatype-Pack">H5Tpack</a> - <li><a href="#Datatype-RegisterHard">H5Tregister_hard</a> - <li><a href="#Datatype-RegisterSoft">H5Tregister_soft</a> - <li><a href="#Datatype-Unregister">H5Tunregister</a> - <li><a href="#Datatype-Close">H5Tclose</a> -</ol> - -<li><a href="#Dataspace">Dataspace</a> - H5S<name> - API for defining dataset dataspace -<ol type=A> - <li><a href="#Dataspace-CreateSimple">H5Screate_simple</a> - <li><a href="#Dataspace-Copy">H5Scopy</a> - <li><a href="#Dataspace-GetNpoints">H5Sget_npoints</a> - <li><a href="#Dataspace-GetNdims">H5Sget_ndims</a> - <li><a href="#Dataspace-GetDims">H5Sget_dims</a> - <li><a href="#Dataspace-IsSimple">H5Sis_simple</a> - <li><a href="#Dataspace-SetSpace">H5Sset_space</a> - <li><a href="#Dataspace-SetHyperslab">H5Sset_hyperslab</a> - <li><a href="#Dataspace-GetHyperslab">H5Sget_hyperslab</a> - <li><a href="#Dataspace-Close">H5Sclose</a> -</ol> - -<li><a href="#Group">Group</a> - H5G<name> - API for creating physical groups of objects on disk. -<ol type=A> - <li><a href="#Group-Create">H5Gcreate</a> - <li><a href="#Group-Open">H5Gopen</a> - <li><a href="#Group-Set">H5Gset</a> - <li><a href="#Group-Push">H5Gpush</a> - <li><a href="#Group-Pop">H5Gpop</a> - <li><a href="#Group-Close">H5Gclose</a> -<!-- - <li><a href="#Group-GetNumContents">get_num_contents</a> - <li><a href="#Group-GetContentInfo">get_content_info</a> - <li><a href="#Group-GetContentInfoMult">get_content_info_mult</a> - <li><a href="#Group-GetOIDByName">get_oid_by_name</a> - <li><a href="#Group-GetOIDByIndex">get_oid_by_index</a> - <li><a href="#Group-GetNameByOID">get_name_by_oid</a> - <li><a href="#Group-GetNameByIndex">get_name_by_index</a> - <li><a href="#Group-InsertItem">insert_item</a> - <li><a href="#Group-InsertItemMult">insert_item_mult</a> - <li><a href="#Group-RemoveItem">remove_item</a> - <li><a href="#Group-RemoveItemMult">remove_item_mult</a> ---> -</ol> - -<li><a href="#Glossary">Glossary</a> - A glossary of data-types used in the APIs -<ol type=A> - <li><a href="#Glossary-Basic">Basic Types</a> - <li><a href="#Glossary-Complex">Complex Types</a> - <li><a href="#Glossary-DiskIO">Disk I/O Types</a> -</ol> - -</ol> - -<hr> -<h2><a name="Library">Library API Functions</a></h2> -<P>These functions are designed to provide access to HDF5 application/library -behavior. They are used to get information about or change global library -parameters. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Library-DontAtExit">H5dont_atexit</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5dont_atexit</code>(<em>void</em>) -<dt><strong>Description:</strong> - <dd>This routine indicates to the library that an 'atexit()' cleanup routine - should not be installed. The major (only?) purpose for this is in - situations where the library is dynamically linked into an application and - is un-linked from the application before 'exit()' gets callled. In those - situations, a routine installed with 'atexit()' would jump to a routine - which was no longer in memory, causing errors. - In order to be effective, this routine <em>must</em> be called before any other - HDF function calls, and must be called each time the library is loaded/ - linked into the application. (the first time and after it's been un-loaded) -<dt><strong>Parameters:</strong> <em>none</em> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Library-Close">H5close</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5close</code>(<em>void</em>) -<dt><strong>Description:</strong> - <dd>This routines flushes all data to disk, closes all file handles and - cleans up all memory used by the library. Generally it is installed - to be called when the application calls <em>exit</em>, but may be - called earlier in event of an emergency shutdown or out of desire - to free all resources used by the HDF5 library. -<dt><strong>Parameters:</strong> none -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Library-Version">H5version</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5version</code>(<em>uintn *</em><code>majversion</code>, - <em>uintn *</em><code>minversion</code>, - <em>uintn *</em><code>relversion</code>, - <em>uintn *</em><code>patversion</code> - ) -<dt><strong>Description:</strong> - <dd>This routine retrieves the major, minor, release and patch versions - of the library which is linked to the application. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>uintn *</em><code>majversion</code> - <dd>The major version of the library. - <dt><em>uintn *</em><code>minversion</code> - <dd>The minor version of the library. - <dt><em>uintn *</em><code>relversion</code> - <dd>The release number of the library. - <dt><em>uintn *</em><code>patversion</code> - <dd>The patch number of the library. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<h2><a name="File">File API Functions</a></h2> -<P>These functions are designed to provide file-level access to HDF5 files. -Further manipulation of objects inside a file is performed through one of APIs -documented below. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-Open">H5Fopen</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Fopen</code>(<em>const char *</em><code>name</code>, - <em>uintn</em> <code>flags</code>, - <em>hid_t</em> <code>access_plist</code> - ) -<dt><strong>Description:</strong> - <dd>This is the primary function for opening existing HDF5 files. - The <code>flags</code> parameter determines the file - access mode. There is no read flag, all open files are - implicitily opened for read access. All flags may be - combined with the '|' (boolean OR operator) to change the - behavior of the file open call. The - <code>access_plist</code> parameter is a property list - containing additional information required for specific - methods of access, parallel I/O for example. The - paramters for access property lists are described in the - H5P API documentation. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>const char *</em><code>name</code> - <dd>Name of the file to access. - <dt><em>uintn</em> <code>flags</code> - <dd>File access flags: - <ul><dl> - <dt>H5F_ACC_RDWR - <dd>Allow read and write access to file. - </dl></ul> - <dt><em>hid_t</em><code>access_plist</code> - <dd>Property list indicating the file access properties. - If parallel file access is desired, this is a collective - call according to the communicator stored in the - access_plist. Use 0 for default access properties. - </dl> -<dt><strong>Returns:</strong> - <dd>An ID (of type <em>hid_t</em>) for the file upon success, - otherwise negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-Create">H5Fcreate</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Fcreate</code>(<em>const char *</em><code>name</code>, - <em>uintn</em> <code>flags</code>, - <em>hid_t</em> <code>create_plist</code>, - <em>hid_t</em> <code>access_plist</code> - ) -<dt><strong>Description:</strong> - <dd>This is the primary function for opening and creating HDF5 files. - The <code>flags</code> parameter determines whether an - existing file will be overwritten or not. All newly - created files are opened for both reading and writing. - All flags may be combined with the '|' (boolean OR - operator) to change the behavior of the file open call. - The <code>create_plist</code> and - <code>access_plist</code> parameters are property lists - containing additional information required for specific - methods of access or particular aspects of the file to set - when creating a file. The parameters for creation and - access property lists are described in the H5P API - documentation. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>const char *</em><code>name</code> - <dd>Name of the file to access. - <dt><em>uintn</em> <code>flags</code> - <dd>File access flags: - <ul><dl> - <dt>H5F_ACC_TRUNC - <dd>Truncate file, if it already exists. The file will - be truncated, erasing all data previously stored in - the file. - </dl></ul> - <dt><em>hid_t</em><code>create_plist</code> - <dd>File creation property list ID, used when modifying - default file meta-data. - <dt><em>hid_t</em><code>access_plist</code> - <dd>Property list indicating the file access properties. - If parallel file access is desired, this is a collective - call according to the communicator stored in the - access_plist. Use 0 for default access properties. - </dl> -<dt><strong>Returns:</strong> - <dd>An ID (of type <em>hid_t</em>) for the file upon success, - otherwise negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-IsHDF5">H5Fis_hdf5</a> -<dt><strong>Signature:</strong> - <dd><em>hbool_t </em><code>H5Fis_hdf5</code>(<em>const char *</em><code>name</code> - ) -<dt><strong>Description:</strong> - <dd>This function determines whether a file is in the HDF5 format. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>const char *</em><code>name</code> - <dd>File name to check format. - </dl> -<dt><strong>Returns:</strong> - <dd>TRUE/FALSE/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-GetCreatePlist">H5Fget_create_plist</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Fget_create_plist</code>(<em>hid_t</em> <code>file_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns a property list ID with a copy of - the parameters used to create this file. Useful for - duplicating the parameters when creating another file. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>file_id</code> - <dd>File ID for which to get creation property list. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="File-Close">H5Fclose</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Fclose</code>(<em>hid_t</em> <code>file_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function terminates access to an HDF5 file. If this is the - last file ID open for a file and if access IDs are still in use, - this function will fail. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>file_id</code> - <dd>File ID to terminate access to. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<h2><a name="Plist">Property List API Functions</a></h2> -<P>These functions manipulate property lists to allow objects which require -many different parameters to be easily manipulated. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-Create">H5Pcreate</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Pcreate</code>(<em>H5P_class_t</em> <code>type</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns a property list ID for a copy of the default - property list of a given type. - <br> - <dl> - <dt>Property List Types and Uses: - <ul><dl> - <dt>H5P_FILE_CREATE - <dd>Used to set the metadata information about a file during - file creation. - <dt>H5P_FILE_ACCESS - <dd>Used to set I/O access information about a file. - <dt>H5P_DATASET_CREATE - <dd>Used to set information about a dataset when it is - created. - <dt>H5P_DATASET_XFER - <dd>Used to set access information about a memory to dataset - transfer. - </dl></ul> - </dl> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>H5P_class_t</em> <code>type</code> - <dd>The type of property list to create. - </dl> -<dt><strong>Returns:</strong> - <dd>Valid ID on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-Close">H5Pclose</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pclose</code>(<em>hid_t</em> <code>plist_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function terminates access to a property list. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to terminate access to. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-GetClass">H5Pget_class</a> -<dt><strong>Signature:</strong> - <dd><em>H5P_class_t </em><code>H5Pget_class</code>(<em>hid_t</em> <code>plist_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function queries the class of a property list ID. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Property list class code on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-Copy">H5Pcopy</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Pcopy</code>(<em>hid_t</em> <code>plist_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function makes a copy of a property list ID. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to duplicate. - </dl> -<dt><strong>Returns:</strong> - <dd>Property list ID on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-GetVersion">H5Pget_version</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_version</code>(<em>hid_t</em> <code>plist_id</code>, - <em>int *</em> <code>boot</code>, - <em>int *</em> <code>freelist</code>, - <em>int *</em> <code>stab</code>, - <em>int *</em> <code>shhdr</code> - ) -<dt><strong>Description:</strong> - <dd>This function queries the version information of various objects - for a file creation property list. Any pointer parameters - which are passed as NULL are not queried. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>int *</em> <code>boot</code> - <dd>Pointer to location to return boot block version number. - <dt><em>int *</em> <code>freelist</code> - <dd>Pointer to location to return global freelist version number. - <dt><em>int *</em> <code>stab</code> - <dd>Pointer to location to return symbol table version number. - <dt><em>int *</em> <code>shhdr</code> - <dd>Pointer to location to return shared object header version number. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-SetUserblock">H5Pset_userblock</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_userblock</code>(<em>hid_t</em> <code>plist_id</code>, - <em>hsize_t</em> <code>size</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the size of the user-block located at the - beginning of an HDF5 file. This function is only valid for - file creation property lists. The default user-block size is 0. - Only values which are powers of 2 larger equal to 512 or larger - may be used as a valid user-block size. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list to modify. - <dt><em>hsize_t</em> <code>size</code> - <dd>Size of the user-block in bytes. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-GetUserblock">H5Pget_userblock</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_userblock</code>(<em>hid_t</em> <code>plist_id</code>, - <em>hsize_t *</em> <code>size</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the size of the user-block located at the - beginning of an HDF5 file. This function is only valid for - file creation property lists. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>hsize_t *</em> <code>size</code> - <dd>Pointer to location to return user-block size. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-SetSizes">H5Pset_sizes</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_sizes</code>(<em>hid_t</em> <code>plist_id</code>, - <em>size_t</em> <code>sizeof_addr</code>, - <em>size_t</em> <code>sizeof_size</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the byte size of the offsets and lengths used to - address objects in an HDF5 file. This function is only - valid for file creation property lists. Passing in a - value of 0 for one of the sizeof parameters retains the - current value. The default value for both values is 4 - bytes. Valid values currenly are 2, 4, 8 and 16. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list to modify. - <dt><em>size_t</em> <code>sizeof_addr</code> - <dd>Size of an object offset in bytes. - <dt><em>size_t</em> <code>sizeof_size</code> - <dd>Size of an object length in bytes. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-GetSizes">H5Pget_sizes</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_sizes</code>(<em>hid_t</em> <code>plist_id</code>, - <em>size_t *</em> <code>sizeof_addr</code>, - <em>size_t *</em> <code>sizeof_size</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the size of the offsets and lengths used - in an HDF5 file. This function is only valid for file creation - property lists. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>size_t *</em> <code>size</code> - <dd>Pointer to location to return offset size in bytes. - <dt><em>size_t *</em> <code>size</code> - <dd>Pointer to location to return length size in bytes. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-SetMPI">H5Pset_mpi</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_mpi</code>(<em>hid_t</em> <code>tid</code>, - <em>MPI_Comm</em> <code>comm</code>, - <em>MPI_Info</em> <code>info</code> - ) -<dt><strong>Description:</strong> - <dd>Store the access mode for parallel I/O call and the user supplied - communicator and info in the access property list which can then - be used to open file. This function is available only in the - parallel HDF5 library. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tid</code> - <dd>ID of property list to modify - <dt><em>MPI_Comm</em> <code>comm</code> - <dd> - MPI communicator to be used for file open as defined in - MPI_FILE_OPEN of MPI-2. This function does not make a - duplicated communicator. Any modification to comm after - this function call returns may have undetermined effect - to the access property list. Users should call this function - again to setup the property list. - <dt><em>MPI_Info</em> <code>info</code> - <dd> - MPI info object to be used for file open as defined in - MPI_FILE_OPEN of MPI-2. This function does not make a - duplicated info. Any modification to info after - this function call returns may have undetermined effect - to the access property list. Users should call this function - again to setup the property list. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-GetMPI">H5Pget_mpi</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_mpi</code>(<em>hid_t</em> <code>tid</code>, - <em>MPI_Comm</em> <code>*comm</code>, - <em>MPI_Info</em> <code>*info</code> - ) -<dt><strong>Description:</strong> - <dd>Retrieves the communicator and info object - that have been set by H5Pset_mpi. - This function is available only in the parallel HDF5 library. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tid</code> - <dd>ID of a file access property list that has been set - successfully by H5Pset_mpi. - <dt><em>MPI_Comm *</em> <code>comm</code> - <dd>Pointer to location to return the communicator. - <dt><em>MPI_Info *</em> <code>info</code> - <dd>Pointer to location to return the info object. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-SetXfer">H5Pset_xfer</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_xfer</code>(<em>hid_t</em> <code>tid</code>, - <em>H5D_transfer_t</em> <code>data_xfer_mode</code> - ) -<dt><strong>Description:</strong> - <dd>Set the transfer mode of the dataset transfer property list. - The list can then be used to control the I/O transfer mode - during dataset accesses. This function is available only - in the parallel HDF5 library and is not a collective function. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tid</code> - <dd>ID of a dataset transfer property list - <dt><em>H5D_transfer_t</em> <code>data_xfer_mode</code> - <dd>Data transfer modes: - <ul><dl> - <dt>H5D_XFER_INDEPENDENT - <dd>Use independent I/O access. - <dt>H5D_XFER_COLLECTIVE - <dd>Use MPI collective I/O access. - </dl></ul> - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-GetXfer">H5Pget_xfer</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_xfer</code>(<em>hid_t</em> <code>tid</code>, - <em>H5D_transfer_t *</em> <code>data_xfer_mode</code> - ) -<dt><strong>Description:</strong> - <dd>Retrieves the transfer mode from the dataset - transfer property list. - This function is available only in the parallel HDF5 library. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tid</code> - <dd>ID of a dataset transfer property list. - <dt><em>H5D_transfer_t *</em> <code>data_xfer_mode</code> - <dd>Pointer to location to return the data_xfer_mode. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-SetSymK">H5Pset_sym_k</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_sym_k</code>(<em>hid_t</em> <code>plist_id</code>, - <em>size_t</em> <code>ik</code>, - <em>size_t</em> <code>lk</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the size of parameters used to control the - symbol table nodes. This function is only valid for file - creation property lists. Passing in a value of 0 for one - of the parameters retains the current value. - <code>ik</code> is one half the rank of a tree that stores - a symbol table for a group. Internal nodes of the symbol - table are on average 75% full. That is, the average rank - of the tree is 1.5 times the value of - <code>ik</code>. <code>lk</code> is one half of the number - of symbols that can be stored in a symbol table node. A - symbol table node is the leaf of a symbol table tree which - is used to store a group. When symbols are inserted - randomly into a group, the group's symbol table nodes are - 75% full on average. That is, they contain 1.5 times the - number of symbols specified by <code>lk</code>. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>size_t</em> <code>ik</code> - <dd>Symbol table tree rank. - <dt><em>size_t</em> <code>lk</code> - <dd>Symbol table node size. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-GetSymK">H5Pget_sym_k</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_sym_k</code>(<em>hid_t</em> <code>plist_id</code>, - <em>size_t *</em> <code>ik</code>, - <em>size_t *</em> <code>lk</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the size of the symbol table's B-tree - 1/2 rank and the symbol table's leaf node 1/2 size. See - information for <a href="#Plist-SetSymK">H5Pset_sym_k</a> - for more information. This function is only valid for file - creation property lists. If a parameter valued is set to - NULL, that parameter is not retrieved. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>size_t *</em> <code>ik</code> - <dd>Pointer to location to return the symbol table's B-tree 1/2 rank. - <dt><em>size_t *</em> <code>size</code> - <dd>Pointer to location to return the symbol table's leaf node 1/2 size. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-SetIstoreK">H5Pset_istore_k</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_istore_k</code>(<em>hid_t</em> <code>plist_id</code>, - <em>size_t</em> <code>ik</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the size of the parameter used to control the - B-trees for indexing chunked datasets. This function is - only valid for file creation property lists. Passing in a - value of 0 for one of the parameters retains the current - value. <code>ik</code> is one half the rank of a tree - that stores chunked raw data. On average, such a tree - will be 75% full, or have an average rank of 1.5 times the - value of <code>ik</code>. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>size_t</em> <code>ik</code> - <dd>1/2 rank of chunked storage B-tree. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-GetIstoreK">H5Pget_istore_k</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_istore_k</code>(<em>hid_t</em> <code>plist_id</code>, - <em>size_t *</em> <code>ik</code> - ) -<dt><strong>Description:</strong> - <dd>Queries the 1/2 rank of an indexed storage B-tree. See - <a href="#Plist-SetIstoreK">H5Pset_istore_k</a> for details. - The argument <code>ik</code> may be the null pointer. This - function is only valid for file creation property lists. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>size_t *</em> <code>ik</code> - <dd>Pointer to location to return the chunked storage B-tree 1/2 rank. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-SetLayout">H5Pset_layout</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_layout</code>(<em>hid_t</em> <code>plist_id</code>, - <em>H5D_layout_t</em> <code>layout</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the type of storage used store the raw data for - a dataset. This function is only valid for dataset - creation property lists. Valid parameter for - <code>layout</code> are: - <ul> <dl> - <dt>H5D_COMPACT - <dd>Store raw data and object header contiguously in file. - This should only be used for very small amounts of raw - data (suggested less than 1KB). - <dt>H5D_CONTIGUOUS - <dd>Store raw data seperately from object header in one - large chunk in the file. - <dt>H5D_CHUNKED - <dd>Store raw data seperately from object header in one - large chunk in the file and store chunks of the raw - data in seperate locations in the file. - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>H5D_layout_t</em> <code>layout</code> - <dd>Type of storage layout for raw data. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-GetLayout">H5Pget_layout</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_layout</code>(<em>hid_t</em> <code>plist_id</code>, - <em>H5D_layout_t *</em> <code>layout</code> - ) -<dt><strong>Description:</strong> - <dd>Queries the layout of the raw data for a dataset. - This function is only valid for dataset creation property lists. - Valid types for <code>layout</code> are: - <ul> <dl> - <dt>H5D_COMPACT - <dd>Raw data and object header stored contiguously in file. - <dt>H5D_CONTIGUOUS - <dd>Raw data stored seperately from object header in one - large chunk in the file. - <dt>H5D_CHUNKED - <dd>Raw data stored seperately from object header in - chunks in seperate locations in the file. - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>H5D_layout_t *</em> <code>layout</code> - <dd>Pointer to location to return the storage layout. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-SetChunk">H5Pset_chunk</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pset_chunk</code>(<em>hid_t</em> <code>plist_id</code>, - <em>int</em> <code>ndims</code>, - <em>const hsize_t *</em> <code>dim</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the size of the chunks used to store a chunked - layout dataset. This function is only valid for dataset - creation property lists. The <code>ndims</code> parameter - currently must be the same size as the rank of the - dataset. The values of the <code>dim</code> array define - the size of the chunks to store the dataset's raw data. - As a side-effect, the layout of the dataset is changed to - H5D_CHUNKED, if it isn't already. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>int</em> <code>ndims</code> - <dd>The number of dimensions of each chunk. - <dt><em>const hsize_t *</em> <code>dim</code> - <dd>An array containing the size of each chunk. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Plist-GetChunk">H5Pget_chunk</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Pget_chunk</code>(<em>hid_t</em> <code>plist_id</code>, - <em>int</em> <code>max_ndims</code> - <em>hsize_t *</em> <code>dims</code> - ) -<dt><strong>Description:</strong> - <dd>Queries the size of chunks for the raw data of a chunked layout - dataset. This function is only valid for dataset creation - property lists. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>plist_id</code> - <dd>Property list ID to query. - <dt><em>int</em> <code>max_ndims</code> - <dd>Size of the <code>dims</code> array. - <dt><em>hsize_t *</em> <code>dims</code> - <dd>Array to store the chunk dimensions. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<!-- -<hr> -<h2><a name="Error">Error API Functions</a></h2> -<P>These functions allow flexible error reporting for the HDF5 library. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Error-SetPush">H5Eset_push</a> -<dt><strong>Signature:</strong> - <dd><em>H5E_push_func_t </em><code>H5Eset_push</code>(<em>H5E_push_func_t</em> <code>func</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets a function to call when an error is detected in - the library. The prototype of the H5E_push_func_t is: <br> -void H5E_push_func_t(int32 errid, hdf_maj_err_code_t maj, hdf_min_err_code_t min, const char *function_name, const char *file_name, intn line); -<dt><strong>Parameters:</strong> - <dl> - <dt><em>H5E_push_func_t</em><code>func</code> - <dd>Pointer to the error reporting function. - </dl> -<dt><strong>Returns:</strong> - <dd>The pointer to the previous error repoting function on succes, NULL on failure -</dl> ---> - -<!-- -<hr> -<h2><a name="Relationships">Relationships API Functions</a></h2> -<P>These functions provide methods of creating links between logically -related objects in a file. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Relationships-GetNumRelations">H5Rget_num_relations</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Rget_num_relations</code>(<em>hid_t </em><code>obj_id</code>, - <em>int32 *</em><code>num_attached</code>, - <em>int32 *</em><code>num_memberof</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the number of relationships attached to the - object and the number of other objects that the object is a member of - itself. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>obj_id</code> - <dd>ID of the object to query the number of attached relations - <dt><em>int32 *</em> <code>num_attached</code> - <dd>Number of objects attached to the object - <dt><em>int32 *</em> <code>num_memberof</code> - <dd>Number of objects that the object is a member of - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Relationships-GetMemberOfOIDs">H5Rget_memberof_oids</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Rget_memberof_oids</code>(<em>hid_t </em><code>obj_id</code>, - <em>hoid_t </em><code>memberof_list[]</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the OIDs of the objects that the object is a - member of. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>obj_id</code> - <dd>ID of the object to get the members of list - <dt><em>hoid_t *</em> <code>memberof_list</code> - <dd>A list of the OIDs for objects which the object is attached to. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Relationships-GetAttachedOIDs">H5Rget_attached_oids</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Rget_attached_oids</code>(<em>hid_t </em><code>obj_id</code>, - <em>hoid_t </em><code>attached_list[]</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the OIDs of the objects that are attached to - the object. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>obj_id</code> - <dd>ID of the object to get the attached OIDs from - <dt><em>hoid_t *</em> <code>attached_list</code> - <dd>A list of the OIDs for objects which are attached to the - object - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Relationships-Attach">H5Rattach_oid</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Rattach_oid</code>(<em>hid_t </em><code>obj_id</code>, - <em>hoid_t </em><code>attach</code> - ) -<dt><strong>Description:</strong> - <dd>This function attaches an OID to the object. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>obj_id</code> - <dd>ID of the object to attach an OID to - <dt><em>hoid_t </em> <code>attach</code> - <dd>The OID to attach to the object - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> ---> - -<hr> -<h2><a name="Dataset">Dataset Object API Functions</a></h2> -<P>These functions create and manipulate dataset objects. Each dataset must -be constructed from a datatype and a dataspace. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Create">H5Dcreate</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dcreate</code>(<em>hid_t </em><code>file_id</code>, - <em>const char *</em><code>name</code>, - <em>hid_t</em><code>type_id</code>, - <em>hid_t</em><code>space_id</code>, - <em>hid_t</em><code>plist_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function creates a new dataset in the file specified with the - <code>file_id</code>. The <code>type_id</code> and - <code>space_id</code> are the IDs of the datatype and - dataspace used to construct the framework of the dataset. The - datatype and dataspace parameters describe the dataset as it - will exist in the file, which is not necessarily the same as - it exists in memory. The <code>plist_id</code> contains - either the default property lists (H5P_DEFAULT) or a plist_id - with particular constant properties used to create the - dataset. The <code>name</code> is used to identify the - dataset in a group and must be unique within that group. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>file_id</code> - <dd>ID of the file to create the dataset within. - <dt><em>const char *</em> <code>name</code> - <dd>The name of the dataset to create. - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of the datatype to use when creating the dataset. - <dt><em>hid_t</em> <code>space_id</code> - <dd>ID of the dataspace to use when creating the dataset. - <dt><em>hid_t</em> <code>plist_id</code> - <dd>ID of the dataset creation property list. - </dl> -<dt><strong>Returns:</strong> - <dd>Dataset ID on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Open">H5Dopen</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dopen</code>(<em>hid_t </em><code>file_id</code>, - <em>const char *</em><code>name</code> - ) -<dt><strong>Description:</strong> - <dd>This function opens an existing dataset for access in the file - specified with the <code>file_id</code>. The <code>name</code> is - used to identify the dataset in the file. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>file_id</code> - <dd>ID of the file to access the dataset within. - <dt><em>const char *</em> <code>name</code> - <dd>The name of the dataset to access. - </dl> -<dt><strong>Returns:</strong> - <dd>Dataset ID on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-GetSpace">H5Dget_space</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dget_space</code>(<em>hid_t </em><code>dataset_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns a copy of the dataspace for a dataset. The - dataspace should be released with the H5Sclose() function. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>dataset_id</code> - <dd>ID of the dataset to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Dataspace ID on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-GetType">H5Dget_type</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dget_type</code>(<em>hid_t </em><code>dataset_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns a copy of the datatype for a dataset. The - dataspace should be released with the H5Tclose() function. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>dataset_id</code> - <dd>ID of the dataset to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Datatype ID on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-GetCreateParms">H5Dget_create_plist</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dget_create_plist</code>(<em>hid_t </em><code>dataset_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns a copy of the dataset creation property - list for a dataset. The property list should be released with the - H5Pclose() function. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>dataset_id</code> - <dd>ID of the dataset to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Dataset creation property list ID on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Read">H5Dread</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Dread</code>(<em>hid_t </em><code>dataset_id</code>, - <em>hid_t</em> <code>mem_type_id</code>, - <em>hid_t</em> <code>mem_space_id</code>, - <em>hid_t</em> <code>file_space_id</code>, - <em>hid_t</em> <code>transfer_plist_id</code>, - <em>void *</em> <code>buf</code> - ) -<dt><strong>Description:</strong> - <dd>This function reads raw data from the specified dataset into <code>buf</code>, - converting from the file datatype of the dataset into the - memory datatype specified in <code>mem_type_id</code>. The - portion of the dataset to read from disk is specified with the - <code>file_spaceid</code> which can contain a dataspace with a - hyperslab selected or the constant H5S_ALL, which indicates - the entire dataset is to be read. The portion of the dataset - read into the memory buffer is specified with the - <code>mem_space_id</code> which can also be a hyperslab of the - same size or the H5S_ALL parameter to store the entire - dataset. The <code>transfer_plist_id</code> is a dataset - transfer property list ID which is used to provide addition - parameters for the I/O operation or can be H5P_DEFAULT for the - default library behavior. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>dataset_id</code> - <dd>ID of the dataset read from. - <dt><em>hid_t</em> <code>mem_type_id</code> - <dd>ID of the memory datatype. - <dt><em>hid_t</em> <code>mem_space_id</code> - <dd>ID of the memory dataspace. - <dt><em>hid_t</em> <code>file_space_id</code> - <dd>ID of the dataset's dataspace in the file. - <dt><em>hid_t</em> <code>transfer_plist_id</code> - <dd>ID of a transfer property list for this I/O operation. - <dt><em>void *</em> <code>buf</code> - <dd>Buffer to store information read from the file. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Write">H5Dwrite</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Dwrite</code>(<em>hid_t </em><code>dataset_id</code>, - <em>hid_t</em> <code>mem_type_id</code>, - <em>hid_t</em> <code>mem_space_id</code>, - <em>hid_t</em> <code>file_space_id</code>, - <em>hid_t</em> <code>transfer_plist_id</code>, - <em>const void *</em> <code>buf</code> - ) -<dt><strong>Description:</strong> - <dd>This function writes raw data from memory into the specified dataset - converting from the memory datatype of the dataset specified - in <code>mem_type_id</code> into the file datatype. The - portion of the dataset to written to disk is specified with - the <code>file_spaceid</code> which can contain a dataspace - with a hyperslab selected or the constant H5S_ALL, which - indicates the entire dataset is to be written. The portion of - the dataset written from the memory buffer is specified with - the <code>mem_space_id</code> which can also be a hyperslab of - the same size or the H5S_ALL parameter to store the entire - dataset. The <code>transfer_plist_id</code> is a dataset - transfer property list ID which is used to provide addition - parameters for the I/O operation or can be H5P_DEFAULT for the - default library behavior. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>dataset_id</code> - <dd>ID of the dataset read from. - <dt><em>hid_t</em> <code>mem_type_id</code> - <dd>ID of the memory datatype. - <dt><em>hid_t</em> <code>mem_space_id</code> - <dd>ID of the memory dataspace. - <dt><em>hid_t</em> <code>file_space_id</code> - <dd>ID of the dataset's dataspace in the file. - <dt><em>hid_t</em> <code>transfer_plist_id</code> - <dd>ID of a transfer property list for this I/O operation. - <dt><em>const void *</em> <code>buf</code> - <dd>Buffer to store information to be written to the file. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Extend">H5Dextend</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Dextend</code>(<em>hid_t </em><code>dataset_id</code>, - <em>const hsize_t *</em> <code>size</code> - ) -<dt><strong>Description:</strong> - <dd>This function increases the size of the dataspace of a dataset with - unlimited dimensions. It cannot be used to extend the size of a - dataspace's fixed dimensions. The <code>size</code> array must have - the same number of entries as the rank of the dataset's dataspace. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>dataset_id</code> - <dd>ID of the dataset read from. - <dt><em>const hsize_t *</em> <code>size</code> - <dd>Array containing the new magnitude of each dimension. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataset-Close">H5Dclose</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Dclose</code>(<em>hid_t </em><code>dataset_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function ends access to a dataset and releases resources used by - it. Further use of the dataset ID is illegal in calls to the dataset - API. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>dataset_id</code> - <dd>ID of the dataset to finish access to. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<h2><a name="Datatype">Datatype Object API Functions</a></h2> -<P>These functions create and manipulate the datatype which describes elements -of a dataset. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Create">H5Tcreate</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Tcreate</code>(<em>H5T_class_t </em><code>class</code>, - <em>size_t</em><code>size</code> - ) -<dt><strong>Description:</strong> - <dd>This function creates a new dataype of the specified class with the - specified number of bytes. Currently, only the <code>H5T_COMPOUND</code> - datatype class is supported with this function, use <code>H5Tcopy</code> - to create integer or floating-point datatypes. The datatype ID - returned from this function should be released with H5Tclose or resource - leaks will result. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>H5T_class_t</em> <code>class</code> - <dd>Class of datatype to create. - <dt><em>size_t</em> <code>size</code> - <dd>The number of bytes in the datatype to create. - </dl> -<dt><strong>Returns:</strong> - <dd>Datatype ID on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Copy">H5Tcopy</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Tcopy</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function copies an existing datatype. The datatype ID returned - should be released with H5Tclose or resource leaks will occur. Native - datatypes supported by the library are: - <ul> <dl> - <dt>H5T_NATIVE_CHAR - <dd> Native character type, declare dataset array as 'char' - <dt>H5T_NATIVE_UCHAR - <dd> Native unsigned character type, declare dataset array as 'unsigned char' - <dt>H5T_NATIVE_SHORT - <dd> Native short type, declare dataset array as 'short' - <dt>H5T_NATIVE_USHORT - <dd> Native unsigned short type, declare dataset array as 'unsigned short' - <dt>H5T_NATIVE_INT - <dd> Native int type, declare dataset array as 'int' - <dt>H5T_NATIVE_UINT - <dd> Native unsigned int type, declare dataset array as 'unsigned int' - <dt>H5T_NATIVE_LONG - <dd> Native long type, declare dataset array as 'unsigned long' - <dt>H5T_NATIVE_ULONG - <dd> Native unsigned long type, declare dataset array as 'unsigned long' - <dt>H5T_NATIVE_LLONG - <dd> Native long long type, declare dataset array as 'unsigned long long' - <dt>H5T_NATIVE_ULLONG - <dd> Native unsigned long long type, declare dataset array as 'unsigned long long' - <dt>H5T_NATIVE_INT8 - <dd> Native signed 8-bit type, declare dataset array as 'int8' - <dt>H5T_NATIVE_UINT8 - <dd> Native unsigned 8-bit type, declare dataset array as 'uint8' - <dt>H5T_NATIVE_INT16 - <dd> Native signed 16-bit type, declare dataset array as 'int16' - <dt>H5T_NATIVE_UINT16 - <dd> Native unsigned 16-bit type, declare dataset array as 'uint16' - <dt>H5T_NATIVE_INT32 - <dd> Native signed 32-bit type, declare dataset array as 'int32' - <dt>H5T_NATIVE_UINT32 - <dd> Native unsigned 32-bit type, declare dataset array as 'uint32' - <dt>H5T_NATIVE_INT64 - <dd> Native signed 64-bit type, declare dataset array as 'uint64' - <dt>H5T_NATIVE_UINT64 - <dd> Native unsigned 64-bit type, declare dataset array as 'uint64' - <dt>H5T_NATIVE_FLOAT - <dd> Native single-precision float type, declare dataset array as 'float' - <dt>H5T_NATIVE_DOUBLE - <dd> Native double-precision float type, declare dataset array as 'double' - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to copy. - </dl> -<dt><strong>Returns:</strong> - <dd>Datatype ID on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Equal">H5Tequal</a> -<dt><strong>Signature:</strong> - <dd><em>hbool_t </em><code>H5Tequal</code>(<em>hid_t </em><code>type_id1</code>, - <em>hid_t</em><code>type_id2</code> - ) -<dt><strong>Description:</strong> - <dd>This function determines if two datatype IDs refer to the same - datatype. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id1</code> - <dd>ID of datatype to compare. - <dt><em>hid_t</em> <code>type_id2</code> - <dd>ID of datatype to compare. - </dl> -<dt><strong>Returns:</strong> - <dd>TRUE/FALSE/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Lock">H5Tlock</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tlock</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function locks a type, making it read-only and non-destrucible. - This is normally done by the library for predefined data types so the - application doesn't inadvertently change or delete a predefined type. - Once a data type is locked it can never be unlocked. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to lock. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetClass">H5Tget_class</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_class_t </em><code>H5Tget_class</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns the base class of a datatype. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Non-negative type class on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetSize">H5Tget_size</a> -<dt><strong>Signature:</strong> - <dd><em>size_t </em><code>H5Tget_size</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns the size of a datatype in bytes. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Positve size in bytes on success, 0 on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetSize">H5Tset_size</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_size</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t</em><code>size</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the total size in bytes for an atomic data type (this - operation is not permitted on compound data types). If the size is - decreased so that the significant bits of the data type extend beyond - the edge of the new size, then the `offset' property is decreased - toward zero. If the `offset' becomes zero and the significant - bits of the data type still hang over the edge of the new size, then - the number of significant bits is decreased. - Adjusting the size of an H5T_STRING automatically sets the precision - to 8*size. All data types have a positive size. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to change size. - <dt><em>size_t</em> <code>size</code> - <dd>Size in bytes to modify datatype. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetOrder">H5Tget_order</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_order_t </em><code>H5Tget_order</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns the byte order of an atomic datatype. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Byte order constant on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetOrder">H5Tset_order</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_order</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_order_t</em><code>order</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the byte ordering of an atomic datatype. - Byte orderings currently supported are: - <ul> <dl> - <dt>H5T_ORDER_LE - <dd> Little-endian byte ordering (default) - <dt>H5T_ORDER_BE - <dd> Big-endian byte ordering - <dt>H5T_ORDER_Vax - <dd> VAX-endianness byte ordering (not currently supported) - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to set. - <dt><em>H5T_order_t</em> <code>order</code> - <dd>Byte ordering constant. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetPrecision">H5Tget_precision</a> -<dt><strong>Signature:</strong> - <dd><em>size_t </em><code>H5Tget_precision</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns the precision of an atomic data type. The - precision is the number of significant bits which, unless padding is - present, is 8 times larger than the value returned by H5Tget_size(). -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Number of significant bits on success, 0 on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetPrecision">H5Tset_precision</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_precision</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t</em><code>precision</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the precision of an atomic data type. The precision - is the number of significant bits which, unless padding is present, is 8 - times larger than the value returned by H5Tget_size(). - <P>If the precision is increased then the offset is decreased and then - the size is increased to insure that significant bits do not "hang - over" the edge of the data type. - <P>Changing the precision of an H5T_STRING automatically changes the - size as well. The precision must be a multiple of 8. - <P>When decreasing the precision of a floating point type, set the - locations and sizes of the sign, mantissa, and exponent fields - first. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to set. - <dt><em>size_t</em> <code>precision</code> - <dd>Number of bits of precision for datatype. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetOffset">H5Tget_offset</a> -<dt><strong>Signature:</strong> - <dd><em>size_t </em><code>H5Tget_offset</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the bit offset of the first significant bit. - The signficant bits of an atomic datum can be offset from the beginning - of the memory for that datum by an amount of padding. The `offset' - property specifies the number of bits of padding that appear to the - "right of" the value. That is, if we have a 32-bit datum with 16-bits - of precision having the value 0x1122 then it will be layed out in - memory as (from small byte address toward larger byte addresses): - <br> - <br> - - <table border align=center cellpadding=4 width="80%"> - <tr align=center> - <th width="20%">Byte Position</th> - <th width="20%">Big-Endian Offset=0</th> - <th width="20%">Big-Endian Offset=16</th> - <th width="20%">Little-Endian Offset=0</th> - <th width="20%">Little-Endian Offset=16</th> - </tr> - <tr align=center> - <td>0:</td> - <td>[ pad]</td> - <td>[0x11]</td> - <td>[0x22]</td> - <td>[ pad]</td> - </tr> - <tr align=center> - <td>1:</td> - <td>[ pad]</td> - <td>[0x22]</td> - <td>[0x11]</td> - <td>[ pad]</td> - </tr> - <tr align=center> - <td>2:</td> - <td>[0x11]</td> - <td>[ pad]</td> - <td>[ pad]</td> - <td>[0x22]</td> - </tr> - <tr align=center> - <td>3:</td> - <td>[0x22]</td> - <td>[ pad]</td> - <td>[ pad]</td> - <td>[0x11]</td> - </tr> - </table> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Positive offset value on success, 0 on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetOffset">H5Tset_offset</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_offset</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t</em> <code>offset</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the bit offset of the first significant bit. The - signficant bits of an atomic datum can be offset from the beginning of - the memory for that datum by an amount of padding. The `offset' - property specifies the number of bits of padding that appear to the - "right of" the value. That is, if we have a 32-bit datum with 16-bits - of precision having the value 0x1122 then it will be layed out in - memory as (from small byte address toward larger byte addresses): - <br> - <br> - - <table border align=center cellpadding=4 width="80%"> - <tr align=center> - <th width="20%">Byte Position</th> - <th width="20%">Big-Endian Offset=0</th> - <th width="20%">Big-Endian Offset=16</th> - <th width="20%">Little-Endian Offset=0</th> - <th width="20%">Little-Endian Offset=16</th> - </tr> - <tr align=center> - <td>0:</td> - <td>[ pad]</td> - <td>[0x11]</td> - <td>[0x22]</td> - <td>[ pad]</td> - </tr> - <tr align=center> - <td>1:</td> - <td>[ pad]</td> - <td>[0x22]</td> - <td>[0x11]</td> - <td>[ pad]</td> - </tr> - <tr align=center> - <td>2:</td> - <td>[0x11]</td> - <td>[ pad]</td> - <td>[ pad]</td> - <td>[0x22]</td> - </tr> - <tr align=center> - <td>3:</td> - <td>[0x22]</td> - <td>[ pad]</td> - <td>[ pad]</td> - <td>[0x11]</td> - </tr> - </table> - -<P>If the offset is incremented then the total size is -incremented also if necessary to prevent significant bits of -the value from hanging over the edge of the data type. - -<P>The offset of an H5T_STRING cannot be set to anything but -zero. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to set. - <dt><em>size_t</em> <code>offset</code> - <dd>Offset of first significant bit. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetPad">H5Tget_pad</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tget_pad</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_pad_t *</em> <code>lsb</code>, - <em>H5T_pad_t *</em> <code>msb</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the padding type of the least and most-significant - bit padding. Valid types are: - <ul> <dl> - <dt>H5T_PAD_ZERO - <dd>Set background to zeros. - <dt>H5T_PAD_ONE - <dd>Set background to ones. - <dt>H5T_PAD_BACKGROUND - <dd>Leave background alone. - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - <dt><em>H5T_pad_t *</em> <code>lsb</code> - <dd>Pointer to location to return least-significant bit padding type. - <dt><em>H5T_pad_t *</em> <code>msb</code> - <dd>Pointer to location to return most-significant bit padding type. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetPad">H5Tset_pad</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_pad</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_pad_t</em> <code>lsb</code>, - <em>H5T_pad_t</em> <code>msb</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the least and most-significant bits padding types. - <ul> <dl> - <dt>H5T_PAD_ZERO - <dd>Set background to zeros. - <dt>H5T_PAD_ONE - <dd>Set background to ones. - <dt>H5T_PAD_BACKGROUND - <dd>Leave background alone. - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to set. - <dt><em>H5T_pad_t</em> <code>lsb</code> - <dd>Padding type for least-significant bits. - <dt><em>H5T_pad_t</em> <code>msb</code> - <dd>Padding type for most-significant bits. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetSign">H5Tget_sign</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_sign_t </em><code>H5Tget_sign</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the sign type for an integer type. - Valid types are: - <ul> <dl> - <dt>H5T_SGN_NONE - <dd>Unsigned integer type. - <dt>H5T_SGN_2 - <dd>Two's complement signed integer type. - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Non-negative sign type on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetSign">H5Tset_sign</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_sign</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_sign_t</em> <code>sign</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the sign proprety for an integer type. - <ul> <dl> - <dt>H5T_SGN_NONE - <dd>Unsigned integer type. - <dt>H5T_SGN_2 - <dd>Two's complement signed integer type. - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to set. - <dt><em>H5T_sign_t</em> <code>sign</code> - <dd>Sign type. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetFields">H5Tget_fields</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tget_fields</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t *</em> <code>epos</code>, - <em>size_t *</em> <code>esize</code>, - <em>size_t *</em> <code>mpos</code>, - <em>size_t *</em> <code>msize</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves information about the locations of the various - bit fields of a floating point data type. The field positions are bit - positions in the significant region of the data type. Bits are - numbered with the least significant bit number zero. - Any (or even all) of the arguments can be null pointers. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - <dt><em>size_t *</em> <code>epos</code> - <dd>Pointer to location to return exponent bit-position. - <dt><em>size_t *</em> <code>esize</code> - <dd>Pointer to location to return size of exponent in bits. - <dt><em>size_t *</em> <code>mpos</code> - <dd>Pointer to location to return mantissa bit-position. - <dt><em>size_t *</em> <code>msize</code> - <dd>Pointer to location to return size of mantissa in bits. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetFields">H5Tset_fields</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_fields</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t</em> <code>epos</code>, - <em>size_t</em> <code>esize</code>, - <em>size_t</em> <code>mpos</code>, - <em>size_t</em> <code>msize</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the locations and sizes of the various floating - point bit fields. The field positions are bit positions in the - significant region of the data type. Bits are numbered with the least - significant bit number zero. - - <P>Fields are not allowed to extend beyond the number of bits of - precision, nor are they allowed to overlap with one another. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to set. - <dt><em>size_t</em> <code>epos</code> - <dd>Exponent bit position. - <dt><em>size_t</em> <code>esize</code> - <dd>Size of exponent in bits. - <dt><em>size_t</em> <code>mpos</code> - <dd>Mantissa bit position. - <dt><em>size_t</em> <code>msize</code> - <dd>Size of mantissa in bits. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetEbias">H5Tget_ebias</a> -<dt><strong>Signature:</strong> - <dd><em>size_t </em><code>H5Tget_ebias</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the exponent bias of a floating-point type. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Positive value on success, 0 on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetEbias">H5Tset_ebias</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_ebias</code>(<em>hid_t </em><code>type_id</code>, - <em>size_t</em> <code>ebias</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the exponent bias of a floating-point type. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to set. - <dt><em>size_t</em> <code>ebias</code> - <dd>Exponent bias value. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetNorm">H5Tget_norm</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_norm_t </em><code>H5Tget_norm</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the mantissa normalization of a floating-point - datatype. Valid normalization values are: - <ul> <dl> - <dt>H5T_NORM_IMPLIED - <dd>MSB of mantissa isn't stored, always 1 - <dt>H5T_NORM_MSBSET - <dd>MSB of mantissa is always 1 - <dt>H5T_NORM_NONE - <dd>Mantissa is not normalized - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Non-negative normalization type on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetNorm">H5Tset_norm</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_norm</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_norm_t</em> <code>norm</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets the mantissa normalization of a floating-point - datatype. Valid normalization values are: - <ul> <dl> - <dt>H5T_NORM_IMPLIED - <dd>MSB of mantissa isn't stored, always 1 - <dt>H5T_NORM_MSBSET - <dd>MSB of mantissa is always 1 - <dt>H5T_NORM_NONE - <dd>Mantissa is not normalized - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to set. - <dt><em>H5T_norm_t</em> <code>norm</code> - <dd>Mantissa normalization type. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetInpad">H5Tget_inpad</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_pad_t </em><code>H5Tget_inpad</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the internal padding type for unused bits in - floating-point datatypes. - Valid padding values are: - <ul> <dl> - <dt>H5T_PAD_ZERO - <dd>Set background to zeros. - <dt>H5T_PAD_ONE - <dd>Set background to ones. - <dt>H5T_PAD_BACKGROUND - <dd>Leave background alone. - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Non-negative padding type on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetInpad">H5Tset_inpad</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_inpad</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_pad_t</em> <code>inpad</code> - ) -<dt><strong>Description:</strong> - <dd>If any internal bits of a floating point type are unused - (that is, those significant bits which are not part of the - sign, exponent, or mantissa) then they will be filled - according to the value of this property. - Valid padding values are: - <ul> <dl> - <dt>H5T_PAD_ZERO - <dd>Set background to zeros. - <dt>H5T_PAD_ONE - <dd>Set background to ones. - <dt>H5T_PAD_BACKGROUND - <dd>Leave background alone. - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to modify. - <dt><em>H5T_pad_t</em> <code>pad</code> - <dd>Padding type. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetCset">H5Tget_cset</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_cset_t </em><code>H5Tget_cset</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the character set type of a string datatype. - Valid character set values are: - <ul> <dl> - <dt>H5T_CSET_ASCII - <dd>Character set is US ASCII - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Non-negative character set type on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetCset">H5Tset_cset</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_cset</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_cset_t</em> <code>cset</code> - ) -<dt><strong>Description:</strong> - <dd>HDF5 is able to distinguish between character sets of different - nationalities and to convert between them to the extent possible. - Valid character set values are: - <ul> <dl> - <dt>H5T_CSET_ASCII - <dd>Character set is US ASCII - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to modify. - <dt><em>H5T_cset_t</em> <code>cset</code> - <dd>Character set type. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetStrpad">H5Tget_strpad</a> -<dt><strong>Signature:</strong> - <dd><em>H5T_str_t </em><code>H5Tget_strpad</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the string padding method for a string datatype. - Valid string padding values are: - <ul> <dl> - <dt>H5T_STR_NULL - <dd>Pad with zeros (as C does) - <dt>H5T_STR_SPACE - <dd>Pad with spaces (as FORTRAN does) - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Non-negative string padding type on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-SetStrpad">H5Tset_strpad</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tset_strpad</code>(<em>hid_t </em><code>type_id</code>, - <em>H5T_str_t</em> <code>strpad</code> - ) -<dt><strong>Description:</strong> - <dd>The method used to store character strings differs with the programming - language: C usually null terminates strings while Fortran - left-justifies and space-pads strings. This property defines the - storage mechanism for the string. - Valid string padding values are: - <ul> <dl> - <dt>H5T_STR_NULL - <dd>Pad with zeros (as C does) - <dt>H5T_STR_SPACE - <dd>Pad with spaces (as FORTRAN does) - </dl> </ul> -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to modify. - <dt><em>H5T_str_t</em> <code>strpad</code> - <dd>String padding type. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetNmembers">H5Tget_nmembers</a> -<dt><strong>Signature:</strong> - <dd><em>intn </em><code>H5Tget_nmembers</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the number of fields a compound datatype has. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - </dl> -<dt><strong>Returns:</strong> - <dd>Number of members datatype has on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetMemberName">H5Tget_member_name</a> -<dt><strong>Signature:</strong> - <dd><em>char *</em> <code>H5Tget_member_name</code>(<em>hid_t </em><code>type_id</code>, - <em>intn</em> <code>fieldno</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the name of a field of a compound data type. - Fields are stored in no particular order with numbers 0 through N-1 - where N is the value returned by H5Tget_nmembers(). The name of the - field is allocated with malloc() and the caller is responsible for - freeing the memory used by the name. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - <dt><em>intn</em> <code>fieldno</code> - <dd>Field number (indexed from 0) of the field name to retrieve. - </dl> -<dt><strong>Returns:</strong> - <dd>Valid pointer on success, NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetMemberDims">H5Tget_member_dims</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Tget_member_dims</code>(<em>hid_t </em><code>type_id</code>, - <em>intn</em> <code>fieldno</code>, - <em>size_t *</em> <code>dims</code>, - <em>int *</em> <code>perm</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns the dimensionality of the field. The dimensions - and permuation vector are returned through arguments <code>dims</code> - and <code>perm</code>, both arrays of at least four elements. Either - (or even both) may be null pointers. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - <dt><em>intn</em> <code>fieldno</code> - <dd>Field number (indexed from 0) of the field dims to retrieve. - <dt><em>size_t *</em> <code>dims</code> - <dd>Pointer to buffer to store the dimensions of the field. - <dt><em>int *</em> <code>perm</code> - <dd>Pointer to buffer to store the permutation vector of the field. - </dl> -<dt><strong>Returns:</strong> - <dd>Number of dimensions on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-GetMemberType">H5Tget_member_type</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Tget_member_type</code>(<em>hid_t </em><code>type_id</code>, - <em>intn</em> <code>fieldno</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns the data type of the specified member. The caller - should invoke H5Tclose() to release resources associated with the type. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to query. - <dt><em>intn</em> <code>fieldno</code> - <dd>Field number (indexed from 0) of the field type to retrieve. - </dl> -<dt><strong>Returns:</strong> - <dd>The ID of a copy of the datatype of the field, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Insert">H5Tinsert</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tinsert</code>(<em>hid_t </em><code>type_id</code>, - <em>const char *</em> <code>name</code>, - <em>off_t</em> <code>offset</code>, - <em>hid_t</em> <code>field_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function adds another member to the compound data type - <code>type_id</code>. The new member has a <code>name</code> which - must be unique within the compound data type. The <code>offset</code> - argument defines the start of the member in an instance of the compound - data type, and <code>field_id</code> is the type of the new member. - - <P>Note: All members of a compound data type must be atomic; a - compound data type cannot have a member which is a compound data - type. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of compound datatype to modify. - <dt><em>const char *</em> <code>name</code> - <dd>Name of the field to insert. - <dt><em>off_t</em> <code>offset</code> - <dd>Offset in memory structure of the field to insert. - <dt><em>hid_t</em> <code>field_id</code> - <dd>Datatype ID of the field to insert. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Pack">H5Tpack</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tpack</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function recursively removes padding from within a compound - datatype to make it more efficient (space-wise) to store that data. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to modify. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-RegisterHard">H5Tregister_hard</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tregister_hard</code>(<em>const char - *</em> <code>name</code>, <em>hid_t </em><code>src_id</code>, - <em>hid_t</em> <code>dst_id</code>, - <em>H5T_conv_t</em> <code>func</code> - ) -<dt><strong>Description:</strong> - <dd>This function registers a hard conversion function for a data type - conversion path. The path is specified by the source and destination - datatypes <code>src_id</code> and <code>dst_id</code>. A conversion - path can only have one hard function, so <code>func</code> replaces any - previous hard function. - <P>If <code>func</code> is the null pointer then any hard function - registered for this path is removed from this path. The soft functions - are then used when determining which conversion function is appropriate - for this path. The <code>name</code> argument is used only - for debugging and should be a short identifier for the function. - <P>The type of the conversion function pointer is declared as: - typedef herr_t (*H5T_conv_t) (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, - size_t nelmts, void *buf, void *bkg); -<dt><strong>Parameters:</strong> - <dl> - <dt><em>const char *</em> <code>name</code> - <dd>Name displayed in diagnostic output. - <dt><em>hid_t</em> <code>src_id</code> - <dd>ID of source datatype. - <dt><em>hid_t</em> <code>dst_id</code> - <dd>ID of destination datatype. - <dt><em>H5T_conv_t</em> <code>func</code> - <dd>Function to convert between source and destination datatypes. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-RegisterSoft">H5Tregister_soft</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tregister_soft</code>(<em>const char - *</em> <code>name</code>, <em>hid_t </em><code>src_id</code>, - <em>hid_t</em> <code>dst_id</code>, - <em>H5T_conv_t</em> <code>func</code> - ) -<dt><strong>Description:</strong> - <dd>This function registers a soft conversion function by adding it to the - end of the master soft list and replacing the soft function in all - applicable existing conversion paths. The <code>name</code> - is used only for debugging and should be a short identifier - for the function. - <P>The type of the conversion function pointer is declared as: - typedef herr_t (*H5T_conv_t) (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, - size_t nelmts, void *buf, void *bkg); -<dt><strong>Parameters:</strong> - <dl> - <dt><em>const char *</em> <code>name</code> - <dd>Name displayed in diagnostic output. - <dt><em>hid_t</em> <code>src_id</code> - <dd>ID of source datatype. - <dt><em>hid_t</em> <code>dst_id</code> - <dd>ID of destination datatype. - <dt><em>H5T_conv_t</em> <code>func</code> - <dd>Function to convert between source and destination datatypes. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Unregister">H5Tunregister</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Tunregister</code>(<em>H5T_conv_t</em> <code>func</code> - ) -<dt><strong>Description:</strong> - <dd>This function removes a conversion function from all conversion paths. - <P>The type of the conversion function pointer is declared as: - typedef herr_t (*H5T_conv_t) (hid_t src_id, hid_t dst_id, H5T_cdata_t *cdata, - size_t nelmts, void *buf, void *bkg); -<dt><strong>Parameters:</strong> - <dl> - <dt><em>H5T_conv_t</em> <code>func</code> - <dd>Function to remove from conversion paths. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Datatype-Close">H5Tclose</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Tclose</code>(<em>hid_t </em><code>type_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function releases a datatype. Further access through the datatype - ID is illegal. Failure to release a datatype with this call will - result in resource leaks. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>type_id</code> - <dd>ID of datatype to release. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - - -<hr> -<h2><a name="Dataspace">Dataspace Object API Functions</a></h2> -<P>These functions create and manipulate the dataspace in which to store the -elements of a dataset. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-CreateSimple">H5Screate_simple</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t</em> <code>H5Screate_simple</code>(<em>int</em> <code>rank</code>, - <em>const hsize_t *</em> <code>dims</code>, - <em>const hsize_t *</em> <code>maxdims</code> - ) -<dt><strong>Description:</strong> - <dd>This function creates a new simple data space object and opens it for - access. The <code>rank</code> is the number of dimensions used in the - dataspace. The <code>dims</code> argument is the size of the simple - dataset and the <code>maxdims</code> argument is the upper limit on the - size of the dataset. <code>maxdims</code> may be the null pointer in - which case the upper limit is the same as <code>dims</code>. If an - element of <code>maxdims</code> is zero then the corresponding dimension - is unlimited, otherwise no element of <code>maxdims</code> should be - smaller than the corresponding element of <code>dims</code>. The - dataspace ID returned from this function should be released with - H5Sclose or resource leaks will occur. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>int</em> <code>rank</code> - <dd>Number of dimensions of dataspace. - <dt><em>const hsize_t *</em> <code>dims</code> - <dd>An array of the size of each dimension. - <dt><em>const hsize_t *</em> <code>maxdims</code> - <dd>An array of the maximum size of each dimension. - </dl> -<dt><strong>Returns:</strong> - <dd>A dataspace ID on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-Copy">H5Scopy</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Scopy</code>(<em>hid_t </em><code>space_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function copies a dataspace. The dataspace ID returned from this - function should be released with H5Sclose or resource leaks will occur. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>space_id</code> - <dd>ID of dataspace to copy. - </dl> -<dt><strong>Returns:</strong> - <dd>A dataspace ID on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-GetNpoints">H5Sget_npoints</a> -<dt><strong>Signature:</strong> - <dd><em>hsize_t</em> <code>H5Sget_npoints</code>(<em>hid_t </em><code>space_id</code>) -<dt><strong>Description:</strong> - <dd>This function determines the number of elements in a dataspace. For - example, a simple 3-dimensional dataspace with dimensions 2, 3 and 4 - would have 24 elements. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>space_id</code> - <dd>ID of the dataspace object to query - </dl> -<dt><strong>Returns:</strong> - <dd>Number of elements in the dataspace, 0 on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-GetNdims">H5Sget_ndims</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Sget_ndims</code>(<em>hid_t</em> <code>space_id</code>) -<dt><strong>Description:</strong> - <dd>This function determines the dimensionality (or rank) of a dataspace. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>space_id</code> - <dd>ID of the dataspace object to query - </dl> -<dt><strong>Returns:</strong> - <dd>Number of dimensions in the dataspace, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-GetDims">H5Sget_dims</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Sget_dims</code>(<em>hid_t</em> <code>space_id</code>, - <em>hsize_t *</em><code>dims</code>, - <em>hsize_t *</em><code>maxdims</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns the size of each dimension in a dataspace through - the <code>dims</code> parameter. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>space_id</code> - <dd>ID of the dataspace object to query - <dt><em>hsize_t *</em><code>dims</code> - <dd>Pointer to array to store the size of each dimension. - <dt><em>hsize_t *</em><code>maxdims</code> - <dd>Pointer to array to store the maximum size of each dimension. - </dl> -<dt><strong>Returns:</strong> - <dd>Number of dimensions in the dataspace, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-IsSimple">H5Sis_simple</a> -<dt><strong>Signature:</strong> - <dd><em>hbool_t </em><code>H5Sis_simple</code>(<em>hid_t </em><code>space_id</code>) -<dt><strong>Description:</strong> - <dd>This function determines whether a dataspace object is a simple - dataspace or not. [Currently, all dataspace objects are simple - dataspaces, complex dataspace support will be added in the future] -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>space_id</code> - <dd>ID of the dataspace object to query - </dl> -<dt><strong>Returns:</strong> - <dd>TRUE or FALSE on success, negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SetSpace">H5Sset_space</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Sset_space</code>(<em>hid_t </em><code>space_id</code>, - <em>uint32 </em><code>rank</code>, - <em>uint32 *</em><code>dims</code> - ) -<dt><strong>Description:</strong> - <dd>This function determines the number of dimensions and the size of each - dimension for the space that a dataset is stored within. This function - only creates simple dataspace objects. Setting the rank to a - value of zero allows scalar objects to be created. Dimensions are - specified from slowest to fastest changing in the <code>dims</code> - array (i.e. 'C' order). Setting the size of a dimension to zero - indicates that the dimension is of unlimited size and should be allowed - to expand. Currently, only the first dimension in the array (the - slowest) may be unlimited in size. - [Currently, all dataspace objects are simple - dataspaces, complex dataspace support will be added in the future] -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>space_id</code> - <dd>ID of the dataspace object. - <dt><em>uint32</em> <code>rank</code> - <dd>The number of dimensions the object is composed of. - <dt><em>uint32 *</em> <code>dims</code> - <dd>An array of the size of each dimension. (NULL for scalar objects) - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-SetHyperslab">H5Sset_hyperslab</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t</em> <code>H5Sset_hyperslab</code>(<em>hid_t</em> <code>space_id</code>, - <em>const hssize_t *</em><code>start</code>, - <em>const hsize_t *</em><code>count</code>, - <em>const hsize_t *</em><code>stride</code> - ) -<dt><strong>Description:</strong> - <dd>This function selects a hyperslab from a simple dataspace. The stride - array may be used to sub-sample the hyperslab chosen, a value of 1 in each - position of the stride array selects contiguous elements in the array, - a value of 2 selects every other element, etc. If the stride parameter is - set to NULL, a contiguous hyperslab is chosen. The values in the start and - count arrays may be negative, to allow for selecting hyperslabs in chunked - datasets which extend in arbitrary directions. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>space_id</code> - <dd>ID of the dataspace object to set hyperslab in. - <dt><em>const hssize_t *</em><code>start</code> - <dd>Pointer to array of starting location for hyperslab. - <dt><em>const hsize_t *</em><code>count</code> - <dd>Pointer to array of magnitude of hyperslab. - <dt><em>const hsize_t *</em><code>stride</code> - <dd>Pointer to array of stride of hyperslab. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-GetHyperslab">H5Sget_hyperslab</a> -<dt><strong>Signature:</strong> - <dd><em>int</em> <code>H5Sget_hyperslab</code>(<em>hid_t</em> <code>space_id</code>, - <em>hssize_t *</em><code>start</code>, - <em>hsize_t *</em><code>count</code>, - <em>hsize_t *</em><code>stride</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves information about the hyperslab from a simple - dataspace. If no hyperslab has been defined then the hyperslab is the - same as the entire array. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>space_id</code> - <dd>ID of the dataspace object to set hyperslab in. - <dt><em>hssize_t *</em><code>start</code> - <dd>Pointer to array to store starting location of hyperslab. - <dt><em>hsize_t *</em><code>count</code> - <dd>Pointer to array to store magnitude of hyperslab. - <dt><em>hsize_t *</em><code>stride</code> - <dd>Pointer to array to store stride of hyperslab. - </dl> -<dt><strong>Returns:</strong> - <dd>Hyperslab dimensionality on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Dataspace-Close">H5Sclose</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Sclose</code>(<em>hid_t </em><code>space_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function releases a dataspace. Further access through the dataspace - ID is illegal. Failure to release a dataspace with this call will - result in resource leaks. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>space_id</code> - <dd>ID of dataspace to release. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<h2><a name="Group">Group Object API Functions</a></h2> - -<p>A group associates names with objects and provides a mechanism -which can map a name to an object. Since all objects -appear in at least one group (with the possible exception of the root -object) and since objects can have names in more than one group, the -set of all objects in an HDF5 file is a directed graph. The internal -nodes (nodes with out-degree greater than zero) must be groups while -the leaf nodes (nodes with out-degree zero) are either empty groups or -objects of some other type. Exactly one object in every non-empty -file is the root object. The root object always has a positive -in-degree because it is pointed to by the file boot block. - -<p>Every file handle returned by <code>H5Fcreate</code> or -<code>H5Fopen</code> maintains an independent current working group -stack, the top item of which is the current working group (the root -object is the current working group if the stack is empty). The stack -can be manipulated with <code>H5Gset</code>, <code>H5Gpush</code>, and -<code>H5Gpop</code>. - -<p>An object name consists of one or more components separated from -one another by slashes. If the name begins with a slash then the -object is located by looking for the first component in the root -object, then looking for the second component in that object, etc., -until the entire name is traversed. If the name doesn't begin with a -slash then the traversal begins with the current working group. - -<p>The library does not maintain the full absolute name of its current -working group because (1) cycles in the graph can make the name length -unbounded and (2) a group doesn't necessarily have a unique name. A -more Unix-like hierarchical naming scheme can be implemented on top of -the directed graph scheme by creating a ".." entry in each group that -points to its single predecessor and then a <code>getcwd</code> -function would be trivial. - -<br> -<br> - -<hr> - <dl> - <dt><strong>Name:</strong> <a name="Group-Create">H5Gcreate</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Gset</code> (<em>hid_t</em> - <code>file</code>, <em>const char *</em><code>name</code>, - <em>size_t</em> <code>size_hint</code>) - <dt><strong>Description:</strong> - <dd>This function creates a new empty group and gives it a name. - <dt><strong>Parameters:</strong> - <dd> - <dl> - <dt><em>hid_t</em> <code>file</code> - <dd>The file handle returned by <code>H5Fcreate</code> or - <code>H5Fopen</code>. - <dt><em>const char *</em><code>name</code> - <dd>The absolute or relative name of the new group. - <dt><em>size_t</em> <code>size_hint</code> - <dd>The size hint is an optional parameter that indicates - the number of bytes to reserve for the names that will - appear in the group. A conservative estimate could result - in multiple system-level I/O requests to read the group - name heap while a liberal estimate could result in a - single large I/O request even when the group has just a - few names. HDF5 stores each name with a null terminator. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns a negative value on failure, non-negative otherwise. - </dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-Open">H5Sopen</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Gopen</code>(<em>hid_t</em> <code>file_id</code>, - <em>const char *</em><code>name</code> - ) -<dt><strong>Description:</strong> - <dd>This function opens an existing group for modification. When finished, - call H5Gclose() to close it and release resources. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>file_id</code> - <dd>ID of file to open group within. - <dt><em>const char *</em> <code>name</code> - <dd>Name of group to open. - </dl> -<dt><strong>Returns:</strong> - <dd>Valid group ID on success, negative on failure. -</dl> - -<hr> - <dl> - <dt><strong>Name:</strong> <a name="Group-Set">H5Gset</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Gset</code> (<em>hid_t</em> - <code>file</code>, <em>const char *</em><code>name</code>) - <dt><strong>Description:</strong> - <dd>This function sets the current working group by modifying the - top element of the current working group stack or, if the - stack is empty, by pushing a new element onto the stack. - <dt><strong>Parameters:</strong> - <dd> - <dl> - <dt><em>hid_t</em> <code>file</code> - <dd>The file handle returned by <code>H5Fcreate</code> or - <code>H5Fopen</code>. - <dt><em>const char *</em><code>name</code> - <dd>The name of the new current working group. If the name - doesn't begin with a slash then it is looked up relative the - the previous current working group. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns a negative value on failure, non-negative otherwise. - </dl> - -<hr> - <dl> - <dt><strong>Name:</strong> <a name="Group-Push">H5Gpush</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Gpush</code> (<em>hid_t</em> - <code>file</code>, <em>const char *</em><code>name</code>) - <dt><strong>Description:</strong> - <dd>This function sets the current working group by pushing a - new element onto the current working group stack. - <dt><strong>Parameters:</strong> - <dd> - <dl> - <dt><em>hid_t</em> <code>file</code> - <dd>The file handle returned by <code>H5Fcreate</code> or - <code>H5Fopen</code>. - <dt><em>const char *</em><code>name</code> - <dd>The name of the new current working group. If the name - doesn't begin with a slash then it is looked up relative the - the previous current working group. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns a negative value on failure, non-negative otherwise. - </dl> - -<hr> - <dl> - <dt><strong>Name:</strong> <a name="Group-Pop">H5Gpop</a> - <dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Gpop</code> (<em>hid_t</em> - <code>file</code>) - <dt><strong>Description:</strong> - <dd>This function restores the previous current working group by - popping an element from the current working group stack. An - empty stack implies that the current working group is the root - object. Attempting to pop an empty stack results in failure. - <dt><strong>Parameters:</strong> - <dd> - <dl> - <dt><em>hid_t</em> <code>file</code> - <dd>The file handle returned by <code>H5Fcreate</code> or - <code>H5Fopen</code>. - </dl> - <dt><strong>Returns:</strong> - <dd>Returns a negative value on failure, non-negative otherwise. - </dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-Close">H5Gclose</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Gclose</code>(<em>hid_t </em><code>group_id</code> - ) -<dt><strong>Description:</strong> - <dd>This function releases a group. Further access through the group - ID is illegal. Failure to release a group with this call will - result in resource leaks. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>group_id</code> - <dd>ID of group to release. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<!-- -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-GetNumContents">H5Gget_num_contents</a> -<dt><strong>Signature:</strong> - <dd><em>uint32 </em><code>H5Gget_num_contents</code>(<em>hid_t </em><code>grp_id</code>) -<dt><strong>Description:</strong> - <dd>This function retrieves the number of objects in the contents of the - group. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to query - </dl> -<dt><strong>Returns:</strong> - <dd>Number of objects in group's contents on success, Unegative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-GetContentInfo">H5Gget_content_info</a> -<dt><strong>Signature:</strong> - <dd><em>uint32 </em><code>H5Gget_content_info</code>(<em>hid_t </em><code>grp_id</code>, - <em>int32 </em><code>index</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the type (dataset, dimension, datatype or - group) of an item in a group. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to query - <dt><em>uint32</em> <code>index</code> - <dd>Item index in the group to query the type of - </dl> -<dt><strong>Returns:</strong> - <dd>The type of the object for an item on success, or Unegative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-GetContentInfoMult">H5Gget_content_info_mult</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Gget_content_info</code>(<em>hid_t </em><code>grp_id</code>, - <em>int32 </em><code>start_index</code>, - <em>int32 </em><code>num_items</code>, - <em>int32 </em><code>itemtype_list[]</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the type (dataset, dimension, datatype or - group) of a list of items in a group. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to query - <dt><em>uint32</em> <code>start_index</code> - <dd>The starting index to query the types of items - <dt><em>uint32</em> <code>num_items</code> - <dd>The number of items to query the types of - <dt><em>uint32</em> <code>itemtype_list[]</code> - <dd>A list to store the types of the items in - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-GetOIDByName">H5Gget_oid_by_name</a> -<dt><strong>Signature:</strong> - <dd><em>hoid_t </em><code>H5Gget_oid_by_name</code>(<em>hid_t </em><code>grp_id</code>, - <em>char *</em><code>name</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the OID of an item in the group which matches - the name supplied. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to query - <dt><em>char *</em> <code>name</code> - <dd>The name of the item to find - </dl> -<dt><strong>Returns:</strong> - <dd>A valid OID on success, or negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-GetOIDByIndex">H5Gget_oid_by_index</a> -<dt><strong>Signature:</strong> - <dd><em>hoid_t </em><code>H5Gget_oid_by_index</code>(<em>hid_t </em><code>grp_id</code>, - <em>uint32</em><code>index</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the OID of the n'th item in a group. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to query - <dt><em>uint32</em> <code>index</code> - <dd>The index of the item in the group - </dl> -<dt><strong>Returns:</strong> - <dd>A valid OID on success, or negative on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-GetNameByOID">H5Gget_name_by_oid</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Gget_name_by_oid</code>(<em>hid_t </em><code>grp_id</code>, - <em>hoid_t</em><code>oid</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the name of the item in a group whose OID - matches the one supplied. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to query - <dt><em>hoid_t</em> <code>oid</code> - <dd>The OID of the item in the group - </dl> -<dt><strong>Returns:</strong> - <dd>An atom for the string on success, NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-GetNameByIndex">H5Gget_name_by_index</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Gget_name_by_index</code>(<em>hid_t </em><code>grp_id</code>, - <em>uint32</em><code>index</code> - ) -<dt><strong>Description:</strong> - <dd>This function retrieves the name of the n'th item in a group -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to query - <dt><em>uint32</em> <code>index</code> - <dd>The index of the item in the group - </dl> -<dt><strong>Returns:</strong> - <dd>An atom for the string on success, NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-InsertItem">H5Ginsert_item</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Ginsert_item</code>(<em>hid_t </em><code>grp_id</code>, - <em>hoid_t</em><code>item</code> - ) -<dt><strong>Description:</strong> - <dd>This function inserts the item into a group -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to change - <dt><em>hoid_t</em> <code>item</code> - <dd>The OID of the item to insert into the group - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-InsertItemMult">H5Ginsert_item_mult</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Ginsert_item_mult</code>(<em>hid_t </em><code>grp_id</code>, - <em>uint32</em><code>num_items</code> - <em>hoid_t</em><code>item_list[]</code> - ) -<dt><strong>Description:</strong> - <dd>This function inserts multiple items into a group -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to change - <dt><em>hoid_t</em> <code>num_items</code> - <dd>The number of items to insert into the group - <dt><em>hoid_t</em> <code>item_list[]</code> - <dd>The OIDs of the items to insert - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-RemoveItem">H5Gremove_item</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Gremove_item</code>(<em>hid_t </em><code>grp_id</code>, - <em>hoid_t</em><code>item</code> - ) -<dt><strong>Description:</strong> - <dd>This function removes an item from a group -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to change - <dt><em>hoid_t</em> <code>item_list[]</code> - <dd>The OID of the items to remove - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Group-RemoveItemMult">H5Gremove_item_mult</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Gremove_item_mult</code>(<em>hid_t </em><code>grp_id</code>, - <em>uint32</em><code>num_items</code> - <em>hoid_t</em><code>item_list[]</code> - ) -<dt><strong>Description:</strong> - <dd>This function removes multiple items from a group -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>grp_id</code> - <dd>ID of the group object to change - <dt><em>hoid_t</em> <code>num_items</code> - <dd>The number of items to remove from the group - <dt><em>hoid_t</em> <code>item_list[]</code> - <dd>The OIDs of the items to remove - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> ---> - -<!-- -<hr> -<h2><a name="LinkList">Linked-List Object API Functions</a></h2> -<P>These functions manage in-memory linked lists in various useful ways. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-AddToBeginning">H5Ladd_to_beginning</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Ladd_to_beginning</code>(<em>hid_t </em><code>lst_id</code>, - <em>VOIDP</em><code>item</code> - ) -<dt><strong>Description:</strong> - <dd>This function adds an object to the beginning of a linked list -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>VOIDP</em> <code>item</code> - <dd>A pointer to the object to add to the list. This must not - be NULL. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-AddToEnd">H5Ladd_to_end</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Ladd_to_end</code>(<em>hid_t </em><code>lst_id</code>, - <em>VOIDP</em><code>item</code> - ) -<dt><strong>Description:</strong> - <dd>This function adds an object to the end of a linked list -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>VOIDP</em> <code>item</code> - <dd>A pointer to the object to add to the list. This must not - be NULL. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-RemoveFromBeginning">H5Lremove_from_beginning</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lremove_from_beginning</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function removes an object from the front of a linked list and - returns it. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-RemoveFromEnd">H5Lremove_from_end</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lremove_from_end</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function removes an object from the back of a linked list and - returns it. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-RemoveCurrent">H5Lremove_current</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lremove_current</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function removes the current object from the list and returns - a pointer to it. The list's current object is moved back to the - previous item in the list, or set to NULL if the object removed is at - the beginning of the list. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-DeleteAll">H5Ldelete_all</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Ldelete_all</code>(<em>hid_t </em><code>lst_id</code>, - <em>void</em><code>(*free_func)(VOIDP)</code> - ) -<dt><strong>Description:</strong> - <dd>This function removes all the objects from a list. If - <code>free_func</code> is not NULL, each object removed from the list - is passed to <code>free_func</code> before being removed from the list. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>void</em> <code>(*free_func)(VOIDP)</code> - <dd>Pointer to the function to call for each item removed from - the list. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-Index">H5Lindex</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lindex</code>(<em>hid_t </em><code>lst_id</code>, - <em>uintn</em><code>indx</code> - ) -<dt><strong>Description:</strong> - <dd>This function finds the n'th object in a list and returns it. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>uintn</em> <code>indx</code> - <dd>Index of the object to return. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-PeekAtBeginning">H5Lpeek_at_beginning</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lpeek_at_beginning</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the first object in the list. If - the list is empty, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-PeekAtEnd">H5Lpeek_at_end</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lpeek_at_end</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the last object in the list. If - the list is empty, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-FirstInList">H5Lfirst_in_list</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lfirst_in_list</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the first object in the list, and - marks it as the current object. If the list is empty, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-LastInList">H5Llast_in_list</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Llast_in_list</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the last object in the list, and - marks it as the current object. If the list is empty, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-CurrentInList">H5Lcurrent_in_list</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lcurrent_in_list</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the object that is considered the - "current object" in the list. - If the current object has been removed, or current points before or - after the list or the list is empty, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-NextInList">H5Lnext_in_list</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lnext_in_list</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the next object in the list and marks - it as the current object. - If the end of the list has been reached or the list is empty, NULL is - returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-PreviousInList">H5Lprevious_in_list</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lprevious_in_list</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the previous object in the list and - marks it as the current object. - If the beginning of the list has been reached or the list is empty, NULL - is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-ResetToBeginning">H5Lreset_to_beginning</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Lreset_to_beginning</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function resets the "current object" to the beginning of the list. - Therefore the next object in the list is the first object. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-ResetToEnd">H5Lreset_to_end</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Lreset_to_end</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function resets the "current object" to the end of the list. - Therefore the previous object in the list is the last object. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-NumOfObjects">H5Lnum_of_objects</a> -<dt><strong>Signature:</strong> - <dd><em>uintn </em><code>H5Lnum_of_objects</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns the number of objects in the list. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>The number of nodes in the list (possibly zero) on success or UFAIL on - failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-IsEmpty">H5Lis_empty</a> -<dt><strong>Signature:</strong> - <dd><em>hbool_t </em><code>H5Lis_empty</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function determines if the list is empty. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>TRUE if the list is empty, FALSE if the list has objects, negative on - failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-IsInList">H5Lis_in_list</a> -<dt><strong>Signature:</strong> - <dd><em>hbool_t </em><code>H5Lis_in_list</code>(<em>hid_t </em><code>lst_id</code>, - <em>VOIDP</em><code>search_ptr</code> - ) -<dt><strong>Description:</strong> - <dd>This function determines if an object is in the list. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>VOIDP</em> <code>search_ptr</code> - <dd>Pointer to look for in list - </dl> -<dt><strong>Returns:</strong> - <dd>TRUE if the list contains the pointer, FALSE if the list has does not, - negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-CopyList">H5Lcopy_list</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Lcopy_list</code>(<em>hid_t </em><code>lst_id</code>) -<dt><strong>Description:</strong> - <dd>This function makes a copy of the list. The objects themselves are not - copied, only new references to them are made. The new list has no - current object set. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - </dl> -<dt><strong>Returns:</strong> - <dd>A valid list atom on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-PerformOnList">H5Lperform_on_list</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Lperform_on_list</code>(<em>hid_t </em><code>lst_id</code>, - <em>void</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function performs the specified function on each object in the - list. Any options arguments required can be passed through the "args" - pointer. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>void</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-FirstThat">H5Lfirst_that</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lfirst_that</code>(<em>hid_t </em><code>lst_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will find and return the first object in the list which - causes the specified function to return a TRUE (non-zero) value. Any - optional arguments required can be passed through the "args" variable. - The found object is then marked as the current object. If no objects - in the list meet the criteria of the specified function or an error - occurs, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure or no matching objects -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-NextThat">H5Lnext_that</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lnext_that</code>(<em>hid_t </em><code>lst_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will find and return the next object in the list which - causes the specified function to return a TRUE (non-zero) value. Any - optional arguments required can be passed through the "args" variable. - The found object is then marked as the current object. If no objects - in the list meet the criteria of the specified function or an error - occurs, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure or no matching objects -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-PreviousThat">H5Lprevious_that</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Lprevious_that</code>(<em>hid_t </em><code>lst_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will find and return the previous object in the list which - causes the specified function to return a TRUE (non-zero) value. Any - optional arguments required can be passed through the "args" variable. - The found object is then marked as the current object. If no objects - in the list meet the criteria of the specified function or an error - occurs, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure or no matching objects -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-LastThat">H5Llast_that</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Llast_that</code>(<em>hid_t </em><code>lst_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will find and return the last object in the list which - causes the specified function to return a TRUE (non-zero) value. Any - optional arguments required can be passed through the "args" variable. - The found object is then marked as the current object. If no objects - in the list meet the criteria of the specified function or an error - occurs, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure or no matching objects -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-AllSuchThat">H5Lall_such_that</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Lall_such_that</code>(<em>hid_t </em><code>lst_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will return a new list containing all of the objects in - the list which cause the specified function to return a TRUE (non-zero) - value. Any optional arguments required can be passed through the "args" - variable. The objects themselves are not copied, onle new references - to them are made. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A valid list atom on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="LinkList-RemoveAllSuchThat">H5Lremove_all_such_that</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Lremove_all_such_that</code>(<em>hid_t </em><code>lst_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will remove all of the objects in the list which cause - the specified function to return a TRUE (non-zero) value. Any optional - arguments required can be passed through the "args" variable. Note that - the memory for the objects will not be reclaimed, so if the objects have - no other references, it is best to avoid this function and remove the - objects one by one, freeing them when necessary. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>lst_id</code> - <dd>ID of the list object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<h2><a name="TBBT">Threaded, Balanced, Binary-Tree Object API Functions</a></h2> -<P>These functions manage in-memory TBBTs in various useful ways. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-Add">H5Badd</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Badd</code>(<em>hid_t </em><code>tree_id</code>, - <em>VOIDP</em><code>item</code>, - <em>VOIDP</em><code>key</code> - ) -<dt><strong>Description:</strong> - <dd>This function inserts a new node having a key value of <code>key</code> - and a data pointer of <code>item</code> into the tree. If a node - already exists in the tree with the same key value or an error occurs, - negative is returned, otherwise, zero is returned. The comparison - function which the tree was created with is used to determine the - location of the new node in the tree. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>VOIDP</em> <code>item</code> - <dd>Pointer to the data of the object to insert into the tree. - <dt><em>VOIDP</em> <code>key</code> - <dd>Pointer to the key of the object to insert into the tree. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-Remove">H5Bremove</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bremove</code>(<em>hid_t </em><code>tree_id</code>, - <em>VOIDP</em><code>key</code> - ) -<dt><strong>Description:</strong> - <dd>This function removes a node with a key value of <code>key</code>. - The data pointer corresponding to the key is returned on success, or - a NULL value is returned on failure. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>VOIDP</em> <code>key</code> - <dd>Pointer to the key of the object to remove from the tree. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-RemoveAll">H5Bremove_all</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Bremove_all</code>(<em>hid_t </em><code>tree_id</code>, - <em>void</em><code>(*free_func)(VOIDP)</code> - ) -<dt><strong>Description:</strong> - <dd>This function removes all nodes from the tree. If - <code>free_func</code> is not NULL, each object removed from the list - is passed to <code>free_func</code> before being removed from the list. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>void</em> <code>(*free_func)(VOIDP)</code> - <dd>Pointer to the function to call for each item removed from - the list. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-RemoveCurrent">H5Bremove_current</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bremove_all</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function removes the "current object" from the tree and returns - a pointer to it. The tree's current object is moved back to the - previous node in the tree, or set to NULL if the object removed is at - the beginning of the tree. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item removed on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-PeekAtBeginning">H5Bpeek_at_beginning</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bpeek_at_beginning</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the first object in the tree. If - the tree is empty, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the first data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-PeekAtEnd">H5Bpeek_at_end</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bpeek_at_end</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the last object in the tree. If - the tree is empty, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the last data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-Find">H5Bfind</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bfind</code>(<em>hid_t </em><code>tree_id</code>, - <em>VOIDP</em><code>key</code> - ) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the object in the tree who's key - matches the argument passed in. If the no match is found, NULL is - returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>VOIDP</em> <code>key</code> - <dd>Pointer to the key of the object to search for the tree. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-Index">H5Bindex</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bindex</code>(<em>hid_t </em><code>tree_id</code>, - <em>uintn</em><code>indx</code> - ) -<dt><strong>Description:</strong> - <dd>This function finds the n'th object in a tree and returns it. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>uintn</em> <code>indx</code> - <dd>Index of the object to return. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-FirstInTree">H5Bfirst_in_tree</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bfirst_in_tree</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the first object in the tree, and - marks it as the current object. If the tree is empty, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-LastInTree">H5Blast_in_tree</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Blast_in_tree</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the last object in the tree, and - marks it as the current object. If the tree is empty, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-CurrentInTree">H5Bcurrent_in_tree</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bcurrent_in_tree</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the object that is considered the - "current object" in the tree. - If the current object has been removed, or current points before or - after the tree or the tree is empty, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-NextInTree">H5Bnext_in_tree</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bnext_in_tree</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the next object in the tree and marks - it as the current object. - If the end of the tree has been reached or the tree is empty, NULL is - returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-PreviousInTree">H5Bprevious_in_tree</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bprevious_in_tree</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns a pointer to the previous object in the tree and - marks it as the current object. - If the beginning of the tree has been reached or the tree is empty, NULL - is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-ResetToBeginning">H5Breset_to_beginning</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Breset_to_beginning</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function resets the "current object" to the beginning of the tree. - Therefore the next object in the tree is the first object. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-ResetToEnd">H5Breset_to_end</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Breset_to_end</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function resets the "current object" to the end of the tree. - Therefore the previous object in the tree is the last object. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to the data item on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-NumOfObjects">H5Bnum_of_objects</a> -<dt><strong>Signature:</strong> - <dd><em>uintn </em><code>H5Bnum_of_objects</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function returns the number of objects in the tree. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>The number of nodes in the tree (possibly zero) on success or UFAIL on - failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-IsEmpty">H5Bis_empty</a> -<dt><strong>Signature:</strong> - <dd><em>hbool_t </em><code>H5Bis_empty</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function determines if the tree is empty. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>TRUE if the tree is empty, FALSE if the tree has objects, negative on - failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-IsInTree">H5Bis_in_tree</a> -<dt><strong>Signature:</strong> - <dd><em>hbool_t </em><code>H5Bis_in_tree</code>(<em>hid_t </em><code>tree_id</code>, - <em>VOIDP</em><code>item</code>, - <em>VOIDP</em><code>key</code> - ) -<dt><strong>Description:</strong> - <dd>This function determines if an object is in the tree. If - <code>item</code> is NULL, only the key pointer will be used to search - for nodes in the tree. If <code>key</code> is NULL, only the item pointer - will be used to search for nodes in the tree. If both <code>item</code> - and <code>key</code> are not NULL, only a node which matches both pointers - will be considered a match for the search. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>VOIDP</em> <code>item</code> - <dd>Pointer to the data of the object to search for in the tree. - <dt><em>VOIDP</em> <code>key</code> - <dd>Pointer to the key of the object to search for in the tree. - </dl> -<dt><strong>Returns:</strong> - <dd>TRUE if a search node is found, FALSE if no nodes match, negative on - failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-CopyTree">H5Bcopy_tree</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Bcopy_tree</code>(<em>hid_t </em><code>tree_id</code>) -<dt><strong>Description:</strong> - <dd>This function makes a copy of the tree. The objects themselves are not - copied, only new references to them are made. The new tree has no - current object set. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - </dl> -<dt><strong>Returns:</strong> - <dd>A valid tree atom on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-PerformOnTree">H5Bperform_on_tree</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Bperform_on_tree</code>(<em>hid_t </em><code>tree_id</code>, - <em>void</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function performs the specified function on each object in the - tree. Any options arguments required can be passed through the "args" - pointer. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>void</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-FirstThat">H5Bfirst_that</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bfirst_that</code>(<em>hid_t </em><code>tree_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will find and return the first object in the tree which - causes the specified function to return a TRUE (non-zero) value. Any - optional arguments required can be passed through the "args" variable. - The found object is then marked as the current object. If no objects - in the tree meet the criteria of the specified function or an error - occurs, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure or no matching objects -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-NextThat">H5Bnext_that</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bnext_that</code>(<em>hid_t </em><code>tree_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will find and return the next object in the tree which - causes the specified function to return a TRUE (non-zero) value. Any - optional arguments required can be passed through the "args" variable. - The found object is then marked as the current object. If no objects - in the tree meet the criteria of the specified function or an error - occurs, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure or no matching objects -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-PreviousThat">H5Bprevious_that</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Bprevious_that</code>(<em>hid_t </em><code>tree_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will find and return the previous object in the tree which - causes the specified function to return a TRUE (non-zero) value. Any - optional arguments required can be passed through the "args" variable. - The found object is then marked as the current object. If no objects - in the tree meet the criteria of the specified function or an error - occurs, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure or no matching objects -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-LastThat">H5Blast_that</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Blast_that</code>(<em>hid_t </em><code>tree_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will find and return the last object in the tree which - causes the specified function to return a TRUE (non-zero) value. Any - optional arguments required can be passed through the "args" variable. - The found object is then marked as the current object. If no objects - in the tree meet the criteria of the specified function or an error - occurs, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure or no matching objects -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-AllSuchThat">H5Ball_such_that</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Ball_such_that</code>(<em>hid_t </em><code>tree_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will return a new tree containing all of the objects in - the tree which cause the specified function to return a TRUE (non-zero) - value. Any optional arguments required can be passed through the "args" - variable. The objects themselves are not copied, onle new references - to them are made. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A valid tree atom on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="TBBT-RemoveAllSuchThat">H5Bremove_all_such_that</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Bremove_all_such_that</code>(<em>hid_t </em><code>tree_id</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will remove all of the objects in the tree which cause - the specified function to return a TRUE (non-zero) value. Any optional - arguments required can be passed through the "args" variable. Note that - the memory for the objects will not be reclaimed, so if the objects have - no other references, it is best to avoid this function and remove the - objects one by one, freeing them when necessary. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>tree_id</code> - <dd>ID of the TBBT object - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<h2><a name="BitVector">Bit-Vector Object API Functions</a></h2> -<P>These functions manage in-memory bit-vectors used to provide "set" -operations and maintain groups of flags about file information. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="BitVector-Set">H5Vset</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Vset</code>(<em>hid_t </em><code>bv_id</code>, - <em>uint32</em><code>bit_num</code>, - <em>hbool_t</em><code>value</code> - ) -<dt><strong>Description:</strong> - <dd>This function sets a bit in a bit-vector to a given boolean value. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>bv_id</code> - <dd>ID of the bit-vector object. - <dt><em>uint32</em> <code>bit_num</code> - <dd>Which bit in the vector to set. - <dt><em>hbool_t</em> <code>value</code> - <dd>Value to set the bit to. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="BitVector-Get">H5Vget</a> -<dt><strong>Signature:</strong> - <dd><em>hbool_t </em><code>H5Vget</code>(<em>hid_t </em><code>bv_id</code>, - <em>uint32</em><code>bit_num</code> - ) -<dt><strong>Description:</strong> - <dd>This function gets the value of a bit in a bit-vector. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>bv_id</code> - <dd>ID of the bit-vector object. - <dt><em>uint32</em> <code>bit_num</code> - <dd>Which bit in the vector to get. - </dl> -<dt><strong>Returns:</strong> - <dd>Value of the bit or negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="BitVector-Clear">H5Vclear</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Vclear</code>(<em>hid_t </em><code>bv_id</code>, - <em>hbool_t</em><code>value</code> - ) -<dt><strong>Description:</strong> - <dd>This function clears an entire bit-vector to a given boolean value. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>bv_id</code> - <dd>ID of the bit-vector object. - <dt><em>hbool_t</em> <code>value</code> - <dd>The value to clear the bit-vector to. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="BitVector-Size">H5Vsize</a> -<dt><strong>Signature:</strong> - <dd><em>uint32 </em><code>H5Vclear</code>(<em>hid_t </em><code>bv_id</code>) -<dt><strong>Description:</strong> - <dd>This function reports the number of bits used in a bit-vector. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>bv_id</code> - <dd>ID of the bit-vector object. - </dl> -<dt><strong>Returns:</strong> - <dd>The number of bits in the bit-vector (possibly zero) on success or - UFAIL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="BitVector-Find">H5Vfind</a> -<dt><strong>Signature:</strong> - <dd><em>uint32 </em><code>H5Vfind</code>(<em>hid_t </em><code>bv_id</code>, - <em>hbool_t</em><code>value</code> - ) -<dt><strong>Description:</strong> - <dd>This function finds the first bit in a bit-vector with a given value. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>bv_id</code> - <dd>ID of the bit-vector object. - <dt><em>hbool_t</em> <code>value</code> - <dd>The value to search for. - </dl> -<dt><strong>Returns:</strong> - <dd>The position of the first bit with the given value on success or UFAIL - on failure. -</dl> - -<hr> -<h2><a name="Atom">Atom Object API Functions</a></h2> -<P>These functions manage in-memory atoms, which provide a portable and -protected way of refering to memory structures. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Atom-Register">H5Aregister</a> -<dt><strong>Signature:</strong> - <dd><em>hid_t </em><code>H5Aregister</code>(<em>hgroup_t </em><code>grp_id</code>, - <em>VOIDP</em><code>ptr</code> - ) -<dt><strong>Description:</strong> - <dd>This function registers a pointer (to a data-structure, usually) in a - group and provides an atom for it. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hgroup_t</em> <code>grp_id</code> - <dd>ID of the atom group. - <dt><em>VOIDP</em> <code>ptr</code> - <dd>The pointer (to a data-structure) to register in the group. - </dl> -<dt><strong>Returns:</strong> - <dd>A value atom on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Atom-Unregister">H5Aunregister</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Aunregister</code>(<em>hid_t </em><code>atm</code>) -<dt><strong>Description:</strong> - <dd>This function removes an atom from a group and returns a pointer to - the structure which was registered. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>atm</code> - <dd>Atom to remove. - </dl> -<dt><strong>Returns:</strong> - <dd>A valid memory pointer on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Atom-LookupObject">H5Alookup_object</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Alookup_object</code>(<em>hid_t </em><code>atm</code>) -<dt><strong>Description:</strong> - <dd>This function retrieves the memory pointer which is associated with - the atom. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>atm</code> - <dd>Atom to look up. - </dl> -<dt><strong>Returns:</strong> - <dd>A valid memory pointer on success, NULL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Atom-LookupGroup">H5Alookup_group</a> -<dt><strong>Signature:</strong> - <dd><em>hgroup_t </em><code>H5Alookup_group</code>(<em>hid_t </em><code>atm</code>) -<dt><strong>Description:</strong> - <dd>This function retrieves the group that the atom is in. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>atm</code> - <dd>Atom to look up. - </dl> -<dt><strong>Returns:</strong> - <dd>A valid atom group on success, negative on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="Atom-Search">H5Asearch</a> -<dt><strong>Signature:</strong> - <dd><em>VOIDP </em><code>H5Asearch</code>(<em>hgroup_t </em><code>grp</code>, - <em>intn</em><code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code>, - <em>VOIDP</em><code>args</code>, - ) -<dt><strong>Description:</strong> - <dd>This function will find and return the first object in the atomic - group which causes the specified function to return a TRUE (non-zero) - value. Any optional arguments required can be passed through the - "args" variable. Currently, there is no way to resume a search. - If no objects in the group meet the criteria of the specified function - or an error occurs, NULL is returned. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hgroup_t</em> <code>grp</code> - <dd>ID of the atom group to search. - <dt><em>intn</em> <code>(*fcn)(VOIDP /* object */, VOIDP /* args */)</code> - <dd>Pointer to the function to operate on the objects - <dt><em>VOIDP</em> <code>args</code> - <dd>Pointer any additional arguments needed by the function as - it is operating on the objects. - </dl> -<dt><strong>Returns:</strong> - <dd>A pointer to an object on success/NULL on failure or no matching objects -</dl> - -<hr> -<h2><a name="String">String Object API Functions</a></h2> -<P>These functions manage in-memory character strings in an object-oriented -way. -<br> -<br> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="String-Copy">H5Scopy</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Scopy</code>(<em>hid_t </em><code>strg_id1</code>, - <em>hid_t</em><code>strg_id2</code> - ) -<dt><strong>Description:</strong> - <dd>This function copies a string from one string object to another. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>strg_id1</code> - <dd>ID of the destination string. - <dt><em>hid_t</em> <code>strg_id2</code> - <dd>ID of the source string. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="String-Convert">H5Sconvert</a> -<dt><strong>Signature:</strong> - <dd><em>herr_t </em><code>H5Sconvert</code>(<em>hid_t </em><code>strg_id/code>, - <em>char *</em><code>buf</code> - ) -<dt><strong>Description:</strong> - <dd>This function copies a string object into a zero-terminated character - buffer. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>strg_id</code> - <dd>ID of the destination string. - <dt><em>char *</em> <code>buf</code> - <dd>Character buffer to store string in. - </dl> -<dt><strong>Returns:</strong> - <dd>zero/negative -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="String-Len">H5Slen</a> -<dt><strong>Signature:</strong> - <dd><em>uintn </em><code>H5Slen</code>(<em>hid_t </em><code>strg_id</code>) -<dt><strong>Description:</strong> - <dd>This function return the length of a string in characters. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>strg_id</code> - <dd>ID of the string. - </dl> -<dt><strong>Returns:</strong> - <dd>The length of the string (possibly 0) on success, or UFAIL on failure. -</dl> - -<hr> -<dl> -<dt><strong>Name:</strong> <a name="String-Compare">H5Scompare</a> -<dt><strong>Signature:</strong> - <dd><em>intn </em><code>H5Scompare</code>(<em>hid_t </em><code>strg_id1</code>, - <em>hid_t</em><code>strg_id2</code> - ) -<dt><strong>Description:</strong> - <dd>This function compares the two strings, returning an integer less than, - equal to, or greater than zero, indicating that the string referenced - by <code>strg_id1</code> is less than, equal to, or greater than the - string referenced by <code>strg_id2</code>. -<dt><strong>Parameters:</strong> - <dl> - <dt><em>hid_t</em> <code>strg_id1</code> - <dd>ID of the first string. - <dt><em>hid_t</em> <code>strg_id1</code> - <dd>ID of the second string. - </dl> -<dt><strong>Returns:</strong> - <dd>An integer less than, equal to, or greater than zero based on the values - of the strings. -</dl> ---> - -<hr> -<h2><a name="Glossary">Glossary of data-types used</a></h2> -<P>Since many of the typedefs in the HDF5 API are not well-defined yet, -the types below may change radically en route to a final API... -<br> -<br> - -<a name="Glossary-Basic">Basic Types:</a> -<ul> - <li>char - 8-bit character (only for ASCII information) - <li>int8 - 8-bit signed integer - <li>uint8 - 8-bit unsigned integer - <li>int16 - 16-bit signed integer - <li>uint16 - 16-bit unsigned integer - <li>int32 - 32-bit signed integer - <li>uint32 - 32-bit unsigned integer - <li>intn - "native" signed integer - <li>uintn - "native" unsigned integer - <li>int64 - 64-bit signed integer (new) - <li>uint64 - 64-bit unsigned integer (new) - <li>float32 - 32-bit IEEE float - <li>float64 - 64-bit IEEE float -</ul> - -<a name="Glossary-Complex">Complex Types:</a> -<ul> - <li>hid_t - 32-bit unsigned integer used as ID for memory objects - <li>hoid_t - 32-bit unsigned integer (currently) used as ID for disk-based - objects - <li>hbool_t - boolean to indicate true/false/error codes from functions - <li>herr_t - 32-bit integer to indicate succeed/fail codes from functions -</ul> - -<a name="Glossary-DiskIO">Disk I/O Types:</a> -<ul> - <li>hoff_t - (64-bit?) offset on disk in bytes - <li>hlen_t - (64-bit?) length on disk in bytes -</ul> - |