<html> <head><title> HDF5/H5Z Draft API Specification </title></head> <body> <hr> <center> <a href="RM_H5Front.html">HDF5 Reference Manual</a> <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_H5P.html">H5P</a> <a href="RM_H5S.html">H5S</a> <a href="RM_H5T.html">H5T</a> H5Z <a href="Glossary.html">Glossary</a> </center> <hr> <center> <h1>H5Z: Compression Interface</h1> </center> <h2>Compression API Functions</h2> This function enable the user to configure a new compression method for the local environment. <table border=0> <tr><td valign=top> <ul> <li><a href="#Compression-Register">H5Zregister</a> </ul> </td><td> </td><td valign=top> <ul> </ul> </td></tr> </table> <p> HDF5 supports compression of raw data by compression methods built into the library or defined by an application. A compression method is associated with a dataset when the dataset is created and is applied independently to each storage chunk of the dataset. The dataset must use the <code>H5D_CHUNKED</code> storage layout. <p> The HDF5 library does not support compression for contiguous datasets because of the difficulty of implementing random access for partial I/O. Compact dataset compression is not supported because it would not produce significant results. <p> See <a href="Compression.html"><cite>Compression</cite></a> in the <cite>HDF5 User's Guide</cite> for further information. <hr> <dl> <dt><strong>Name:</strong> <a name="Compression-Register">H5Zregister</a> <dt><strong>Signature:</strong> <dd><em>herr_t</em> <code>H5Zregister</code>(<em>H5Z_method_t</em> <code>method</code>, <em>const char *</em><code>name</code>, <em>H5Z_func_t</em><code>cfunc</code>, <em>H5Z_func_t</em> <code>ufunc</code> ) <dt><strong>Purpose:</strong> <dd> Registers new compression and uncompression functions for a method specified by a method number. <dt><strong>Description:</strong> <dd><code>H5Zregister</code> registers new compression and uncompression functions for a method specified by a method number, <code>method</code>. <code>name</code> is used for debugging and may be the null pointer. Either or both of <code>cfunc</code> (the compression function) and <code>ufunc</code> (the uncompression method) may be null pointers. <p> The statistics associated with a method number are not reset by this function; they accumulate over the life of the library. <dt><strong>Parameters:</strong> <dl> <dt><em>H5Z_method_t</em> <code>method</code> <dd>Number specifying compression method. <dt><em>const char *</em><code>name</code> <dd>Name associated with the method number. <dt><em>H5Z_func_t</em> <code>cfunc</code> <dd>Compression method. <dt><em>H5Z_func_t</em> <code>ufunc</code> <dd>Uncompression method. </dl> <dt><strong>Returns:</strong> <dd>Returns SUCCEED (0) if successful; otherwise FAIL (-1). </dl> <hr> <center> <a href="RM_H5Front.html">HDF5 Reference Manual</a> <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_H5P.html">H5P</a> <a href="RM_H5S.html">H5S</a> <a href="RM_H5T.html">H5T</a> H5Z <a href="Glossary.html">Glossary</a> </center> <hr> <address> <a href="mailto:hdfhelp@ncsa.uiuc.edu">HDF Help Desk</a> <br> Last modified: 14 July 1998 </body> </html>