h5dump.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 #ifndef H5DUMP_H__
00016 #define H5DUMP_H__
00017 
00018 #include "hdf5.h"
00019 
00020 #define H5DUMP_MAX_RANK     H5S_MAX_RANK
00021 
00022 #define ATTRIBUTE_DATA  0
00023 #define DATASET_DATA    1
00024 #define ENUM_DATA       2
00025 #define COL             3
00026 
00027 /* Strings for output */
00028 #define ATTRIBUTE       "ATTRIBUTE"
00029 #define BLOCK           "BLOCK"
00030 #define SUPER_BLOCK     "SUPER_BLOCK"
00031 #define COMPRESSION     "COMPRESSION"
00032 #define CONCATENATOR    "//"
00033 #define COMPLEX         "COMPLEX"
00034 #define COUNT           "COUNT"
00035 #define CSET            "CSET"
00036 #define CTYPE           "CTYPE"
00037 #define DATA            "DATA"
00038 #define DATASPACE       "DATASPACE"
00039 #define EXTERNAL        "EXTERNAL"
00040 #define FILENO          "FILENO"
00041 #define HARDLINK        "HARDLINK"
00042 #define NLINK           "NLINK"
00043 #define OBJID           "OBJECTID"
00044 #define OBJNO           "OBJNO"
00045 #define S_SCALAR        "SCALAR"
00046 #define S_SIMPLE        "SIMPLE"
00047 #define S_NULL          "NULL"
00048 #define SOFTLINK        "SOFTLINK"
00049 #define EXTLINK         "EXTERNAL_LINK"
00050 #define UDLINK          "USERDEFINED_LINK"
00051 #define START           "START"
00052 #define STRIDE          "STRIDE"
00053 #define STRSIZE         "STRSIZE"
00054 #define STRPAD          "STRPAD"
00055 #define SUBSET          "SUBSET"
00056 #define FILTERS         "FILTERS"
00057 #define DEFLATE         "COMPRESSION DEFLATE"
00058 #define DEFLATE_LEVEL   "LEVEL"
00059 #define SHUFFLE         "PREPROCESSING SHUFFLE"
00060 #define FLETCHER32      "CHECKSUM FLETCHER32"
00061 #define SZIP            "COMPRESSION SZIP"
00062 #define NBIT            "COMPRESSION NBIT"
00063 #define SCALEOFFSET            "COMPRESSION SCALEOFFSET"
00064 #define SCALEOFFSET_MINBIT            "MIN BITS"
00065 #define STORAGE_LAYOUT  "STORAGE_LAYOUT"
00066 #define CONTIGUOUS      "CONTIGUOUS"
00067 #define COMPACT         "COMPACT"
00068 #define CHUNKED         "CHUNKED"
00069 #define EXTERNAL_FILE   "EXTERNAL_FILE"
00070 #define FILLVALUE       "FILLVALUE"
00071 #define FILE_CONTENTS   "FILE_CONTENTS"
00072 
00073 #define BEGIN           "{"
00074 #define END             "}"
00075 
00076 typedef struct h5dump_header_t {
00077     const char *name;
00078     const char *filebegin;
00079     const char *fileend;
00080     const char *bootblockbegin;
00081     const char *bootblockend;
00082     const char *groupbegin;
00083     const char *groupend;
00084     const char *datasetbegin;
00085     const char *datasetend;
00086     const char *attributebegin;
00087     const char *attributeend;
00088     const char *datatypebegin;
00089     const char *datatypeend;
00090     const char *dataspacebegin;
00091     const char *dataspaceend;
00092     const char *databegin;
00093     const char *dataend;
00094     const char *softlinkbegin;
00095     const char *softlinkend;
00096     const char *extlinkbegin;
00097     const char *extlinkend;
00098     const char *udlinkbegin;
00099     const char *udlinkend;
00100     const char *subsettingbegin;
00101     const char *subsettingend;
00102     const char *startbegin;
00103     const char *startend;
00104     const char *stridebegin;
00105     const char *strideend;
00106     const char *countbegin;
00107     const char *countend;
00108     const char *blockbegin;
00109     const char *blockend;
00110 
00111     const char *fileblockbegin;
00112     const char *fileblockend;
00113     const char *bootblockblockbegin;
00114     const char *bootblockblockend;
00115     const char *groupblockbegin;
00116     const char *groupblockend;
00117     const char *datasetblockbegin;
00118     const char *datasetblockend;
00119     const char *attributeblockbegin;
00120     const char *attributeblockend;
00121     const char *datatypeblockbegin;
00122     const char *datatypeblockend;
00123     const char *dataspaceblockbegin;
00124     const char *dataspaceblockend;
00125     const char *datablockbegin;
00126     const char *datablockend;
00127     const char *softlinkblockbegin;
00128     const char *softlinkblockend;
00129     const char *extlinkblockbegin;
00130     const char *extlinkblockend;
00131     const char *udlinkblockbegin;
00132     const char *udlinkblockend;
00133     const char *strblockbegin;
00134     const char *strblockend;
00135     const char *enumblockbegin;
00136     const char *enumblockend;
00137     const char *structblockbegin;
00138     const char *structblockend;
00139     const char *vlenblockbegin;
00140     const char *vlenblockend;
00141     const char *subsettingblockbegin;
00142     const char *subsettingblockend;
00143     const char *startblockbegin;
00144     const char *startblockend;
00145     const char *strideblockbegin;
00146     const char *strideblockend;
00147     const char *countblockbegin;
00148     const char *countblockend;
00149     const char *blockblockbegin;
00150     const char *blockblockend;
00151 
00152     const char *dataspacedescriptionbegin;
00153     const char *dataspacedescriptionend;
00154     const char *dataspacedimbegin;
00155     const char *dataspacedimend;
00156 
00157 } h5dump_header_t;
00158 
00159 
00160 #endif  /* !H5DUMP_H__ */