H5DSpublic.h

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 _H5DSpublic_H
00017 #define _H5DSpublic_H
00018 
00019 
00020 
00021 #define DIMENSION_SCALE_CLASS "DIMENSION_SCALE"
00022 #define DIMENSION_LIST        "DIMENSION_LIST"
00023 #define REFERENCE_LIST        "REFERENCE_LIST"
00024 #define DIMENSION_LABELS      "DIMENSION_LABELS"
00025 
00026 
00027 typedef herr_t  (*H5DS_iterate_t)(hid_t dset, unsigned dim, hid_t scale, void *visitor_data);
00028 
00029 
00030 #ifdef __cplusplus
00031 extern "C" {
00032 #endif
00033 
00034 H5_HLDLL herr_t  H5DSattach_scale( hid_t did,
00035                         hid_t dsid,
00036                         unsigned int idx);
00037 
00038 H5_HLDLL herr_t  H5DSdetach_scale( hid_t did,
00039                         hid_t dsid,
00040                         unsigned int idx);
00041 
00042 H5_HLDLL herr_t  H5DSset_scale( hid_t dsid,
00043                      const char *dimname);
00044 
00045 H5_HLDLL int H5DSget_num_scales( hid_t did,
00046                        unsigned int dim);
00047 
00048 H5_HLDLL herr_t  H5DSset_label( hid_t did,
00049                      unsigned int idx,
00050                      const char *label);
00051 
00052 H5_HLDLL ssize_t H5DSget_label( hid_t did,
00053                       unsigned int idx,
00054                       char *label,
00055                       size_t size);
00056 
00057 H5_HLDLL ssize_t H5DSget_scale_name( hid_t did,
00058                            char *name,
00059                            size_t size);
00060 
00061 H5_HLDLL htri_t H5DSis_scale( hid_t did);
00062 
00063 H5_HLDLL herr_t  H5DSiterate_scales( hid_t did,
00064                           unsigned int dim,
00065                           int *idx,
00066                           H5DS_iterate_t visitor,
00067                           void *visitor_data);
00068 
00069 H5_HLDLL htri_t H5DSis_attached( hid_t did,
00070                        hid_t dsid,
00071                        unsigned int idx);
00072 
00073 
00074 
00075 #ifdef __cplusplus
00076 }
00077 #endif
00078 
00079 #endif