<html> <head><title> HDF5 API Specification </title> <!-- #BeginLibraryItem "/ed_libs/styles_RM.lbi" --> <!-- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Copyright by the Board of Trustees of the University of Illinois. * * All rights reserved. * * * * This file is part of HDF5. The full HDF5 copyright notice, including * * terms governing use, modification, and redistribution, is contained in * * the files COPYING and Copyright.html. COPYING can be found at the root * * of the source code distribution tree; Copyright.html can be found at the * * root level of an installed copy of the electronic HDF5 document set and * * is linked from the top-level documents page. It can also be found at * * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * --> <link href="ed_styles/RMelect.css" rel="stylesheet" type="text/css"> <!-- #EndLibraryItem --></head> <body bgcolor="#FFFFFF"> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr> <center> <table border=0 width=98%> <tr><td valign=top align=left> <a href="index.html">HDF5 documents and links</a> <br> <a href="H5.intro.html">Introduction to HDF5</a> <br> <a href="H5.user.html">HDF5 User Guide</a> <br> <!-- <a href="Glossary.html">Glossary</a><br> --> </td> <td valign=top align=right> And in this document, the <a href="RM_H5Front.html">HDF5 Reference Manual</a> <br> <a href="RM_H5.html">H5</a> <a href="RM_H5A.html">H5A</a> <a href="RM_H5D.html">H5D</a> <a href="RM_H5E.html">H5E</a> <a href="RM_H5F.html">H5F</a> <a href="RM_H5G.html">H5G</a> <a href="RM_H5I.html">H5I</a> <a href="RM_H5P.html">H5P</a> <br> <a href="RM_H5R.html">H5R</a> <a href="RM_H5S.html">H5S</a> <a href="RM_H5T.html">H5T</a> <a href="RM_H5Z.html">H5Z</a> <a href="Tools.html">Tools</a> <a href="PredefDTypes.html">Datatypes</a> </td></tr> </table> </center> <hr> <!-- #EndLibraryItem --><center> <h1>HDF5: API Specification<br>Reference Manual</h1> </center> The HDF5 library provides several interfaces, each of which provides the tools required to meet specific aspects of the HDF5 data-handling requirements. <p> See <a href="#F90andCPPlus">below</a> for the FORTRAN90 and C++ APIs. <p> <center> <table border=0 width=90%> <tr><td valign=top><a href="RM_H5.html">Library Functions</a> </td><td> </td><td valign=top>The general-purpose <strong>H5</strong> functions. </td></tr> <tr><td valign=top><a href="RM_H5A.html">Attribute Interface</a> </td><td></td><td valign=top>The <strong>H5A</strong> API for attributes. </td></tr> <tr><td valign=top><a href="RM_H5D.html">Dataset Interface</a> </td><td></td><td valign=top>The <strong>H5D</strong> API for manipulating scientific datasets. </td></tr> <tr><td valign=top><a href="RM_H5E.html">Error Interface</a> </td><td></td><td valign=top>The <strong>H5E</strong> API for error handling. </td></tr> <tr><td valign=top><a href="RM_H5F.html">File Interface</a> </td><td></td><td valign=top>The <strong>H5F</strong> API for accessing HDF files. </td></tr> <tr><td valign=top><a href="RM_H5G.html">Group Interface</a> </td><td></td><td valign=top>The <strong>H5G</strong> API for creating physical groups of objects on disk. </td></tr> <tr><td valign=top><a href="RM_H5I.html">Identifier Interface</a> </td><td></td><td valign=top>The <strong>H5I</strong> API for working with object identifiers. </td></tr> <tr><td valign=top><a href="RM_H5P.html">Property List Interface</a> </td><td></td><td valign=top>The <strong>H5P</strong> API for manipulating object property lists. </td></tr> <tr><td valign=top><a href="RM_H5R.html">Reference Interface</a> </td><td></td><td valign=top>The <strong>H5R</strong> API for references. </td></tr> <tr><td valign=top><a href="RM_H5S.html">Dataspace Interface</a> </td><td></td><td valign=top>The <strong>H5S</strong> API for defining dataset dataspace. </td></tr> <tr><td valign=top><a href="RM_H5T.html">Datatype Interface</a> </td><td></td><td valign=top>The <strong>H5T</strong> API for defining dataset element information. </td></tr> <tr><td valign=top><a href="RM_H5Z.html">Filters and</a><br> <a href="RM_H5Z.html">Compression Interface</a> </td><td></td><td valign=top>The <strong>H5Z</strong> API for inline data filters and data compression. </td></tr> <tr><td valign=top><a href="Tools.html">Tools</a> </td><td></td><td valign=top>Interactive tools for the examination of existing HDF5 files. </td></tr> <tr><td valign=top><a href="PredefDTypes.html">Predefined Datatypes</a> </td><td></td><td valign=top>Predefined datatypes in HDF5. <!-- </td></tr> <tr><td valign=top><a href="Glossary.html">Glossary</a> </td><td></td><td valign=top>A glossary of data-types used in the APIs. --> </td></tr> </table> </center> <a name="F90andCPPlus"> <hr> <p align=right>To top of <a href="#TopofRM"><cite>Reference Manual</cite></a>. <h3>The Fortran90 and C++ APIs to HDF5</h3> </a> The HDF5 Library distribution now includes FORTRAN90 and C++ APIs. These APIs are described in the following documents. <p> <strong>Fortran90 API</strong> <dir> <a href="fortran/F90UserNotes.html" target="External"> <cite>HDF5 FORTRAN90 User's Notes</cite></a> contains general information regarding the API. Specific information on each API call is found in the <cite>Reference Manual</cite>. <p> <u>Fortran90 APIs in the <cite>Reference Manual</cite>:</u> The current version of the <cite>HDF5 Reference Manual</cite> includes a description of the FORTRAN90 API to HDF5. Fortran subroutines exist in the H5A, H5D, H5E, H5F, H5G, H5I, H5P, H5R, H5S, and H5T interfaces and are described on those pages. <p> In general, each Fortran subroutine performs exactly the same task as the corresponding C function. The links at the top of each reference manual section go to the C function descriptions, which serve as general descriptions for both the C and Fortran APIs. A button, under <strong>Non-C API(s)</strong> at the end of the C function description, opens an external browser window displaying the Fortran-specific information. You will probably want to adjust the size and location of this external window so that both browser windows are visible and to facilitate moving easily between them. <p> <a href="fortran/F90Flags.html" target="External"> <cite>HDF5 Fortran90 Flags and Datatypes</cite></a> lists the flags employed in the Fortran90 interface and contains a pointer to the HDF5 Fortran90 datatypes. </dir> <strong>C++ API</strong> <dir> <a href="cpplus/CppUserNotes.pdf" target="External"> <cite>HDF5 C++ User's Notes</cite></a> <p> <a href="cpplus/CppInterfaces.html" target="External"> <cite>HDF5 C++ Interfaces</cite></a> <p> (Note that the C++ APIs are not yet integrated into the <cite>HDF5 Reference Manual</cite>.) </dir> <br><br> <!-- #BeginLibraryItem "/ed_libs/NavBar_RM.lbi" --><hr> <center> <table border=0 width=98%> <tr><td valign=top align=left> <a href="index.html">HDF5 documents and links</a> <br> <a href="H5.intro.html">Introduction to HDF5</a> <br> <a href="H5.user.html">HDF5 User Guide</a> <br> <!-- <a href="Glossary.html">Glossary</a><br> --> </td> <td valign=top align=right> And in this document, the <a href="RM_H5Front.html">HDF5 Reference Manual</a> <br> <a href="RM_H5.html">H5</a> <a href="RM_H5A.html">H5A</a> <a href="RM_H5D.html">H5D</a> <a href="RM_H5E.html">H5E</a> <a href="RM_H5F.html">H5F</a> <a href="RM_H5G.html">H5G</a> <a href="RM_H5I.html">H5I</a> <a href="RM_H5P.html">H5P</a> <br> <a href="RM_H5R.html">H5R</a> <a href="RM_H5S.html">H5S</a> <a href="RM_H5T.html">H5T</a> <a href="RM_H5Z.html">H5Z</a> <a href="Tools.html">Tools</a> <a href="PredefDTypes.html">Datatypes</a> </td></tr> </table> </center> <hr> <!-- #EndLibraryItem --><address> <table width=100% border=0> <tr><td align=left valign=top> <!-- #BeginLibraryItem "/ed_libs/Footer.lbi" --><address> <a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a> <br> Describes HDF5 Release 1.6.0, July 2003 </address><!-- #EndLibraryItem --> Last modified: 9 April 2003 </td><td align=right valign=top> <a href="Copyright.html">Copyright</a> </td></tr> </table> </body> </html>