00001 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00002 * Copyright by The HDF Group. * 00003 * Copyright by the Board of Trustees of the University of Illinois. * 00004 * All rights reserved. * 00005 * * 00006 * This file is part of HDF5. The full HDF5 copyright notice, including * 00007 * terms governing use, modification, and redistribution, is contained in * 00008 * the files COPYING and Copyright.html. COPYING can be found at the root * 00009 * of the source code distribution tree; Copyright.html can be found at the * 00010 * root level of an installed copy of the electronic HDF5 document set and * 00011 * is linked from the top-level documents page. It can also be found at * 00012 * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * 00013 * access to either file, you may request a copy from help@hdfgroup.org. * 00014 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ 00015 00016 #ifndef H5Z_PACKAGE 00017 #error "Do not include this file outside the H5Z package!" 00018 #endif 00019 00020 #ifndef _H5Zpkg_H 00021 #define _H5Zpkg_H 00022 00023 /* Include private header file */ 00024 #include "H5Zprivate.h" /* Filter functions */ 00025 00026 00027 /* The initial version of the format */ 00028 #define H5O_PLINE_VERSION_1 1 00029 00030 /* This version encodes the message fields more efficiently */ 00031 /* (Drops the reserved bytes, doesn't align the name and doesn't encode the 00032 * filter name at all if it's a filter provided by the library) 00033 */ 00034 #define H5O_PLINE_VERSION_2 2 00035 00036 /* The latest version of the format. Look through the 'encode' and 'size' 00037 * callbacks for places to change when updating this. */ 00038 #define H5O_PLINE_VERSION_LATEST H5O_PLINE_VERSION_2 00039 00040 00041 #ifdef H5_HAVE_FILTER_DEFLATE 00042 /* 00043 * Deflate filter 00044 */ 00045 H5_DLLVAR const H5Z_class_t H5Z_DEFLATE[1]; 00046 #endif /* H5_HAVE_FILTER_DEFLATE */ 00047 00048 #ifdef H5_HAVE_FILTER_SHUFFLE 00049 /* 00050 * Shuffle filter 00051 */ 00052 H5_DLLVAR const H5Z_class_t H5Z_SHUFFLE[1]; 00053 #endif /* H5_HAVE_FILTER_SHUFFLE */ 00054 00055 #ifdef H5_HAVE_FILTER_FLETCHER32 00056 /* 00057 * Fletcher32 filter 00058 */ 00059 H5_DLLVAR const H5Z_class_t H5Z_FLETCHER32[1]; 00060 #endif /* H5_HAVE_FILTER_FLETCHER32 */ 00061 00062 #ifdef H5_HAVE_FILTER_SZIP 00063 /* 00064 * szip filter 00065 */ 00066 H5_DLLVAR H5Z_class_t H5Z_SZIP[1]; 00067 #endif /* H5_HAVE_FILTER_SZIP */ 00068 00069 #ifdef H5_HAVE_FILTER_NBIT 00070 /* 00071 * nbit filter 00072 */ 00073 H5_DLLVAR H5Z_class_t H5Z_NBIT[1]; 00074 #endif /* H5_HAVE_FILTER_NBIT */ 00075 00076 #ifdef H5_HAVE_FILTER_SCALEOFFSET 00077 /* 00078 * scaleoffset filter 00079 */ 00080 H5_DLLVAR H5Z_class_t H5Z_SCALEOFFSET[1]; 00081 #endif /* H5_HAVE_FILTER_SCALEOFFSET */ 00082 00083 /* Package-local function prototypes */ 00084 H5_DLL void H5Z_update_class_vers(H5Z_class_t * old_vers, H5Z_class_t * curr_vers); 00085 00086 #endif /* _H5Zpkg_H */ 00087